유니티에서 캐릭터를 움직이거나 물체를 다른 위치로 이동시키거나 할때
끊김 없이 부드럽게 움직이게 하는 방법중 하나가 Vector3.Lerp 함수 입니다.
이는 선형보간이라는 방법을 사용하는건데
두 벡터 간 사이에 위치한 값을 추정하기 위해 직선 거리에 따라 선형적 계산을 하는 방법입니다
Reference : https://docs.unity3d.com/ScriptReference/Vector3.Lerp.html
Vector3.Lerp는 3가지 파라미터값을 가집니다
첫번째 시작하는 포인트, 두번째 끝나는 포인트, 세번째 이 두 포인트 사이에 얻고 싶은 값의 위치(이는 비율로 중간 값을 얻고 싶다면 0.5를 넣습니다)
저의 경우 최근 캐릭터 손을 움직이게 하기 위해 사용했는데
rightArmTarget.localPosition = Vector3.Lerp(rightArmTarget.localPosition, rightArmEndPosForCutting, Time.deltaTime * cuttingSpeed);
오른쪽 손의 local position을 지정한 rightArmEndPosForCutting(Vector3) 지점으로 이동시키는 함수를 작성했었습니다
'Unity' 카테고리의 다른 글
[Unity] 캔버스 랜더모드(Canvas RenderMode) (0) | 2024.11.22 |
---|---|
Unity New InputSystem 사용방법 (0) | 2024.11.22 |
Unity Animation Rigging - Two Bone IK Constraint 사용방법 (12) | 2024.11.11 |
Generic Animation Type의 3D Model에 Avatar Mask 적용시키는 방법 (0) | 2024.11.07 |
Custom Unity Package를 UPM으로 배포하는 방법 (0) | 2024.07.16 |