반응형
[서문]
캐릭터가 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);
이 코드를 위와 같이 바꿔주면 떨림 현상이 사라지게 됩니다.
반응형
'[Unity] > [Unity]' 카테고리의 다른 글
[Unity] 유니티 저장 파일명 변경 방법(Project Settings) (0) | 2021.03.02 |
---|---|
[Unity] 유니티 저장 경로(dataPath, streamingAssetsPath, persistentDataPath 경로와 차이점) (3) | 2021.03.01 |
[Unity] Spine : 스파인 레이어(Order In Layer) 변경 코드 (1) | 2021.02.24 |
[Unity] RigidBody : Collider를 만들었는데 벽을 통과할 때 (0) | 2021.02.22 |
[Unity] PlayerPrefs : 간단한 데이터 저장 (0) | 2021.02.20 |