UE4 行为树任务节点
2017-03-08 14:36
239 查看
行为树中最终要的节点就是任务节点,作为行为树的叶子节点,它主管了所控制actor的所有动作行为信息。比如我们需要控制一个角色移动,攻击,等待,或者逃跑等等,这些动作都需要放进任务节点中。当然在UE4中,除了我们自己建立的任务节点外,还有系统为我们默认设置的一些节点,比如等待节点,运行另外一个行为树节点,播放声音节点,详情可以参考https://docs.unrealengine.com/latest/CHN/Engine/AI/BehaviorTrees/NodeReference/Tasks/index.html。
这里我主要写一下行为树任务节点刚开始学习时候的一些注意的部分。
1. 首先控制应该写在 Event Receive Execute 或 Event Receive Execute AI中,推荐使用后者,跟装饰器时候的原因相同,后者在AI行为树中使用比较方便。
2. 任务节点必须用 Finish Execute 事件作为结束回调,不然行为树运行到该节点时候,不会产生返回,永远的卡在该节点上。
3. 为了防止任务节点卡主,可以在任务节点加上 timelimit的装饰器节点,强制其在一定时间内结束。
如下图:
再附一张任务节点在行为树中运行的样子,
还需要注意的一点是,当任务节点在运行时候,其他的节点并不会执行,比如该任务节点需要运行10秒,但是运行了5秒的时候,有其他数据发生了变化,那么它需要在10秒后才能对该节点做出反应。所以尽量把任务节点细化到比较短的时间段内,这样才能让AI比较快速的反应数据的变化。
这里我主要写一下行为树任务节点刚开始学习时候的一些注意的部分。
1. 首先控制应该写在 Event Receive Execute 或 Event Receive Execute AI中,推荐使用后者,跟装饰器时候的原因相同,后者在AI行为树中使用比较方便。
2. 任务节点必须用 Finish Execute 事件作为结束回调,不然行为树运行到该节点时候,不会产生返回,永远的卡在该节点上。
3. 为了防止任务节点卡主,可以在任务节点加上 timelimit的装饰器节点,强制其在一定时间内结束。
如下图:
再附一张任务节点在行为树中运行的样子,
还需要注意的一点是,当任务节点在运行时候,其他的节点并不会执行,比如该任务节点需要运行10秒,但是运行了5秒的时候,有其他数据发生了变化,那么它需要在10秒后才能对该节点做出反应。所以尽量把任务节点细化到比较短的时间段内,这样才能让AI比较快速的反应数据的变化。
相关文章推荐
- UE4 行为树服务节点(Service)简单使用说明
- Unity+Behavior Tree行为树 Behavior Designer 任务条件节点(五)
- UE4蓝图节点翻译--- Get All Child Actors
- UE4蓝图节点翻译---Add Pawn Sensing Component
- UE4蓝图节点目录翻译【目录】--- Actor
- UE4蓝图节点文档翻译【目录】--- Game
- UE4蓝图节点文档翻译【目录】--- AI
- activiti 任务节点 处理人设置
- UE4简单的用行为树做的AI
- JBPM4.4 使用泳道动态指定下一个任务节点任务人的两种方式之方法二
- 【JBPM4】任务节点-任务分配assignee
- Activiti工作流会签与获取下一节点任务信息
- UE4蓝图节点文档翻译【目录】--- User Interface
- UE4蓝图节点文档翻译【目录】--- Add Component
- UE4蓝图API翻译【节点】--- Get All Actors with Tag
- Jenkins实战演练之Windows节点任务配置
- hadoop节点运行的reduce和map任务数
- UE4蓝图节点文档翻译【目录】--- Expandable Area
- UE4蓝图节点文档翻译【目录】--- Media
- UE4蓝图节点文档翻译【目录】--- Physics