본문 바로가기
Unity/Activities

[유니티] 플레이어 이동 및 충돌, 떨림

by 김 원 2024. 4. 10.

# 플레이어 이동 및 충돌, 떨림

- 플레이어가 콜라이더를 가지고 있는 벽오브젝트와 충돌 중일 시 떨리는 현상이 발생해 이를 해결하고자 하였다.

 

   - 1. 플레이어 이동 함수를 다양한 방법으로 시도한다. 

      - transform.Translate를 사용한 위치 이동

         - 해당 방법은 이동 속도가 조금이라도 빠를 시 벽을 뚫는 현상이 발생했다.

            - 찾아보니 해당 함수는 물리적 충돌은 고려되지 않고 단순한 위치 값을 이동한다고 한다. 

      - rigidbody.AddForce를 이용한 위치 이동 -> 움직임이 해당 게임이랑 어울리지 않았음.

      - rigidbody.velocity를 이용한 위치 이동 ->움직임이 해당 게임이랑 어울리지 않았음.

-> 참고 자료 : https://inyongs.tistory.com/17

 

   - 2. rigidbody 컴포넌트 설정 변경 -> 본인의 프로젝트 경우 해당 방법으로 해결되지 않음.

      - Interpolate의 옵션을 Extrapolate로 변경

      - Collision Detection의 옵션을 Continuous로 변경, 그래도 나아지지 않는다면 Continuous Dynamic으로 변경

-> 참고 자료 : https://geukggom.tistory.com/5

 

   - 3. 피직스 머테리얼 사용 -> 본인의 프로젝트 경우 해당 방법으로 해결되지 않음.

      -   콜라이더 Material 항목에 Physic Material 생성 및 적용

          -   Physic Material 항목에 Bounciness 항목에 0 기입

-> 참고 자료 : https://ssscool.tistory.com/702

 

   - 4. Character Controller 컴포넌트 사용  -> 기본적인 문제는 해결되었으나 움직임이 마음에 들지 않았음.

      -  Capsule Collider를 내장하고 있다는 특징이 있음.

-> 참고 자료 : https://sshoreng.tistory.com/122

 

   - 4. Raycast 사용

      - 플레이어가 이동하려는 방향으로 레이를 쏴 벽이 있는지 검사 후 이동하는 방법으로 해결했다.

      - 레이는 다른 게시글에 더 자세히 정리할 예정


- 같이 참고하면 좋은 게시글 : https://velog.io/@yarogono/Unity-%EC%BA%90%EB%A6%AD%ED%84%B0%EA%B0%80-%EB%B2%BD%EC%9D%84-%ED%86%B5%EA%B3%BC%ED%95%98%EB%8A%94-%EB%AC%B8%EC%A0%9C

'Unity > Activities' 카테고리의 다른 글

[유니티] 네비게이션메시  (1) 2024.04.10
[유니티] 레이캐스트  (1) 2024.04.10
[유니티] 조명  (0) 2024.04.09
[유니티] 메테리얼  (0) 2024.04.09
[유니티] 데칼  (0) 2024.04.08