在运行时,用DatasmithRuntime导入了SU的模型,一个模型进入场景后,大纲层级显示有6000多个子Actor与StaticMeshComponent,我利用GeometryScript将每个StaticMesh复制成DynamicMesh,再将每个DynamicMesh合并成一个DynamicMesh,解决了合并问题,材质重映射问题,模型坐标偏移等问题,最后发现合并成的DynamicMesh没有碰撞,而Datasmith导入的模型是有碰撞,之后手动一个个合并调试,发现当合并到第150个模型左右时,碰撞莫名奇妙的就消失了。如何在合并后可以给DynamicMesh加上碰撞,这个碰撞需要可以被射线检测到,也可以阻挡人物穿模型,如果模型是建筑还需要可以进入到模型内部,也就是需要的碰撞是复杂碰撞。
UE5底层默认支持三角面的碰撞数量是25万,可以使用geometry.DynamicMesh.MaxComplexCollisionTriCount命令修改,这样DatasmithRuntime导入的模型可以在使用GeometryScript合并后也能产生正确的碰撞。