[Unity]/[Unity]

[Unity] RigidBody : 캐릭터 충돌 시 떨림 현상

극꼼 2021. 2. 23. 19:31
반응형


 

[서문]

캐릭터가 Collider에 충돌했을 때 생기는 떨림 현상은 캐릭터를 transform.position으로 움직였을 경우 생깁니다.

이는 물리 계산 과정에서 생기는 현상으로, 캐릭터를 RigidBody를 사용해 움직이게 되면 해결됩니다. 

 


[본문]

transform.position = Vector3.MoveTowards(transform.position, transform.position + forPos.normalized, Time.deltaTime * PlayerSpeed);

위의 코드가 원래 캐릭터를 움직였을 때 사용한 코드입니다.

Vector3 forPos는 플레이어의 이동방향이 되겠습니다.

 

myRigid.MovePosition(transform.position + forPos.normalized * Time.deltaTime * PlayerSpeed);

이 코드를 위와 같이 바꿔주면 떨림 현상이 사라지게 됩니다.

 

반응형