반응형
Unity 이동시키는 여러가지 방법들
void Update()
{
vector3 target=new Vector3(x,y,z);
float speed = 1f;
1. moveTowards()
-일정한 이동
speed값이 커질수록 target으로 이동하는 속도가 빨라진다.
transform.position = vector3.MoveTowords(transform.position,target,speed);
2.SmoothDamp()
-부드러운 감속 이동 목표지점에 도달하기직전에 속도를 줄여 감속하여 이동하듯이 이동한다.
speed값에 반비례하여 이동하여 속도가 작을수록 이동하는 속도가 줄어든다.
transfom.position = Vector3.SmoothDamp(transfom.position,target, ref velo,speed); //ref:참조 접근 ->실시간으로 바뀌는 값 적용가능
3.Lerp()
-선형보간 이동
speed값이 커지면 이동 속도가 빨라진다.
transform.position = Vector3.Lerp(transfom.position,target,speed);
4.Slerp()
-구면 선형 보간이동 포물선으로 이동한다. target과 나 사이에 중심점을 잡고 호를 그리며 이동한다.
transform.position = Vector3.Slerp(transform.position,target,speed)
}
반응형
'Unity' 카테고리의 다른 글
[Unity] 레이캐스트(RayCast) 정리 (0) | 2021.06.25 |
---|---|
[Uinty3D] 마우스 클릭 좌표 구하기 (2) | 2021.06.25 |
[Unity] float사용에 유의점 (0) | 2021.05.15 |
[Unity] Rigidbody.velocity로 움직이기 (0) | 2021.03.25 |
Unity(2)- GetAxisRaw를 사용하여 오브젝트 이동시키는 방법 (0) | 2020.09.01 |