视窗苹果电脑软件设置安全生产力Linux安卓性能配置苹果自定义设备管理iPhone设置 全部

如何在虚幻引擎中实现人工智能

已编辑 2 几小时前 通过 ExtremeHow 编辑团队

虚幻引擎人工智能人工智能游戏开发编程行为树寻路非玩家角色自动化逻辑

翻译更新 2 几小时前

人工智能(AI)在现代视频游戏中扮演着至关重要的角色,为玩家提供了与可信、智能对手竞争的惊险体验。虚幻引擎是一款强大且流行的游戏引擎,提供了广泛的工具和系统,用于在您的游戏项目中集成AI。在虚幻引擎中实现AI涉及了解和使用几个重要组件,如行为树、AI 控制器、导航网格和黑板。在本文中,我们将深入探讨如何使用这些工具在虚幻引擎中实现人工智能的简单指南。

对虚幻引擎AI系统的介绍

虚幻引擎以其用户友好的界面、强大的图形功能和广泛的开发工具而闻名。虚幻引擎中的AI基本上围绕行为树系统展开,这使开发人员能够为非玩家角色(NPC)设计复杂的决策过程。结合AI控制器和其他支持系统,开发人员可以创建详细和互动的AI代理。

设置您的项目

在实现AI之前,正确设置您的虚幻引擎项目非常重要。以下是一份准备环境的分步指南:

  1. 创建一个新项目:打开虚幻引擎并创建一个新的游戏项目。选择最适合您游戏类型的模板,并确保选择C++,以便深入了解自定义脚本。
  2. AI的基本设置:确保您拥有基本的游戏元素,如场景或简单的关卡设置,以便有效测试您的AI组件。拥有角色或对手也将有所帮助。

了解AI组件

虚幻引擎的AI系统由许多部分组成,这些部分共同工作以产生智能行为。以下是您将要使用的主要组件:

AI控制器

AI控制器是虚幻引擎中AI系统的重要部分。它们使用玩家输入或决策过程来控制非玩家角色。

要实现AI控制器:

  1. 创建从AAIController派生的新C++类。这将是您的AI控制器。
  2. 根据需要重写函数。您可能希望使用OnPossess()函数来设置您的棋子(即被控制的角色)并初始化您的AI策略。
class MyAIController : public AAIController { // 构造函数 MyAIController(); // 当控制器占有一枚棋子时调用 void OnPossess(APawn* InPawn) override; };

行为树

行为树用于为角色行为创建模块化和复杂的决策树。它们提供了一种图形化的方法来设计AI决策背后的逻辑。

创建行为树的步骤:

  1. 在内容浏览器中,右键单击并选择Create Asset > Artificial Intelligence > Behavior Tree
  2. 通过向树中添加节点来定义行为。组合节点确定决策的流程,而装饰节点处理条件检查,服务节点提供持续逻辑。

黑板

黑板与行为树结合使用,作为数据存储库,并存储树节点可以访问的重要数据。

  1. Create Asset > Artificial Intelligence > Blackboard下创建一个新黑板。
  2. 添加键来表示游戏数据元素,例如巡逻点、玩家引用或表示状态的布尔值。

导航网格

导航网格(navmesh)定义了游戏世界中的可行走区域,允许AI控制的角色自由自然而然地移动。

  1. 在您的关卡中放置NavMeshBoundsVolume以定义AI可以导航的区域。
  2. P键查看导航网格。绿色高亮的区域是可行走的。

实现AI:将其结合在一起

一旦设置了不同的组件,就可以在虚幻引擎中集成和实现AI:

步骤1:设置AI控制器

为您的NPC角色分配AI控制器:在角色蓝图的详细信息面板中,Pawn部分下,为您的自定义AI控制器设置AI Controller Class

步骤2:使用行为树定义行为

打开您的行为树并开始定义行为序列。

步骤3:使用黑板进行数据管理

实现逻辑以使用游戏世界数据更新黑板。在您的AI控制器脚本中:

void MyAIController::BeginPlay() { // 获取黑板组件 UseBlackboard(BlackboardComponent, BlackboardAsset); // 设置初始黑板值 BlackboardComponent->SetValueAsVector(TEXT("HomeLocation"), GetPawn()->GetActorLocation()); }

步骤4:与导航的工作

确保您的AI角色能够使用您之前设置的NavMesh在环境中导航。检查角色的移动组件是否配置正确。

步骤5:测试和迭代

设置好AI后,务必在关卡中进行测试,以确保行为按预期执行。调试工具和日志在这里非常有价值。

优化AI性能

将AI实现到游戏中时,特别是在有许多AI角色活跃的大型或复杂场景中,性能优化变得非常重要。以下是提高效率的一些指南:

高级主题

一旦您对基本AI功能感到满意,可以探索高级集成:

环境查询系统(EQS)

EQS可以通过向AI提供环境数据来增强AI能力,以便做出更好的决策。查询可以确定路径、目标位置并分析周围元素。

机器学习集成

集成机器学习组件以开发AI的决策过程。虚幻引擎支持第三方插件和API以利用机器学习功能。

自定义C++函数

使用C++创建复杂的AI任务和节点,精确定义行为动作或为特定逻辑流程修改现有函数。

结论

在虚幻引擎中实现AI涉及将AI控制器、行为树、黑板和导航网格等各种系统结合在一起。每个系统都发挥着独特的作用,它们共同使现代游戏所需的复杂行为成为可能。不断的测试和迭代以及性能优化对于确保游戏的功能性和可玩性至关重要。通过遵循本指南并探索高级技术,您可以开发出智能且引人入胜的NPC,将您的游戏项目提升到新的水平。

如果你发现文章内容有误, 您可以


评论