유니티 일기
Vector3 클래스에서 제공하는 이동 함수
mky
2025. 8. 24. 16:28
using UnityEngine;
public class LifeCycle : MonoBehaviour
{
Vector3 target = new Vector3(8, 0.6f, -3.77f);
void Update() // 프레임(로직), 환경에 따라 실행 주기가 떨어질 수 있음
{
//1. MoveTowards : 등속 이동, (현재위치, 목표위치, 속도)
transform.position =
Vector3.MoveTowards(transform.position, target, 1f);
//2. SmoothDamp : 부드러운 감속 이동, (현재위치, 목표위치, 참조속도, 속도), 마지막 매개변수에 반비례하여 속도 증가
Vector3 velo = Vector3.zero;
transform.position =
Vector3.SmoothDamp(transform.position, target, ref velo, 0.1f); //ref: 참조 접근 -> 실시간으로 바뀌는 값 적용 가능
//3. Lerp : 선형보간, SmoothDamp보다 감속시간이 김. (시작위치, 목표위치, 보간계수(0~1)), 마지막 매개변수에 비례하여 속도 증가
transform.position =
Vector3.Lerp(transform.position, target, 0.05f);
//4. Slerp : 구면선형보간, 호를 그리며 이동, Lerp보다 감속시간이 더 김. (시작위치, 목표위치, 보간계수(0~1)), 마지막 매개변수에 비례하여 속도 증가
transform.position =
Vector3.Slerp(transform.position, target, 0.05f);
}
}
골드메탈님의 유튜브 강의 내용을 정리해보았다.