[方法] Unity 实现仿《原神》第三人称跟随相机 v1.0

参考网址:【Unity中文课堂】RPG战斗系统Plus

在Unity游戏引擎中,实现类似《原神》的第三人称跟随相机并非易事,但幸运的是,Unity为我们提供了强大的工具集,其中Cinemachine插件便是实现这一目标的重要工具。Cinemachine是一款专为Unity设计的相机控制插件,它提供了丰富的预设和灵活的相机控制选项,本篇我们会利用Cinemachine中的FreeLook Camera来作为第三人称跟随相机,它允许玩家从角色的背后观察游戏世界,增加了游戏的视野和代入感。

1. 下载Cinemachine插件

依次单击Unity的顶部菜单栏Window | Package Manager 打开包管理器,选择Packages 为Unity Registry ,然后搜索 Cinemachine,将其下载到项目中。

2. 设置相机的跟随目标

在Hierachy 面板里通过单击Cinemachine | FreeLook Camera 来添加一个第三人称相机,然后创建一个空对象 ++Cameras++ ,并将 ++FreeLook Camera++ 和 ++Main Camera++ 作为子对象放在进去。

我们在玩家对象里创建一个名为 ++CameraTarget++ 的空子对象作为相机的跟随和观察目标,并将其移动到角色的腹部位置:

选中 ++FreeLook Camera++ ,在Inspector 面板的 CinemachineFreeLook 组件里把跟随目标和观察目标都设置为*++CameraTarget++* ,如下图所示:

3. 相机参数配置

3.1. 镜头环绕移动

默认情况下,镜头的上下左右的环绕移动是颠倒的,我们需手动将其改正过来:

3.2. 设置相机的活动范围

选中 ++FreeLook Camera++ ,在 Scene 面板中环绕角色的红线则为相机的移动轨道,它表示相机的可活动范围,如图所示:

我们可通过 TopRig 、MiddleRig 、BottomRig 来分别调节相机的顶部、中部、底部的活动范围:

一般情况下,TopRig 和 BottomRig 的 Radius 我们都设置为0 ,然后 TopRig 的 Height 一般都高出三个模型左右:

BottomRig 的 Height 设置在正好到模型的脚底:

MiddleRig 的 Height 一般都设置得高出模型一头,且 Radius 要尽量宽广:

最终效果如GIF所示:

相关推荐
tealcwu1 天前
【Unity基础】为什么游戏需要物理按键映射?从 Unity Input Manager 到跨引擎输入设计
java·游戏·unity
tealcwu2 天前
【Unity高级】Unity URP:构建同时支持 2D 与 3D 场景的项目完全指南
3d·unity·游戏引擎
淡海水2 天前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
小小数媒成员2 天前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
暴走约伯2 天前
【VFX工具链源码拆解 04】拯救丢失的绑定:Timeline 一键克隆与层级相对路径重映射算法
unity·c#·游戏引擎·硬件工程
小小数媒成员2 天前
Unity UGUI布局组件(LayoutGroup、ContentSizeFitter、LayoutElement)详解
unity·游戏引擎
tealcwu2 天前
【Unity基础】Unity输入与Time.deltaTime的使用原则
unity·游戏引擎
chen_2272 天前
godot做仪表hmi
游戏引擎·godot
郝学胜-神的一滴3 天前
AI 编程智能体 22:解析器赋能与实战落地全指南
人工智能·程序人生·游戏·unity·游戏引擎
BuHuaX3 天前
Lua 与 ToLua:运行机制及热更新原理
开发语言·unity·junit·c#·lua