30 lines
801 B
C#
30 lines
801 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class CameraSmoothMove : MonoBehaviour
|
|
{
|
|
|
|
public Transform startPoint; // 起始点
|
|
public Transform endPoint; // 终点
|
|
public float duration = 5f; // 移动所需的时间(秒)
|
|
|
|
private float elapsedTime = 0f; // 记录已经过去的时间
|
|
|
|
void Update()
|
|
{
|
|
// 确保起始点和终点存在
|
|
if (startPoint != null && endPoint != null)
|
|
{
|
|
// 更新经过的时间
|
|
elapsedTime += Time.deltaTime;
|
|
|
|
// 计算摄像机的位置:根据时间比例计算当前位置
|
|
float t = Mathf.Clamp01(elapsedTime / duration);
|
|
|
|
// 使用 Lerp 平滑过渡摄像机的位置
|
|
transform.position = Vector3.Lerp(startPoint.position, endPoint.position, t);
|
|
}
|
|
}
|
|
}
|