UE5 - 定时在可导航区域随机位置生成道具教程
作者:hangge | 2026-01-21 08:37
在很多动作、冒险类游戏中,地图上定时刷新道具不仅可以丰富玩家体验,还能有效引导探索、提升游戏节奏。然而,如果直接在任意位置生成道具,往往会出现“刷到墙里”或“卡住”这类问题,影响交互和美观。借助 UE5 强大的 NavMesh 导航系统,我们可以通过蓝图轻松在可导航区域内随机生成道具,并自动避开障碍物,下面通过样例进行演示该功能如何实现。







1,创建道具蓝图
(1)在“内容浏览器”中右键,选择“蓝图类” → “Actor”,创建一个可拾取道具,命名为 BP_Pickup。

(2)打开 BP_Pickup,在“组件”面板中单击“添加”按钮新建一个“Box Collision”组件,在“细节”面板中设置“位置”为(X:0.0,Y:0.0,Z:35.0)。方便后续进行碰撞、射线检测。

(3)接着在“组件” 面板中新建一个“Niagara”组件。然后选择“Niagara”组件,在“细节”面板中设置“Niagara 系统资产”为“NS_Pickup_1”

2,创建道具生成器蓝图
(1)在“内容浏览器”中右键,选择“蓝图类” → “Actor”,创建一个可拾取道具生成器,命名为 BP_PickupSpawner。

(2)打开 BP_PickupSpawner,在“事件图表”中添加如下逻辑,每隔 2 秒钟在可导航区域上的随机位置生成一个 BP_Pickup。

3,关卡设置
(1)我们在编辑器中放一个 NavMeshBoundsVolume,调整大小覆盖希望生成道具的区域,同时还放置一些方块作为障碍物。按 P 键可在视口实时查看 NavMesh(绿色区域为可导航区)。

(2)将 BP_PickupSpawner 拖入关卡。

4,运行测试
运行游戏,可以看到每隔 2 秒就会在随机、没有障碍的可导航点上生成一个道具。

全部评论(0)