UE 项目导航数据生成配置

WP构建及常规构建操作

WP构建方式 :https://docs.unrealengine.com/5.0/zh-CN/world-partitioned-navigation-mesh/

常规构建方式

针对WP的构建方式特殊配置项关闭就好:

  1. 取消勾选RecastNavMesh-XXX下的IsWorldPartitioned

  1. 执行n.bNavMeshAllowPartitionedBuildingFromEditor 0取消编辑器下构建WP NavMesh

以上两种都取消掉自动构建,规避每次打开编辑器自动刷新导航数据

  1. 编辑器配置中关闭Update Navigation Automatically

  1. 项目管理配置中Navigation System中取消勾选Auto Create Navigation Data

项目管理配置Navigation Mesh

  • 根据需要勾选Display配置

  1. Draw Filled Polys 用于生成的导航网格显示

  1. Draw Nav Mesh Edges 显示导航Mesh边界

其他的如有调试需要开启,平时关闭即可

  • 瓦片生成调试配置

  1. 勾选Enable

  1. 勾选Enable Drawing

  • Generation配置

属性

配置数据

特殊说明

Fixed Tile Pool Size

WP勾选、常规方式不勾选

用于瓦片数据的流式加载

Tile Pool Size

瓦片池Size大小

如果开启流加载的情况下保持1024的值即可(该值充足)

Tile Size UU

设置参数大小: 4096, 4096, 4096

这里设置可设置三个分段值,和Cell Size对应

Cell Size

设置参数大小: 32, 64, 64

这是给出的示例与TileSizeUU对应,都是默认TileSize为64

Cell Height

这里暂时设置为10

该值调大后内存占用会上升,但影响幅度不像Cell Size那么明显

Agent Radius

推荐默认值35

单个导航代理配置下没有问题

Agent Height

推荐默认值144

单个导航代理配置下没有问题

AgentMaxSlope

默认值70.344009即可

这个参数根据功能需要调整即可,不会影响整体的内存占用

AgentMaxStepHeight

调整该值为80-100

该值可以影响AI的导航攀爬,数值调整的越大,内存占用会约低

Min Region Area

该数值可微调为50-100

为了优化内存占用,该值微调可以降低整个内存占用,但是过大会造成孤立的导航数据区域丢弃,所以不宜过大

Merge Region Size

默认值400即可

区域合并值影响导航区域的合并,整体对内存影响比最小区域值还要小,默认值即可

Max Simplification Error

该数值默认保持1.3即可

越低占用内存越多,越大越少;相对应的是该值越低最终生成的导航数据与物体碰撞误差越小,越大误差越大

Sort Navigation Areas by Const

默认勾选即可

如果动态导航模式下,为了节省构建消耗可以取消勾选

IsWorldPartitionNavMesh

不勾选

这个开启WP构建模式时使用,这里不勾选

Do Fully Async Nav Data Gathering

默认不够选

该值在开启修改导航模式的情况下开启,把模型数据导出放到异步线程里去做,目前不知道对构建导航Task造不造成影响

其他未提及数值暂时按照默认值处理

项目管理配置Navigation System

属性

配置数据

特殊说明

Default Agent Name

可以为None

如果不填写默认支持的第一个代理配置为默认配置

Auto Create Navigation Data

取消勾选

不启动自动勾选

Spawn Nav Data in Nav Bounds Level

取消勾选

不在子关卡里生成导航配置

Allow Client Side Navigation

取消勾选

不在客户端生成导航

Should Discard Sub Level Nav Data

勾选该选项

丢弃子关卡中的导航数据

Supported Agents

根据需要配置

多配制的情况下会有导航数据匹配问题,如果没有特殊的情况下建议使用单个代理配置

其他未提及的配置按照默认值即可

Tile Size UU && CellSize大小在测试地图中的表现

TileSizeUU

TileSize

CellSize

RecastMemory

PERM_TILE_DATA

DetourTileMemory

TileCacheMemory

TileNavLinksMemory

1024

32

32

475.23

228.28

142.74

66.90

45.32

2048

64

32

239.01

165

105.55

52.13

44.34

4096

128

32

166.60

145.69

96.07

36.74

27.04

2048

32

64

162.28

93.75

66.80

18.53

18.51

4096

64

64

96.38

77.78

57.28

13.57

15.07

8192

128

64

79.69

73.71

55.16

12.08

14.15

4096

32

128

37.56

20.94

15.87

3.25

3.72

8192

64

128

23.86

18.78

14.54

2.57

3.16

  1. 如果不要求精细的情况下建议:Tile Size UU : 4096 CellSize : 64

  1. 要求精细导航的数据下最佳: Tile Size UU : 4096 CellSize : 32

  1. 体积摆放多少对导航数据的影响不大,只和体积中包含的碰撞模型数据多少有关

  1. 如果有必要把不影响导航的组件及Actor中Collision的CanEverAffectNavigation取消勾选,可以影响Nav Tree Memory占用

静态导航情况下按照以上配置最终得到的测试地图导航数据(64 * 32)

各部分相关占用

占用量

Recast Memory

140.64M

Detour PERM_TILE_DATA

119.23M

Detour Tile Memory

68.11M

Detour PERM_TILES

13.M

Tile Cache Memory

40.36M

Detour Tile Nav Links Memory

17.88

Detour Tile Nav Verts Memory

12.11

猜你喜欢

转载自blog.csdn.net/u011047958/article/details/129206430