Transition Rule 是用来扩展状态机中两个 State 之间转移条件判断的实现方式,主要解决的是:
两个 State 之间的不同转移条件和过渡混合的编辑。
对于 Transition 的生效判断的条件可以不用放在脚本或者 Event Graph 中,而是可以直接在 Transition Rule Graph 中完成。
主要是指两个 State 之间可以添加任意多的 Transition Rule。
可以编辑任何形式的 Graph,只要最终会返回一个 Bool 变量给 Result Node 即可。
Transition Rule 与原有 Condition 可以同时使用。最终是否触发 Transition 的判断逻辑如下:
| Condition | Transition Rule Graph | 触发规则 |
|---|---|---|
| 无 | 无(或 Graph 存在但 Result Node未连接) | 根据是否打开 Has Exit Time 进行判断是否进行转移 |
| 有 | 无(或 Result Node未连接) | 按照 Condition 的条件进行状态转移 |
| 无 | 有(with connection) | 当 Result 为 True 发生状态转移 |
| 有 | 有(with connection) | 满足任意一项即可进行状态转移 |