vrdPhysicsConvexConfig

vrdPhysicsConvexConfig

(继承 vrdPhysicsHullConfig

由凸面分解生成的物理对象的配置类。

此配置类用于指定由凸面分解生成的物理对象的属性。凸面分解过程会获取一个复杂网格,将其分解为一组近似原始网格的凸面外壳线。要从比简单凸面外壳线更精确的非凸面网格创建物理对象,这非常有用。如果可能,应优先使用此方法,而非三角形网格。

用于凸面分解的库是 v-hacd 库(层次近似凸面分解):https://github.com/kmammou/v-hacd。其文档包含有关可以在此配置类中设置的参数的详细信息。几乎所有参数都显示在此处,并可在此类中设置,以微调分解过程

摘要

函数:

函数

vrdPhysicsConvexConfig.getAsync()

检查是否已启用异步运行。

返回值:如果异步运行已启用,则为 True,否则为 False。
返回值类型:bool

vrdPhysicsConvexConfig.getFillMode()

获取填充模式。

返回值:填充模式。
返回值类型:integer

vrdPhysicsConvexConfig.getMaxNumberOfConvexHulls()

获取允许的最大凸面外壳线数。

返回值:最大凸面外壳线数。
返回值类型:integer

vrdPhysicsConvexConfig.getMaxNumVerticesPerHull()

获取每个凸面外壳线的最大顶点数。

返回值:每个凸面外壳线的最大顶点数。
返回值类型:integer

vrdPhysicsConvexConfig.getMaxRecursionDepth()

获取最大递归深度。

返回值:最大递归深度。
返回值类型:integer

vrdPhysicsConvexConfig.getMinEdgeLength()

获取最小边长。

返回值:最小边长。
返回值类型:integer

vrdPhysicsConvexConfig.getMinimumVolumePercentErrorAllowed()

获取允许的最小体积百分比误差。

返回值:最小体积百分比误差。
返回值类型:float

vrdPhysicsConvexConfig.getResolution()

获取体素分辨率。

返回值:体素分辨率。
返回值类型:integer

vrdPhysicsConvexConfig.getShrinkWrap()

检查是否已启用收缩包裹。

返回值:如果已启用收缩包裹,则为 True,否则为 False。
返回值类型:bool

vrdPhysicsConvexConfig.setAsync(mode)

设置是否异步运行。

默认值为“true”。

参数:mode (bool) - 指示是否要异步运行的状态。

vrdPhysicsConvexConfig.setFillMode(mode)

设置填充模式。

填充模式指定 v-hacd 库使用哪种算法来填充体素化网格的内部。可能的值为(来自 v-hacd 文档):0:填色模式。这是默认行为,在体素化步骤后,它使用填色从“外部”确定“内部”。但是,带孔网格可能会失败并创建空心结果。1:仅曲面模式。仅考虑“曲面”,将创建具有空心中心的“蒙皮”。2:光线投射填充模式。使用光线投射从外部确定内部。

默认值为 0。

参数:mode (integer) - 填充模式。

vrdPhysicsConvexConfig.setMaxNumberOfConvexHulls(numHulls)

设置算法将生成的最大凸面外壳线数。

该算法生成的外壳线不会超过此数字。实际生成的外壳线数可能低于此上限。

默认值为 64。

参数:numHulls (integer) - 最大凸面外壳线数。

vrdPhysicsConvexConfig.setMaxNumVerticesPerHull(numVertices)

设置每个凸面外壳线的最大顶点数。

PhysX 将每个凸面外壳线的顶点数限制为 256,因此该值必须介于 4 到 256 之间。如果不是有效值,则将其调整为最接近的有效值。

默认值为 64。

参数:numVertices (integer) - 每个凸面外壳线的最大顶点数。

vrdPhysicsConvexConfig.setMaxRecursionDepth(depth)

设置最大递归深度。

这将设置凸面分解算法的最大递归深度。默认值为 10。

参数:depth (integer) - 最大递归深度。

vrdPhysicsConvexConfig.setMinEdgeLength(length)

设置最小边长。

来自 v-hacd 文档:“一旦体素面片的边长在所有 3 个侧面均小于 4,我们就不会一直递归。”

默认值为 2。

参数:length (integer) - 最小边长。

vrdPhysicsConvexConfig.setMinimumVolumePercentErrorAllowed(percent)

设置允许的最小体积百分比误差。

来自 v-hacd 文档:“如果体素在外壳线体积的 1% 内,我们会将其视为足够接近的近似值”

默认值为 1.0。

参数:percent (float) - 最小体积百分比误差。

vrdPhysicsConvexConfig.setResolution(resolution)

设置要使用的体素分辨率。

默认值为 400000。

参数:resolution (integer) - 体素分辨率。

vrdPhysicsConvexConfig.setShrinkWrap(enable)

设置是否将体素位置收缩包裹到源网格。

来自 v-hacd 文档:“输出时是否将体素位置收缩包裹到源网格。”

默认值为“true”。

参数:enable (bool) - 指示是否收缩包裹的状态。