Vector3 클래스에는 기본적으로 제공하는 이동함수가 있습니다.
그중 대표적인 4가지는 다음과 같습니다.
일정한 속도로 직선 이동
movetowards(현재위치, 목표위치, 속도)
직선이동 & 도착시 감속
SmoothDamp(현재위치, 목표위치, ref 참조속도, 속도)
선형보간 이동
Lerp(현재위치, 목표위치, 속도)
구면 선형 보간 이동
Slerp(현재위치, 목표위치, 속도)
사용예제
public class Move : MonoBehaviour
{
Vector3 target = new Vector3(8, 1.5f, 0);
void Update()
{
//1. MoveToWards
transform.position = vector3.movetowards(transform.position, target, 1f);
//2. SmoothDamp
Vector3 velo = Vector3.zero; //ref 참조 접근 -> 실시간으로 바뀌는 값 적용 가능
transform.position = Vector3.SmoothDamp(transform.position, target, ref velo, 0.1f); //이놈만 속도가 낮을 수록 빨라짐
//3.Lerp (선형 보간)
transform.position = Vector3.Lerp(transform.position, target, 1f);
//4. SLerp (구면 선형 보간)
transform.position = Vector3.Slerp(transform.position, target, 1f);
}
}
Slerp 작동 결과
'유니티 3D기본(Roll A Ball)' 카테고리의 다른 글
9. 실체와 같은 물체 만들기 (5 컴포넌트) (0) | 2021.10.14 |
---|---|
8. Time.deltaTime (델타타임) (0) | 2021.10.14 |
6. 키 입력과 오브젝트 이동 (0) | 2021.10.13 |
5. 오브젝트 생명 주기(Life cycle) (0) | 2021.10.12 |
4. VS 코드 자동 완성 켜기, 유니티 개발 도구 설치, 테마 변경 (0) | 2021.10.12 |