Post

KDT Unity 5주차 팀 프로젝트

2024-01-26 TIL

플레이어를 천천히 따라오게 하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[SerializeField] private float speed = 1.0f; // 이 오브젝트가 따라갈 속도를 설정합니다.
[SerializeField] private Transform parent; // 이 오브젝트가 따라갈 대상인 부모 오브젝트의 Transform을 설정합니다.

// FixedUpdate는 Unity의 물리 업데이트마다 호출됩니다. 이 경우, '따라가는' 오브젝트가 부모 오브젝트를 따라가는 작업을 수행하게 됩니다.
void FixedUpdate()
{
    Follow();
}

// 이 오브젝트가 부모 오브젝트를 따라가는 행동을 구현하는 메서드입니다.
private void Follow()
{
    // Vector3.Lerp는 선형 보간 방법을 사용하여 두 위치 사이의 값을 계산합니다.
    // 여기서는 현재 오브젝트의 위치부터 부모 오브젝트의 위치까지, Time.fixedDeltaTime * speed 비율만큼 이동하게 됩니다.
    // 이렇게 하면 프레임 레이트에 관계없이 일정한 속도로 오브젝트를 움직일 수 있으며, 부모 오브젝트에 빠르게 도달하지 않고 부드럽게 이동하게 됩니다.
    // 선형 보건이란 첫 번째 인자와 두 번째 인자 사이에서 세 번째 인자(0 ~ 1 사이의 값(비율))에 해당하는 위치의 값을 반환합니다.
    // 예를 들어 0과 100이 있고 0.3의 값이 있다면 선형보간을 했을시 30이 나옵니다.
    transform.position = Vector3.Lerp(transform.position, parent.position, Time.fixedDeltaTime * speed);
}



This post is licensed under CC BY 4.0 by the author.