본문 바로가기
관/핫한 닷지 프로젝트 게임개발

닷지 프로젝트 오브젝트 기초 03(플레이어 만들기).

by 4차원 박스 2020. 7. 13.

이제 플레이어를 만들어 본다.
(다음 포스팅에서 스크립트를 사용할 예정 이번 포스팅에선 오브젝트와

컴포넌트를 본다). 

원하는 플레이어의 기능은 
1. 파란 캡슐모양
2. 화살표 또는 wasd키로 움직일 수 있다
3. 총알에 맞으면 죽는다.

오브젝트를 캡슐하나 생성하고 
이름을 Player
위치 0,1,0 으로 한다.


벽을 만들때와 같은 방식으로 머터리얼을 만들어 
플레이어의 색깔을 만든다.
(머터리얼은 오브젝트에 끼는 컴포넌트이므로 하이어라키 창이 아니라
우측의 에셋창에서 만드는걸 잊지않는다).


이름을 Player Color으로 하고
알베도를 0,100,164
후 플레이어에 드래그드롭한다.


추후 총알을 만들때 탄알과 플레이어를 구분하는
즉 오브젝트를 구분하는 방법은 태그를 이용한다.

태그 = 게임 오브젝트를 분류하고 코드에서 게임 오브젝트를 구별하는데 사용된다.

플레이어의 오브젝트에서 새로 만들거나 있으면 그냥 플레이어를 사용하여 선택해준다.
이걸로 총알이 플레이어 오브젝트와 충돌할때만 게임오버가 나오게 할 수 있다.
총알 입장에서 충돌한 상대방 게임오브젝트의 태그가 플레이어인지 체크만 하면 되기 때문이다.


이제 플레이어를 움직이기 위해 물리적인 힘과 속력을 만들어준다
리지드바디 컴포넌트로 이를 할 수 있다.
add component 창에서 rigidbody를 선택해준다.


이제 플레이어 오브젝트는 물리 상호작용이 가능하다.
플레이어가 캡슐형태 이므로 넘어질수 있게된것도 알아야한다.

플레이어가 넘어지지 않게 제약하는 옵션을 리지드바디에서 선택한다.
Constraints 로 어떤 축의 위치나 회전이 변경되지 않게 고정할 수 있다.
위치 축 에서 3차원을 나타내는 y축을 고정시킨다(흔히 보는 수학의 z축이다)
회전 축은 오뚝마냥 와리가리 하지 않게 x,z축을 고정시킨다(흔히 수학의 x,y축이다. 돌게되면 팽이처럼 돌기만 할것이다.)


이것으로 player오브젝트의 높이 변경이 되지 않고 y축으로만 회전이 가능해졌다.

리지드바디의  Constraints 옵션을 사용하면
물리적인 상호작용으로 위치나 회전이 변경되는 것을 막을수 있으나 
트랜스폼 컴포넌트(기본으로 주어지는 위치 회전 크기 담당 컴포넌트)에서의 변경은
막을수 없다.

댓글