Unity 5로 '유니티 입문' 6장 캐릭터 액션 게임 예제
따라하기.
- 스크립트로 애니메이션 구현 부분에서 막혔었다.
Unity 4에서 5로 넘어오며 스크립트의 코딩 방식이
(animation.Play("Walk");에서 GetComponent.<Animation>().Play("Walk");로
변경된 모양.
- 캐릭터 오브젝트를 선택한 상태에서 메뉴의 Component-Physics-Character Controller를
클릭하여 캐릭터 오브젝트에 캐릭터 컨트롤러를 추가시킨 뒤 스크립트로 캐릭터 컨트롤러 제어하기.
애니메이션 부분은 일단 미뤄두고 키보드 조작에 따라 캐릭터 방향전환, 걷기, 점프하기는 성공.
- 웹 서핑으로 간신히 애니메이션 가능하게 하는 법을 찾았다.
fbx에서 Rig 탭의 Animation Type을 Generic에서 Legacy로 바꾸고
Animations탭에서 Wrap Mode를 Loop로 설정하니 이전 방식으로 작동했다.
- 꽤 짜증났던 유니티 코드 에디터인 MonoDevelop의 괄호 칠 때마다 에러 가 뜨는 현상에대한
대처법을 웹서핑으로 발견했다. 메뉴의 Tools-Options, Text Editor-General탭에서
Coding-Enable Parameter Insight의 체크를 해제하면 되는 것이었다.
- 코인과 철퇴 fbx 파일 프로젝트에 추가, 각각 Component-Physics-Sphere Collider,
Rigidbody 추가, 캐릭터 쪽으로 가속하는 스크립트(ShortMoveController.js) 추가.
- 반경 5.5 원 중 랜덤한 위치에서 30%확률로 코인, 70%확률로 철퇴 발생시켜 캐릭터쪽으로 다가오게 하는
스크립트(Generator.js) 추가.
- 새 레이어 'Character', 'Moving Objects'를 만들어 주인공 레이어를 'Character'로,
동전과 철퇴 프리팹의 레이어를 'Moving Objects'로 설정. Edit-Project Settings-Physics에서
Character와 MovingObjects가 교차하는 부분의 체크를 해제하여 주인공과 철퇴,동전의 충돌처리를
하지않게 처리.
- 주인공-Character에 Capsule Collider 추가하고 Is Trigger 체크. Coin.js,
Spike.js 스크립트를 각각 동전, 철퇴 프리팹에 추가하여 주인공과 충돌시 동전일 경우 점수를, 철퇴일 경우
데미지를 송신하고 소멸되게 처리.
- PlayerStatus.js 스크립트를 주인공-Character에 추가, 코인 취득시 점수 추가, 철퇴
충돌시 데미지 입게 하고 OnGUI()함수로 화면에 표시하게 처리...했는데 동전, 철퇴와 주인공 사이 충돌체크가
안되어 헤메다.
- 충돌체크가 안되는 문제 해결: GenericMan만 레이어를 Character로 하고 하위의
Character, Root 등은 모두 레이어를 Default로 바꿔주니 제대로 작동된다. 이렇게
된 이유는 처음 GenericMan에 레이어를 적용할 때 하위 오브젝트들도 동일하게 레이어를 적용할꺼냐고 묻는
알림문구에 Yes를 눌러 하위 오브젝트들도 모두 Character 레이어로 되었던 것.
- 철퇴와 충돌시 주인공 붉은색으로 깜빡거리게 처리(DamageEffect.js).
- 코인, 철퇴 충돌시, 주인공 사망시의 이펙트 프리팹 만들기.
- GUI 스킨 설정하여 화면 표시 Life, Score 텍스트 표시 다듬기.
- 사운드 효과와 배경음악 넣기.
15/8/10 월
|