相机停止跟随
添加脚本
为了实现下坠死亡时相机停止跟随的效果,我们需要在Cinemachine相机中添加脚本。
像往常一样添加一个Script Machine组件并新建一个可视化脚本:

并删除掉On Start事件节点。
为可视化脚本系统添加Cinemachine节点库
注:Unity 2021.2已经将Cinemachine内置,不需要执行这节的操作了,这里为了以后其他模组可能需要,所以记录一下。
非内置的组件在默认情况下不在可视化脚本系统节点库中,也就是说不能在可视化脚本中创建它的相关节点,需要先将其导入节点库(Node Library)才行。
在菜单栏中选择 Edit → Project Settings,找到Visual Scripting,点击Node Library下的加号来添加需要的组件库,然后点击Regenerate Nodes(重新生成节点)即可。

停止跟随节点
在之前创建好的可视化脚本添加Set Enabled节点:

并取消激活状态,即可实现取消跟随的效果:

注意:不能直接使用Set Follow节点设置为None,会报错“该节点的值不能为空”:

使用场景变量获取玩家状态
仅当Player处于死亡状态(Player对象的Is Dead对象变量为TRUE)时才要触发相机停止跟随的逻辑,因此我们需要在这个脚本中获取Player对象来查询Is Dead对象变量,这可以通过设置Scene Object(场景对象)来实现。
在Blackboard窗口的Scene选项卡下添加一个名为Player的场景变量,并将Type设置为Game Object,然后将Player对象从Hierarchy窗口中拖拽到Blackboard窗口的添加场景变量区:

接着将这个Scene Object变量拖入脚本区即可使用了。最终完整的逻辑如下图所示:

死亡后定时重置场景
接下来的逻辑要添加在Player Dead脚本中:使用Timer节点实现延时指定时间执行,使用Scene Manager节点实现加载当前场景(相当于重置场景)。
比较简单这里就直接上结果:

注意到节点的连接端点对特点的数据类型会表示成同一个颜色,所以连接节点端点的时候必须注意要连接相同颜色的端点才是正确的!
Scene Manager所能管理的场景必须添加到构建场景列表中。可以在菜单栏的File → Build Setting中打开构建设置,点击Add Open Scenes来添加当前打开的场景(也可以从Project窗口中将场景文件拖拽进来)。

这篇博客介绍了如何在Unity中通过可视化脚本实现相机跟随玩家的效果,并在玩家死亡时停止跟随。首先,需要添加ScriptMachine组件和Cinemachine节点库。然后创建可视化脚本,通过SetEnabled节点控制相机跟随状态。当玩家的IsDead变量为真时,相机停止跟随。此外,还展示了如何设置定时器在延迟后重置场景。注意,要确保场景已添加到构建场景列表中。

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



