关于UE4里面Spawn出来的Actor启用导航寻路的问题

     今天做项目的时候,遇到了一个坑~

一般使用简单的AI寻路,采用的都是nav,然后在蓝图中使用导航寻路的节点进行寻路的~

网上看到的也都是,这个AI_Actor在场景中存在,而不是spawn出来的,如下图所示,一般都是类似于这么写就ok了



     这样子在运行的时候就会看到这个actor自动走向了你的target目标点处


如果您搜索到我的这篇博客的话,就会发现问题来了——如果这个Actor只是Spawn出来的,

### 如何在虚幻引擎中配置寻路网格 在虚幻引擎中,寻路功能是一个非常重要的特性,用于让AI角色能够自动找到目标位置。以下是关于如何在虚幻引擎中添加和配置寻路网格的详细说明。 #### 启用导航系统 要在项目中启用导航系统,需要确保启用了`Navigation System`插件。该插件默认情况下已经集成到虚幻引擎的核心模块中[^1]。可以通过编辑器中的插件管理界面确认其状态。 #### 创建导航数据 为了支持AI寻路,必须创建一个导航网格体(NavMesh),这是AI代理用来计算路径的地图表示形式。具体操作如下: 1. **放置导航体积** 在场景视图中右键单击并选择`Volumes -> Navigation Volume`。这会生成一个包围盒区域,在其中动态构建导航网格。 2. **调整参数** 修改导航体积的属性以适应特定需求。例如,可以指定哪些区域可行走以及不可行走的部分。这些设置可以在细节面板中找到。 3. **烘焙导航网格** 完成上述步骤之后,点击工具栏上的“Bake Navmesh”按钮来生成实际使用的导航数据结构。此过程将分析地形和其他障碍物,并据此建立适合AI移动的数据模型[^3]。 #### 设置AI控制器与行为树 为了让某个NPC或者敌人具备基本的自主行动能力,还需要为其分配相应的AI Controller类及其关联的行为树资源文件。这样做的目的是定义逻辑流程以便于指导虚拟人物沿着预定路线前进到达目的地节点附近停下等待进一步指示等等复杂动作序列执行完毕为止结束整个周期循环直至被销毁释放内存空间回收利用等后续处理工作完成后退出当前函数返回上级调用处继续往下一层级深入探索更多可能性直到最终解决问题达成预期效果为止[^2]。 ```cpp // Example of setting up an AI character with navigation support. ACharacter* MyAICharacter = GetWorld()->SpawnActor<ACharacter>(MyAICharacterClass); if (UAbilitySystemComponent* ASC = UAbilitySystemBlueprintLibrary::GetAbilitySystemComponent(MyAICharacter)) { UNavigationPath* PathToFollow = UNavigationSystemV1::FindPathToLocationSynchronously( this, StartLocation, EndLocation); if (!PathToFollow || !PathToFollow->IsValid()) { UE_LOG(LogTemp, Warning, TEXT("No valid path found!")); return; } for (const FVector& Point : PathToFollow->PathPoints) { MoveToLocation(Point); // Simplified movement command example. } } ``` 相关问题
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值