


源代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class VectorSomothFollow : MonoBehaviour
{
// 声明公共变量,可在Unity编辑器中赋值
public GameObject ThirdCamera; // 需要移动的摄像机对象
public GameObject Target; // 摄像机要移动到的目标位置
public GameObject Player; // 摄像机要朝向的玩家对象
private void Update()
{
// 每帧调用FollowObj函数,实现摄像机的平滑跟随
FollowObj(ThirdCamera, Target, Player);
}
/// <summary>
/// 这个函数实现让Moveder平滑追踪followed
/// 功能:让摄像机平滑移动到目标位置并始终朝向玩家
/// </summary>
/// <param name="Moveder">需要移动的摄像机对象</param>
/// <param name="Target">摄像机要移动到的目标位置</param>
/// <param name="Player">摄像机要朝向的玩家对象</param>
void FollowObj(GameObject Moveder, GameObject Target, GameObject Player)
{
// 使用线性插值(Lerp)平滑移动摄像机位置
// 从当前位置平滑过渡到目标位置,0.2f是插值系数,值越小移动越平滑
Moveder.transform.position = Vector3.Lerp(Moveder.transform.position, Target.transform.position, 0.2f);
// 让摄像机始终朝向玩家对象,保持玩家在视野中心
Moveder.transform.LookAt(Player.transform);
}
}
945

被折叠的 条评论
为什么被折叠?



