UE4的AI c++代码初始化

本文介绍了在UE4中如何初始化AI的C++代码,包括BehaviorTree、AIController和Blackboard的使用。重点讲解了BehaviorTree的数据结构与组件,以及Blackboard的数据类型和操作方法。通过在AICharacter中设置UBehaviorTree,在AIController中设置UBlackboardComponent和UBehaviorTreeComponent,实现了数据与操作的分离。同时强调了在C++中添加AIModule以确保构建时包含AI相关模块的重要性。
摘要由CSDN通过智能技术生成

AI的行动主要逻辑位于BehaviorTree内,AI的主要行动实现主要位于AIController中,而AI的记忆主要位于Blackboard内。下面是一些基本概念:

1.BehaviorTree内部含有一个成员是Blackboard。所以我们一般只给一个AICharacter内部设置一个成员BehaviorTree就行了,而在Editor内把Blackboard指认给BehaviorTree。

2.Editor内的Blackboard实际上是一个UBlackboardData,而不是一个Component,BehaviorTree内部的Blackboard成员是UBlackboardData。Component用于AIController内,在AIController我们会声明一个UBlackboardComponent,而在Editor里边创建的是一个UBlackboardData,是不一样的数据结构,UBlackboardComponent的初始化函数InitializeBlackboard接受一个参数是UBlackboardData。

3.UBlackboardData是初始化UBlackboardComponent的参数数据,而我们之后的操作主要在UBlackboardComponent上完成。比如UBlackboardComponent的函数SetValueAsVector就是给Blackboard上的一个Vector参数赋值。

4.BehaviorTree和Blackboard比较类似,也是有一个UBehaviorTree类型和一个UBehaviorTreeComponent类型,主要操作位于UBehaviorTreeComponent上,UBehaviorTree内只是数据。比如UBehaviorTreeComponent的一个函数是StartTree,而参数是UBehaviorTree。

5.可见Component一般实现逻辑,而需要用到的数

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值