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

相关推荐
大模型铲屎官1 小时前
Unity C# 与 Shader 交互入门:脚本动态控制材质与视觉效果 (含 MaterialPropertyBlock 详解)(Day 38)
c语言·unity·c#·交互·游戏开发·材质·shader
工藤新一¹2 小时前
C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 16)
c++·游戏引擎·sdl·c++游戏开发·实践项目
暴走约伯5 小时前
【虚幻5蓝图Editor Utility Widget:创建高效模型材质自动匹配和资产管理工具,从3DMax到Unreal和Unity引擎_系列第二篇】
unity·ue5·游戏引擎·虚幻·材质
一颗橘子宣布成为星球13 小时前
Unity AI-使用Ollama本地大语言模型运行框架运行本地Deepseek等模型实现聊天对话(一)
人工智能·unity·语言模型·游戏引擎
Tandy12356_15 小时前
Godot开发2D冒险游戏——第三节:游戏地图绘制
游戏引擎·godot
一个程序员(●—●)16 小时前
漫反射实现+逐像素漫反射+逐像素漫反射实现
unity·着色器
weixin_4239950019 小时前
unity 读取csv
unity·c#
李詹21 小时前
游戏哪些接口会暴露源IP?_深度解析服务器通信安全隐患
游戏·游戏引擎·cocos2d·3dcoat
EQ-雪梨蛋花汤1 天前
【Flutter】Flutter + Unity 插件结构与通信接口封装
flutter·unity·游戏引擎
折纸星空Unity课堂1 天前
Unity之基于MVC的UI框架-含案例
ui·unity·mvc