Dodge 게임 제작

김동현·2022년 5월 27일
0

레트로의 유니티 게임 프로그래밍 에센스 책을 보고 탄막 피하기 게임 Dodge를 만들면서 새롭게 알게된 것들을 정리해 보았다.

──────────────────────────────────────────

Material(머터리얼)

프로젝트 창에서 + 버튼을 누르고

Material을 누르면

위 사진과 같이나옵니다.

붉은네모 표시가 되 있는 Albedo 는 반사율 이라는 뜻으로 물체가 어떤 색을 반사할지 결정합니다. 물체 표면의 기본색을 결정한다고 보면 됩니다.

Albedo 옆의 흰색을 클릭하면

원하는 색을 넣을 수 있습니다.

──────────────────────────────────────────

태그 설정

인스펙터 창의 Tag 드롭다운 버튼을 클릭하면 태그를 할당해줄 수 있습니다.
이 게임에서 탄알이 Player 게임 오브젝트와 충돌했을 때만 게임오버가 실행되게 하기 위해서 입니다.

──────────────────────────────────────────

리지드바디 제약 설정

위에서 Player 게임 오브젝트에 Player 태그설정을 해 주었습니다.
근데 이 게임 오브젝트의 모양은 캡슐형태이므로 리지드바디를 그대로 사용한다면 오뚝이처럼 이리저리 넘어질 것 입니다.

이를 막기위해 리지드바디의 제약(Constraints) 옵션을 사용합니다.

영어 해석 그대로 Freeze Position 은 좌표상에서의 고정
Freeze Rotation 은 회전을 고정시킵니다.

──────────────────────────────────────────

Update( )메서드와 프레임

업데이트 메서드는 매 프레임마다 반복 실행됩니다.

만약 60FPS(60프레임) 일 경우 Update( )메서드는 1초에 60번 실행되는 것 입니다.

──────────────────────────────────────────

키 입력 메서드

input.GetKey( ) 메서드는 키보드의 식별자를 KeyCode타입으로 입력받습니다.
input.GeyKey( ) 메서드는 실행될 때 해당 키를 누르고 있으면 true, 그렇지 않으면 false를 반환합니다.


여기서 AddForce( ) 메서드는 힘을 추가합니다. 누적된 힘으로 속도를 점진적으로 증가시키기 때문에 충분히 빨리질 때가지 시간이 걸립니다. 또한 이동중에 반대 반향으로 이동하려는 경우 관성에 의해 힘이 상쇄되어 방향 전환이 금방 이루어지지 않습니다.

다른 메서드를 사용하는것이 좋아보입니다.

input.GetAxis( ) 메서드는 어떤 축에 대한 입력값을 숫자로 반환 해 줍니다.

──────────────────────────────────────────

profile
해보자요

0개의 댓글