NavMesh 生成器的输入是一个 NavMesh 生成源列表。
它们的形状可以是以下之一:网格、地形、盒子、球体或胶囊体。每个形状都由一个 NavMeshBuildSource 结构体描述。
您可以通过填充 NavMeshBuildSource 结构体并将其添加到传递给烘焙函数的源列表中来指定生成源。或者,您可以使用 collect API 从可用的渲染网格或物理碰撞体快速创建 NavMesh 生成源。请参阅 NavMeshBuilder.CollectSources。
如果您在运行时使用此函数,则任何读取/写入访问权限被禁用的网格都不会被处理或包含在最终的 NavMesh 中。请参阅 Mesh.isReadable。
using UnityEngine; using UnityEngine.AI;
public class Example : MonoBehaviour { // Make a build source for a box in local space public NavMeshBuildSource BoxSource10x10() { var src = new NavMeshBuildSource(); src.transform = transform.localToWorldMatrix; src.shape = NavMeshBuildSourceShape.Box; src.size = new Vector3(10.0f, 0.1f, 10.0f); return src; } }
area | 描述此对象的 NavMesh 表面的区域类型。 |
component | 指向拥有组件 - 如果可用,否则为 null。 |
generateLinks | 启用此对象的链接生成。 |
shape | 此源描述的形状类型。其他资源:NavMeshBuildSourceShape。 |
size | 描述形状的尺寸。 |
sourceObject | 描述输入源的网格和地形类型引用的对象。 |
transform | 描述生成源的局部到世界变换矩阵。即形状的位置、方向和缩放。 |