Animation SceneKit–如何从导入的Maya场景中移除瑕疵?

Animation SceneKit–如何从导入的Maya场景中移除瑕疵?,animation,scenekit,maya,Animation,Scenekit,Maya,我想在SceneKit中有一个移动的3D动画旗帜,在那里我可以将旗帜纹理更改为不同的国家 我目前的解决方案如下: 我以DAE格式将旗帜场景从Maya导入到SceneKit。DAE由一个连接有关节的平面组成。它是使用方法从原始nCloth运动转换而来的 我现在的问题是,该标志中存在瑕疵-尤其是在阴影区域中可见: 我不知道这些伪影是来自平面中的面数还是平面上的关节数,还是运动本身的平滑 我的想法: 也许可以增加关节的数量来平滑运动 将会成功,但我的问题是导出的DAE 已经有50 MB了,我不想增加这

我想在SceneKit中有一个移动的3D动画旗帜,在那里我可以将旗帜纹理更改为不同的国家

我目前的解决方案如下:

我以DAE格式将旗帜场景从Maya导入到SceneKit。DAE由一个连接有关节的平面组成。它是使用方法从原始nCloth运动转换而来的

我现在的问题是,该标志中存在瑕疵-尤其是在阴影区域中可见:

我不知道这些伪影是来自平面中的面数还是平面上的关节数,还是运动本身的平滑

我的想法:

也许可以增加关节的数量来平滑运动 将会成功,但我的问题是导出的DAE 已经有50 MB了,我不想增加这些,因为存储空间太大了 最终用户的设备。目前约有450个连接位置*500个关键帧=50MB

我已经尝试在maya中细分旗帜,但使用平滑 绑定工具,我必须应用,结果比以前差。我 因为关节数量保持相等,并且细分了 区域无法获得更多的移动信息

我也尝试直接在SceneKit中细分,但没有更好的方法 结果

在Mayas权重绘制工具中,存在相同的可见不良几何体 当我选择一个关节时。然而,我并没有成功地解决这个问题 四边形角之间的这些锐利重量线:

有人知道如何清理这些文物或有用的建议吗

是否有其他完整解决方案的建议

我不想用第三方的游戏引擎。我已经为OpenGL找到了这样一个模拟的例子,但我不想在接下来的几个月里自学。。?如何编程逼真的布料模拟。Blender也有一个布料模拟器,但如果不将Blender的代码移植到swift,我就无法使用它,我也无法做到这一点

编辑: 在启用/禁用材质上的litPerPixel时运气不佳,尽管稍微好一点:

material.litPerPixel = true

为了解决这个问题,或者换句话说,为了消除模型上这些讨厌的工件,最健壮和简单的方法是增加多边形分辨率。为此,在将多边形几何体用作nCloth对象之前,只需对其应用“平滑”命令


现在,您可以从为SceneKit、RealityKit或Metal安装的Maya 2020+Pixar Renderman 23将模型导出为.usdz格式,或将SceneKit或Metal框架导出为.dae文件格式。您的标志的最佳输出多边形rez必须在10K多边形左右。

查看屏幕截图,看起来照明是按顶点而不是按片段进行的。每个片段应为默认值。你换过材质了吗?litPerPixel?或者玛雅就这样导出了它。你能试着强制使用material.litPerPixel=YES?已经设置好了。。不幸的是,效果甚微。文物仍然在这里;更新问题
material.litPerPixel = false