Create a Role playing game in Unreal Engine Part 32 - AI behavior states
Summary
TLDR在本期视频中,作者继续在RPG游戏中开发AI系统,重点讲解了如何让AI具备感知能力。通过在AI角色蓝图中添加AI感知组件,并配置视觉感知,AI可以检测到周围的刺激并做出反应。视频还展示了如何设置黑板更新目标,并通过创建AI状态枚举和蓝图接口切换AI的不同行为模式,最后介绍了如何根据状态切换行为树,确保AI能够根据目标进行攻击或巡逻。
Takeaways
- 😀 通过添加AI感知组件,AI角色能够感知周围环境中的其他物体。
- 😀 使用感知配置设置,使AI角色能够通过视觉感知到环境中的其他角色或物体。
- 😀 在事件图中添加‘感知更新’事件,处理每次感知更新时的行为。
- 😀 AI感知更新后,通过‘Get Actor Perception’获取感知数据,检查是否成功感知到目标。
- 😀 通过黑板(Blackboard)更新AI的目标,如果成功感知到玩家角色,就将其设置为目标。
- 😀 在AI控制器中创建枚举类型来管理AI的状态(如巡逻、攻击)。
- 😀 创建蓝图接口(Blueprint Interface),以便在不同地方轻松切换AI状态。
- 😀 AI角色通过蓝图接口切换状态,例如从巡逻状态切换到攻击状态。
- 😀 创建行为树(Behavior Tree),根据AI的状态切换不同的行为逻辑。
- 😀 在游戏中通过调试信息确认AI角色是否成功感知到目标,并正确更新其目标信息。
- 😀 最后,在行为树中处理状态切换,确保AI角色根据其状态执行相应的行动,如攻击或巡逻。
Q & A
在这个视频中,AI角色的感知是如何设置的?
-在视频中,AI角色的感知是通过添加AI感知组件来设置的。首先,在蓝图中添加一个AI感知组件,然后设置感知配置,选择视觉感知配置,并调整参数以启用感知。
AI感知组件的感知配置是如何调整的?
-AI感知组件的感知配置通过选择视觉配置来设置。在配置中,选中所有检测关系选项(例如敌对、友好、忽略等),以确保AI能够感知到所有类型的目标。
如何处理AI感知到的刺激并作出反应?
-在事件图中,使用'On Perception Updated'事件来获取当前感知到的演员。然后,循环检查感知信息,使用'成功感知'条件来判断是否更新目标,如果感知成功,就将目标更新到黑板中。
黑板(Blackboard)在AI感知中的作用是什么?
-黑板用于存储AI的感知目标。在视频中,创建了一个新的黑板键'Player Target',用于存储成功感知到的玩家目标。当AI感知到目标时,该信息会被更新到黑板中。
如何在调试过程中查看AI的感知状态?
-通过按下特定的键(如撇号键),可以启用调试信息并查看AI的行为树和感知状态。在调试模式下,AI的感知目标会显示在调试面板中,帮助开发者验证感知是否正常工作。
为什么需要为AI设置枚举(Enum)来管理状态?
-为AI设置枚举可以帮助管理不同的AI行为状态。视频中创建了一个名为'AI State'的枚举类型,用于区分不同的状态(如'巡逻'和'攻击')。这样可以方便地控制AI在不同状态下的行为。
如何通过蓝图接口(Blueprint Interface)来切换AI状态?
-通过创建一个蓝图接口(BPI_AI_ChangeState),可以方便地传递AI状态(如'巡逻'或'攻击')。然后在AI控制器中实现该接口,根据传递的状态值更新AI的当前状态,进而切换不同的行为树。
创建行为树时,如何根据AI状态选择不同的树?
-根据AI的状态,通过'状态切换'节点来选择不同的行为树。如果AI状态是'巡逻',则使用默认的行为树;如果状态是'攻击',则切换到攻击行为树。这样可以根据不同状态执行不同的AI行为逻辑。
如何确保AI在启动时正确设置初始状态?
-在开始播放时,通过设置AI控制器中的初始状态为'巡逻',确保AI一开始就进入巡逻状态。这可以通过蓝图中设置默认状态来实现。
本视频中的AI感知和行为设计能否适用于其他游戏?
-本视频中的AI感知和行为设计是一个基础框架,可以根据具体游戏需求进行扩展和修改。虽然示例中只涉及了简单的感知和行为切换,但这个系统可以根据游戏复杂度进行进一步优化和功能增加。
Outlines

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowMindmap

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowKeywords

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowHighlights

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowTranscripts

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowBrowse More Related Video

Unreal Engine 5 RPG Tutorial Series - #21: AI Detection and Chasing

Create a Role playing game in Unreal Engine Part 33 - AI state switching

Unreal Engine 5 RPG Tutorial Series - #20: AI Behavior Trees Patrolling

Unreal Engine 5 RPG Tutorial Series - #9: Combat

Unreal Engine 5 RPG Tutorial Series - #4: Assassinations

Unreal Engine 5 RPG Tutorial Series - #2: Locomotion - Blendspace, Crouching and Procedural Leaning!
5.0 / 5 (0 votes)