本手册介绍如何操作视觉脚本编辑器。
视觉脚本编辑器
术语
- 矩形框 称为 状态。状态代表对象的当前状态。每个状态都分配有一个动画,并包含定义其行为的操作。
- 连接状态的 线条 称为 链接。链接定义状态之间转换的条件。
自定义状态和链接
您可以在 VisualScriptNode 下的检查器中更改每个状态或链接的 颜色、标题 和 备注。
状态类型
1. 初始状态
颜色较亮的状态是 初始状态。当对象的行为开始时,它从该状态启动。
您可以通过右键单击状态并选择“设置为初始状态”来设置初始状态。
2. 快捷状态
带有
图标的状态是 快捷状态。它们被视为与同名原始状态的引用。
要创建快捷方式,请右键单击状态并选择
创建快捷方式,或在选中状态时按
Ctrl + Shift + D。
创建分组框
右键单击空白区域并选择 添加分组框 以插入分组框。
分组框的作用类似于文件夹,允许您组织、移动和折叠状态与链接,以提高可读性。
状态检查器
动画设置
此部分允许您配置在当前状态中播放的动画。
- 继续上一动画:继续播放上一状态的动画。
- 反向播放动画:从结束到开始反向播放指定的动画。
- 选择动画:指定在此状态中播放的动画。仅可选择在 GameObject 节点中预加载的动画。
- 动画朝向方向:指定动画的朝向。如果未指定,则朝向物体当前移动的方向。
动作设置
此部分允许配置移动和物理行为。
- 跳跃:执行跳跃。跳跃力度可在
MoveAndJumpSettings 中配置。
- 使用变量跳跃:允许根据跳跃按钮按住时间的长短来改变跳跃高度。必须在
MoveAndJumpSettings 中设置专用的变量跳跃按钮。
- 忽略输入:在此状态期间禁用移动输入。
- 不受重力影响:在此状态期间部分或完全忽略重力。设置为 100% 可完全忽略惯性。
- 重力方向为朝向方向:根据物体的朝向方向改变重力方向。通常用于向下动画。
- 速度乘数(水平/垂直):在此状态期间按指定百分比改变移动速度。
- 退出时应用 1 帧延迟:在退出状态前添加一帧延迟。这可以防止多个状态之间的瞬间转换。禁用此选项可能对纯计算状态有用。
执行动作设置
此部分涵盖用于管理执行动作的共享机制。此处不解释单个动作。
添加动作
展开动作数组并按 添加执行动作 以插入新动作。
复制动作
右键单击已添加的动作以复制它。
注意:复制选项出现在菜单的很下方。
粘贴动作
增加 大小 值以创建空动作槽。
右键单击空槽并选择 粘贴 以插入复制的动作。
使动作唯一
粘贴的动作是非唯一的,意味着它们是链接的。编辑其中一个也会更新另一个。
右键单击其中一个动作并选择 使唯一 以断开此链接。
注意:此选项也位于菜单的很下方。
链接检查器
优先级
当同一时间存在多个可能的转换时,将选择具有更高优先级值的转换。
切换动作的条件
- SATISFY_ALL:仅当“输入条件”和“其他条件”均满足时,转换才会发生。
- SATISFY_ANY_OF:如果“输入条件”或“其他条件”中任一满足,转换就会发生。
- FINISHED_ANIMATION:当前一状态中的动画播放完毕时,自动进行转换。
- UNCONDITIONAL:无论是否满足任何条件,只要前一状态中的所有动作完成,立即进行转换。
无输入时触发
当没有任何输入被按下(即所有输入均处于中性状态)时,满足此条件。
有输入时触发
当检测到特定输入时,满足此条件。
选择 <empty> 数组并点击添加输入条件以指定输入。
只能选择项目中 InputMap 中注册的输入。
- Registered Key:允许分配特定按键。您可以选择按下、按住、释放或释放按住时触发转换。
- Four Any Input Key:适用于移动转换。分别分配上、下、左、右的按键。这些设置独立于 MoveAndJumpSettings,必须单独配置。
- Command Type:支持格斗游戏风格的指令序列。当在指定的帧数(AcceptFrameCount)内输入如 CommandInput0 → CommandInput1 等指令时,角色进行转换。
在下方的图片示例中,在 5 帧内依次按下 A 和 B 即可满足条件。
条件(其他条件)
在添加、复制和粘贴条件方面,这些条件的工作方式与执行动作类似。
条件之间的逻辑(AND / OR)
- AND:此条件必须在满足前一个条件的基础上额外满足。
- OR:如果此条件或前一个条件任一满足,则此条件成立。
- 注意:逻辑运算符仅从第二个条件开始适用。
组合多个条件
逻辑评估仅基于与前一个条件的连接。
例如,如果您指定:
A AND B OR C AND D
它将被解释为:
(((A AND B) OR C) AND D)
因此,满足条件的情况是:
- A、B 和 D 均为真,或者
- C 和 D 均为真。