Navmesh研究(准备工作)配置参数

本文翻译自:http://critterai.org/projects/nmgen_study/config.html

配置参数

在进入网格生成每个阶段的细节之前,了解影响最终结果的各种配置参数很重要。本页提供NMGen类使用的部分比较主要的配置参数的功能描述(详细参数可去原文查看),它们如何影响最终结果以及它们如何相互影响。

cellSize

约束条件 > 0

使用者

NavmeshGenerator,SolidHeightFieldBuilder,SolidHeightField,OpenHeightField,ContourSet,PolyMeshField

描述

分割源几何体时使用的宽度和深度固定值。组成体素字段的单元格列的宽度和深度。

将cellSize放置在高度域的宽度/深度平面上。宽度与源几何体的x轴关联。深度与z轴关联。

较低的值可使生成的网格更紧密地匹配源几何体,但处理和存储成本较高。

示例: cellSize与体素的关系。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tmJj7faL-1612541828364)(C:\Users\Administrator\Desktop\博客\3.1.jpg)]

有时,您可能会注意到障碍物上的网格边界出乎意料地宽大,或者与对象的另一侧相比,沿对象一侧的边界宽度有所不同。这是网格生成过程的固有行为。看一下上面的高度域可视化。最终网格中的顶点只能存在于体素的角上。顶点被捕捉到体素网格。体素大小越大,最终网格顶点的潜在xz平面偏移越大,边界“错误”可能越明显。

示例1: 此网格是使用较低的分辨率(较大的cellSize)生成的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9lkiGV6S-1612541828365)(C:\Users\Administrator\Desktop\博客\3.2.jpg)]

示例2: 此网格是使用较高的分辨率(较小的cellSize)生成的。因此,偏移量表现得并不明显。(尽管从技术上讲它仍然存在。)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jt6pcZpu-1612541828366)(C:\Users\Administrator\Desktop\博客\3.3.jpg)]

与其他参数交互: 这是与几乎所有其他参数交互的核心配置值。

cellHeight

约束条件 > 0

使用者

NavmeshGenerator,SolidHeightFieldBuilder,SolidHeightField,OpenHeightField,ContourSet,PolyMeshField

描述

采样源几何体时使用的高度增量,体素格子中的高度。

高度与源几何体的y轴关联。

较小的值允许最终网格以潜在较高的处理成本更紧密地匹配源几何体。(与cellSize不同,对cellHeight使用较低的值不会显着增加内存使用。)

示例: cellHeight与体素的关系。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D5VqiH0h-1612541828367)(C:\Users\Administrator\Desktop\博客\3.4.jpg)]

cellSize一样,cellHeight决定可以存在顶点的位置。最终网格的表面将“捕捉”到包含源几何体的体素顶部,而不是几何体本身。这是网格生成过程的固有行为。看一下上面的高度域可视化。网格中的边界顶点只能存在于体素的角上。体素高度越大,与实际源几何体的顶点的潜在y偏移就越大。

示例1: 此细节网格是使用较低的分辨率(较大的cellHeight)生成的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mv801DEr-1612541828368)(C:\Users\Administrator\Desktop\博客\3.5.jpg)]

示例2: 此细节网格是使用较高的分辨率(较小的cellHeight)生成的。因此,偏移量的表现并不明显。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kL4EFyt7-1612541828368)(C:\Users\Administrator\Desktop\博客\3.6.jpg)]

与其他参数交互: 这是影响几乎所有其他参数的核心配置值。minTraversableHeightmaxTraversableStepContourMaxDeviation必须大于此值。maxTraversableStep特别容易受到cellHeight值的影响。

minTraversableHeight

约束条件 > 0

使用者

NavmeshGenerator,SolidHeightFieldBuilder,OpenHeightFieldBuilder

描述

表示floor到ceiling的最小高度,该高度仍将允许将floor上表面视为可行走的。低于这个高度时,floor上表面被视为不可行走。可以模拟桌子下方不允许行走的情况。

示例1: 正确设置该值可防止网格在表格下运行。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IaJZWA4X-1612541828369)(C:\Users\Administrator\Desktop\博客\3.7.jpg)]

示例2: 将值设置得太低会使网格在不应该运行的情况下在表格下运行。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lsFoRAQb-1612541828369)(C:\Users\Administrator\Desktop\博客\3.8.jpg)]

示例3: 将值设置得太高会阻止网格扩展到阳台下的区域。(避免阳台下方角色无法行走)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WGnga3Bi-1612541828370)(C:\Users\Administrator\Desktop\博客\3.9.jpg)]

与其他参数交互: 为了获得良好的结果,该值至少应为cellHeight值的两倍

maxTraversableStep

约束条件 > 0

使用者

NavmeshGenerator,SolidHeightFieldBuilder,OpenHeightFieldBuilder

描述

表示仍可移动的最大凸起高度。

防止微小的高度偏差不适当地显示为障碍物。允许检测楼梯状结构,路缘石等

示例1: 正确设置该值将允许网格向上延伸楼梯。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yevfej8z-1612541828370)(C:\Users\Administrator\Desktop\博客\3.10.jpg)]

示例2: 将值设置得太低会使楼梯看起来像不能被穿过。(Agent不能走到楼梯上的高度。)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zPXSu4QI-1612541828371)(C:\Users\Administrator\Desktop\博客\3.11.jpg)]

示例3: 将值设置得太高会导致网格设置在一些距离地面过于高的地方

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ddeE4jK8-1612541828371)(C:\Users\Administrator\Desktop\博客\3.12.jpg)]

与其他参数交互: 为了获得良好的结果,该值至少应为cellHeight值的两倍

maxTraversableSlope

约束条件 > = 0

使用者

NavmeshGenerator,SolidHeightFieldBuilder

描述

被认为可行走的最大坡度。(以度为单位)

示例1: 正确设置该值可使网格向上延伸可行走的斜坡。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cw9UaCfC-1612541828371)(C:\Users\Administrator\Desktop\博客\3.13.jpg)]

示例2: 将值设置得太低会阻止网格向上延伸应可行走的坡度。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5qTvwND4-1612541828372)(C:\Users\Administrator\Desktop\博客\3.14.jpg)]

与其他参数交互:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值