オブジェクトを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);
}
}
}
コメント