感觉用行为树做是不是要节省很多资源啊。用蓝图的时候。EventTick一放,电脑风扇立马就转起来了。
用行为树做一个在场景中漫游带有血条AI的几个步骤:
1.
了解Behave tree, Blackboard, Task
行为树是控制AI在不同环境中的不同行为。
Blackboard是为ai建立各种各样的条件。各种变量。
task是用来存储Ai的行为。相当于一个函数接口。
2. 首先导入AI的模型和动画.创将导入的动画贴图和骨骼分别放入新创建的animation和matierials和texture文件夹。以方便后面管理和修改。
3. 新建角色蓝图,行为树,blackboard,为AI添加task(右键查找BTTask_BlueprintBase)命名为Wander,添加Control(AIcontroll),添加naveigation 。
4. 打开角色蓝图添加模型,并改变碰撞体积。在右方细节菜单中搜索control选择自己刚刚命名的controll。
5. 在Blackboard里面添加变量,TargetPoint(vector),health(float)
6. 设置任务,打开Wander这个task,思路是,先获取自己的位置,然后在范围内随机找点。
节点如下
![]()
新建一个变量命名为Destination(blackboardkey类型的)
Event Receive Execise
Set Blackboard Value as Vector
Get actor location
Get Random Point in navigation Radius
finish execise(结束找点非常重要,不然AI会一直找点,不会移动)
7. 在行为树中用Sequence连接Wander和Moveto
8. 这些都设置好了之后AI就可以在场景中闲逛了.
Blackboard中的Service可以不用添加,如果只是闲逛的话。
如果添加就是判断AI是否存活,再决定是否执行各种Task
9. 在AI的角色蓝图details中选择自己的animation。选择ThirdPersonAnimationBP
UE4简单的用行为树做的AI
最新推荐文章于 2025-06-16 18:37:45 发布