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平齐,看不到完整的背景

相关推荐
AA陈超18 小时前
虚幻引擎UE5专用服务器游戏开发-21 连招技能动画蒙太奇播放
c++·游戏·ue5·游戏引擎·虚幻
一只一只2 天前
Unity 3D笔记——《B站阿发你好》
笔记·3d·unity
SmalBox2 天前
【光照】[PBR][法线分布]GGX实现方法对比
unity·渲染
UWA2 天前
游戏在高负载场景下,整机功耗控制在多少
游戏·unity·性能优化·游戏开发
软件黑马王子2 天前
2025GUI项目实践:Unity编辑模式下GUI运行
游戏·unity·gui
王源骏2 天前
Unity实现网页端 打开本地文件选择图片上传到阿里云的OSS
unity·阿里云·游戏引擎
爱吃小胖橘2 天前
Unity-角色控制器
3d·unity·c#·游戏引擎
新石器程序员2 天前
借鉴bevy实现适用于Godot-rust的状态管理
rust·游戏引擎·godot·bevy
Kaaras2 天前
游戏引擎以及游戏开发
游戏引擎
绀目澄清3 天前
unity3d PuppetMaster 布娃娃插件在学习
unity