【Unity】オブジェクトのLerp移動コードの書き方!

オブジェクトを2点間でスムーズに移動させるLerp(線形補間)を使用したスクリプトを紹介します。このスクリプトを使えば、オブジェクトが一定時間内に目標地点までスムーズに移動します。

using UnityEngine;

public class LerpMovement : MonoBehaviour
{
    public Transform pointA;
    public Transform pointB;
    public float lerpTime = 2f;
    private float currentLerpTime;
    private bool isLerping;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.L))
        {
            isLerping = true;
            currentLerpTime = 0f;
        }

        if (isLerping)
        {
            currentLerpTime += Time.deltaTime;
            if (currentLerpTime >= lerpTime)
            {
                currentLerpTime = lerpTime;
                isLerping = false;
            }

            float perc = currentLerpTime / lerpTime;
            transform.position = Vector3.Lerp(pointA.position, pointB.position, perc);
        }
    }
}

コメント

タイトルとURLをコピーしました