# 플레이어 이동 및 충돌, 떨림
- 플레이어가 콜라이더를 가지고 있는 벽오브젝트와 충돌 중일 시 떨리는 현상이 발생해 이를 해결하고자 하였다.
- 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 |