10.UE5创建怪物、实现AI行为树,AIController

2-11 创建怪物_哔哩哔哩_bilibili

目录

1.创建一个AI控制器

2.AI行为树,实现游荡效果


1.创建一个AI控制器

创建一个AI控制器,并让AI走向主角

首先在新建蓝图中,选择创建一个AI控制器蓝图

 双击打开AI控制器,并让AI走向玩家的位置

 利用角色总类创建怪物总类,并创建001怪物,为怪物001绑定网格体和动画蓝图

 然后对怪物的AI控制器进行绑定,自动控制AI设定为(已经放置场景中和生成的)

然后对角色的动画蓝图进行修改,将原来获取的001主角,转换为角色总类。

 至此怪物的动画和AI行为都已经定义好了,需要在地图中插入导航网格体边界

在场景中调整导航网格体边界的大小(AI寻路的范围大小)

 运行实现AI追钟主角的行为效果。

2.AI行为树,实现游荡效果

新建AI行为树

 双击打开AI行为树,创建任务为随机移动

 打开随机移动的任务,并重载接收执行

 并让接受执行的Actor进行一个简单的移动,简单移动需要接受两个参数,一个是AI的控制器和另一个是AI半径内的一个随机位置。

 打开AI行为树,创建Sequence(行为序列)

 然后在Sequence中绑定我们的任务,执行完任务后等待2秒

 然后在AI控制器中调用这个AI行为树

至此即可实现游荡效果。 

在Unreal Engine 5UE5)中,行为树(Behavior Tree)是一种用于控制AI行为的图形化工具。C++是UE5的主要编程语言之一,通过C++可以实现自定义的行为树服务。以下是实现行为树服务的一般步骤: ### 1. 创建行为树和节点 首先,你需要在UE5编辑器中创建一个行为树。你可以在内容浏览器中右键点击并选择“Artificial Intelligence” -> “Behavior Tree”。然后,你可以添加各种类型的节点,如任务(Task)、装饰器(Decorator)和服务(Service)。 ### 2. 定义服务类 在C++中,服务通常是一个继承自`UBTService`的类。你需要在你的项目中创建一个新的C++类,并让它继承自`UBTService`。例如: ```cpp #include "CoreMinimal.h" #include "BehaviorTree/BTService.h" #include "MyAIController.h" // 你的AI控制器类 UCLASS() class UMyCustomService : public UBTService { GENERATED_BODY() public: virtual void TickNode(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, float DeltaSeconds) override; }; ``` ### 3. 实现服务逻辑 在`TickNode`函数中实现你的逻辑。这个函数会在每一帧调用,因此你可以在这里执行需要定期检查或更新的任务。 ```cpp void UMyCustomService::TickNode(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, float DeltaSeconds) { Super::TickNode(OwnerComp, NodeMemory, DeltaSeconds); // 获取AI控制器 AMyAIController* AIController = Cast<AMyAIController>(OwnerComp.GetAIOwner()); if (AIController == nullptr) { return; } // 在这里实现你的服务逻辑 // 例如,检查某个条件是否满足 bool bConditionMet = /* 你的条件 */; if (bConditionMet) { // 执行某些操作 } } ``` ### 4. 将服务添加到行为树 回到UE5编辑器,打开你之前创建行为树。找到你想要添加服务的位置,右键点击并选择“Add Service”。在弹出的对话框中,选择你刚刚创建的C++服务类。 ### 5. 编译和运行 确保你的代码没有错误,然后编译项目。运行游戏并观察行为树服务的效果。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值