从零开始学习Unity学习笔记:Day12 下坠死亡:相机停止跟随、延时重置场景

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

相机停止跟随

添加脚本

为了实现下坠死亡时相机停止跟随的效果,我们需要在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窗口中将场景文件拖拽进来)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值