* Vector 3에서 정해주는 이동함수 4가지.
사용방법
- Vector3.이동함수 (현재위치, 목표위치, 시간 or 속도)
1. MoveTowards()
- 단순 등속이동
transform.position = Vector3.MoveTowards(현재위치, 목표위치, 속도)
2. SmoothDamp()
- 거리에 비례한 감속 이동 (가까워질수록 느려짐)
- ref는 참조 접근... 실시간으로 바뀌는 값에 적용이 가능하다.
- 속도변수에 반비례하여 속도가 증가한다.
Vector3 velo = Vector3.zero; ----- (0,0,0)을 의미
transform.position = Vector3.SmoothDamp(현재위치, 목표위치, ref velo, 속도);
참조개념.
3. Lerp()
- 선형 보간 이동
- 선형보간이란 두 끝점의 값이 주어졌을 때, 두 점을 이은 선분안의 값을 추정하여 반환하는 것.
- 속도변수에 비례하여 속도 증가(최대값 1... 0~1)
- SmoothDamp보다 감속시간이 길다.
transform.position = Vector3.Lerp(현재위치, 목표위치, 속도)
4. Slerp
- 구면 선형 보간 이동
- 구면 선형 보간이란 두 점 사이의 각을 일정하게 보간하는 것.
- 포물선, 호 형태로 이동.
transform.position = Vector3.Slerp(현재위치, 목표위치, 속도)
★ Time. dletaTime
- 이전 프레임의 완료까지 걸린 시간 (1프레임당 소비되는 시간)
- 컴퓨터 성능에 따라 걸리는 프레임의 시간을 일정하게 보정해주는 역할.
(어떤 컴퓨터에서 작동해도 일정하게 작동하도록 만들어 줌.)
<사용방법>
Translate : 벡터에 곱하기
transform.Translate(vec * Time.deltaTime);
Vector() : 시간(속도) 매개변수에 곱하기
Vector3.Lerp(Vec1, Vec2, T * Time.deltaTime);
'개발자가 되어보자..공부공부 > 개발 일지' 카테고리의 다른 글
C# 유니티 공부 5 - 예제 프로젝트 (3d 물리 이동, Scene 전환, UI, 사운드 삽입, 카메라 이동) (0) | 2022.12.05 |
---|---|
C# 유니티 공부 4 - 물리적인 핵심 Component 4가지. (공을 움직여서 충돌효과를 일으키기, 색 변환/뒤로 튕겨나가기) (2) | 2022.12.03 |
C# 유니티 공부 2 - 마우스/키보드 입력, 오브젝트 수평/수직 이동 (0) | 2022.12.03 |
C# 유니티 공부 1 - 게임오브젝트 흐름 단계 (1) | 2022.12.03 |
C# 문법 복습2. (Class, 생성자, 접근제한자, 속성, 상속, as/is 키워드) (0) | 2022.12.02 |
댓글