유니티 공부.. 잡스런거 + 골드메탈강의 . 이동
unity 유니티 공부 2024. 11. 14. 14:56 |씨샵에서 % 는 나누기를 한 나머지 값임
나머지가 1이면 홀수
0이면 짝수 로 구분 지을 수 있음
상대의 HP가 홀수인 경우 데미지 증가 이런 스킬 만들 때 씀
+
목표 지점으로 이동하는 방식엔 4가지 방식이 있음
MoveTowards() | 일정한 이동 | 딱딱함 |
SmoothDamp() | 부드러운 이동 | 이지아웃 부드럽게 감속 |
Lerp() | 선형보간 이동 | 정석 보간법 티가 덜 나는 이지이즈 이지아웃 |
Slerp() | 구면보간 이동 | 아치형(호)를 그리며 이동 둥그럽게 부드럽게 |
+
using Unity.VisualScripting;
using UnityEngine;
public class mov : MonoBehaviour
{
Vector3 target = new Vector3(8.0f, 1.5f, 0);
void Update()
{
transform.position =
Vector3.MoveTowards(
transform.position,
target,
0.3f
// 이게 속도임
// 8f 이렇게 값을 올리면 느려짐
);
}
}
MoveTowards() 예시
MoveTowards( 현재위치, 목표위치, 속도 ) 로 구성되어 있다
target 은 업데이트 위 벡터3타겟으로 미리 지정함
using Unity.VisualScripting;
using UnityEngine;
public class mov : MonoBehaviour
{
Vector3 target = new Vector3(8, 1.5f, 0);
void Update()
{
Vector3 velo = Vector3.zero;
transform.position =
Vector3.SmoothDamp(
transform.position,
target,
ref velo,
0.3f
);
}
}
SmoothDamp() 예시
SmoothDamp (현재위치, 목표위치, 참조속도, 속도) 로 구성됨
스무스 뎀프만
중간에 ref velo 를 신경써야 하니까 주의할것
using Unity.VisualScripting;
using UnityEngine;
public class mov : MonoBehaviour
{
Vector3 target = new Vector3(2.5f, 1.5f, 0);
void Update()
{
Vector3 velo = Vector3.zero;
transform.position =
Vector3.Lerp(
transform.position,
target,
0.005f
//숫자를 줄일수록 느리게 이동
);
}
}
Lerp() 예시
Lerp ( 현재위치, 목표위치, 속도 ) 로 구성되어 있다
using Unity.VisualScripting;
using UnityEngine;
public class mov : MonoBehaviour
{
Vector3 target = new Vector3(2.5f, 1.5f, 0);
void Update()
{
Vector3 velo = Vector3.zero;
transform.position =
Vector3.Slerp(
transform.position,
target,
0.005f
);
}
}
Slerp() 예시
Slerp ( 현재위치, 목표위치, 속도 ) 로 구성되어 있다
반응형