Unity:Simple Follow Camera(简单相机跟随)

为什么需要Simple Follow Camera?

在游戏开发中,相机(Camera)是玩家的"眼睛"。它的作用是决定玩家看到游戏世界的哪一部分。很多游戏需要相机自动跟随玩家角色,让玩家始终可以看到角色及其周围的环境,而不需要手动调整相机位置。

核心需求:

跟随目标:相机需要实时追踪某个物体(通常是玩家角色),保持一定距离和角度。

"Simple Follow Camera"就是为了满足这个需求而设计的:它是一个基本的相机脚本,让相机自动跟随目标对象,通常用于2D或3D游戏中的简单场景。

实现Simple Follow Camera

cs 复制代码
[SerializeField] GameObject target;
void LateUpdate()
{
    transform.position = target.transform.position + new Vector3(0, 0, -10);
}

让我们一步步拆解:

(1) [SerializeField] GameObject target;

  • SerializeField\]:这是一个属性标记(Attribute),具体介绍可以去看我之前发布的内容,这里不再赘述。

(2) void LateUpdate()

  • LateUpdate:这是一个Unity的生命周期方法,会在每帧的晚期调用(在所有Update方法之后)。为什么用LateUpdate?因为相机通常需要等到所有其他对象(尤其是目标)的位置更新完成后,再调整自己的位置,这样可以避免同步问题。

(3) transform.position = target.transform.position + new Vector3(0, 0, -10);

  • transform.position:这是相机本身的当前位置(Transform组件的属性)。通过设置这个值,你可以直接改变相机在3D空间中的位置。

  • target.transform.position:这是目标对象(target)的当前位置。transform是每个GameObject的组件,存储了位置(position)、旋转和缩放信息。

  • new Vector3(0, 0, -10):这是一个向量,表示相机相对于目标的偏移量。这里偏移量是(0, 0, -10),意思是相机在目标的Z轴方向上向后移动10个单位(X和Y保持不变)。之所以要加上(0,0,-10)的向量,是为了避免视角Z轴与GameObject平齐,看不到完整的背景

相关推荐
benben0444 小时前
Unity3D仿星露谷物语开发34之单击Drop项目
游戏·ui·unity·游戏引擎
妙为4 小时前
unreal engine5开发仿鬼泣5的游戏,把敌人击飞到空中4连击
游戏·游戏引擎·虚幻·仿鬼泣5·空中连击
虾球xz7 小时前
游戏引擎学习第205天
学习·游戏引擎
benben0449 小时前
Unity3D仿星露谷物语开发33之光标位置可视化
游戏·ui·unity·游戏引擎
张屿秋13 小时前
在Unity中,如果物体上的脚本丢失,可以通过编写一个自定义编辑器脚本来查找并删除这些丢失的组件
unity·编辑器·游戏引擎
一个程序员(●—●)1 天前
xLua环境控制+xLua的Lua调用C#的1
开发语言·unity·c#·lua
帮帮志1 天前
05.unity 游戏开发-3D工程的创建及使用方式和区别
3d·unity·游戏引擎
闪电麦坤951 天前
Unity:标签(tags)
unity·游戏引擎
GoMaxAi1 天前
智能体(Agent)系统源码解析:AI 自动化办公的未来
人工智能·unity·自动化