목록유니티기초 (14)
DNF LOVE
[위치 이동] 사용자 입력을 받는 기능이 여러개이듯, Player를 이동시키는 데에도 여러가지 방법이 존재한다. 이제 그 방법을 알아보도록 하자. Translate 컴포넌트가 있다. 이는 Object의 position, Rotation, Scale을 품고 있는 컴포넌트이다. 이것을 스크립트를 통해 변경할 수 있으며 이를 통해 Object가 이동이 될 수도 있고 방향이 바뀌거나 Scale이 변화될 수 있다. 1. Trasnform의 Position에 직접 접근하여 설정 tranform.position은 오브젝트의 현 위치와 무관하게 Global로 원하는 위치로 이동시키는 방법이다. 상대적 위치가 아닌 절대적 위치라는 뜻이다. tranform.position과 Vector3를 사용하게 되는데 Vector3는..
우선, Player에 붙여있는 하위 컴포넌트들을 받아오도록 하자. 컴포넌트를 받아오기 위해서는 해당 Object에 붙여 있는 스크립트 내 Start, Awake 함수 등 오브젝트가 활성화 되었을 때 1번만 받아와도 된다. 우선 변수들을 PlayerControler 스크립트에 선언하도록 하자. private와 public은 접근 제한자인데 public을 사용하면 해당 인스펙터창에 보여지고, private를 사용하면 인스펙터창에 숨겨져 보인다. public은 인스펙터창에서도 충분히 설정할 수 있는데 이 리지드바디는 어떻게 받아올까? 그것은 바로 활성 함수들을 통해 충분히 받아올 수 있다. Start함수에 Rigidbody rb는 해당 오브젝트(this)의 컴포넌트를 받아오겠다(GetComponent 함수 사..
우리는 기초2번에서 위의 사진과 같은 모습으로 끝냈다. 다음은 스크립트를 Object에 추가하여 사용자 입력에 따라 Player가 이동하는 것을 구현해보도록 하자. 우선 Material때와 동일하게 Project를 통해 Scripts 라는 폴더를 생성하였다. Scripts폴더 안에 오른쪽 마우스 -> Create -> C# Script를 생성해주었고 'PlayerControler'라는 이름으로 스크립트를 생성하였다. (C#은 Script의 이름과 Class의 이름이 동일해야지만 컴파일이 가능함으로 이름 명명에 주의해주길 바란다.) Script 컴포넌트를 붙이는 방법에는, Material처럼 Script를 해당 Object로 끌어오는 방법이 있으며, 이런식으로 인스팩터 창의 Add Component로 직접..