凸面体网格(convex mesh)
一、Convex Hull生成
生成方式:
1、 点云指定法。指定组成凸面体的点云,也就是顶点集合,SDK会根据点云自动计算出Convex Hull。使用这种方式需要在网格描述符中指定NX_CF_COMPUTE_CONVEX。
2、 直接生成法。直接构成凸面体的顶点和三角形集合。
代码实现步骤:
1. 创建NxConvexMeshDesc对象,根据convex hull生成方式设置相关属性。
2. 创建NxConvexShapeDesc对象,设置相关属性,其userdData属性为NxConvexMeshDesc对象。
3. 初始化cooking。
4. Cook NxConvexMeshDesc对象数据,并写入内存缓冲区或者文件中。
5. 读取cooked数据,创建凸面体网格,并将该网格设置为NxConvexShapeDesc对象的meshData属性。
6. 将NxConvexShapeDesc对象压入角色描述符的shapes容器中。
7. 设置角色body属性。
8. 创建角色,即凸面体网格。
二、缩放网格:
使用NxScaleCookedConvexMesh可以创建不同比例的网格,但是cooked数据只保存一份,可以节省空间。