본문 바로가기
유니티/3D RPG

01 캐릭터 이동

by 노오오오오옹 2019. 12. 5.

 기능

일단 모바일 플랫폼이지만 쉬운 테스트를 위해 키보드 기준으로 작성한다.

 

1. wsad를 통해 horizontal과 vertical 값들을 계산한다.

2. horizontal과 vertical값을 통해 방향과 이동거리를 도출한다.

3. Player의 Rigidbody에 방향 * 이동 속도 * 이동 거리를 계산한다.

 

! 움직이는 방향으로 캐릭터를 회전한다.

! 달리기와 걷기는 구분한다.

 

+ 추락 상태

 

 코드

더보기
입력 부분과 함수를 구분한다.
캐릭터 하단에서 빛을 쏴서 땅이 인식이 되면 떨어지는 중이 아니다.
wsad로 구한 값으로 방향과 이동 거리를 구한다. 

 

 작동 과정

생각해보니 달리기 기능은 모바일에서 필요없네ㅁㄴㅇㄹ

 

 리펙토링

기능은 구현되었지만 코드가 너무 지저분하다. 조건문, 명칭, 스코프 등을 넣어 직관성을 높인다.

 

더보기
FixedUpate()와 Update() 계산 영역을 나눈다. 
조건문을 길게 적지말고 함수로 추출한다. bool 변수는 프로퍼티를 이용해 명확히한다.
같은 기능은 region으로 묶는다. 비슷한 영역끼리 메소드로 추출한다. bool 변수는 프로퍼티를 사용하고, bool 에 따라 값이 바뀔경우 추출한다.

 

 

'유니티 > 3D RPG' 카테고리의 다른 글

06 자동 테스트 구현  (0) 2019.12.15
05 대화 시스템  (0) 2019.12.14
04 인벤토리  (0) 2019.12.10
03 플레이어 스텟  (0) 2019.12.09
02 상호작용  (4) 2019.12.06

댓글