因此,我正在使用javafx创建3D建模工具包。在此工具包中,人们将能够加载模型文件并在所述模型上试用动画。

目前,我将每个模型分成TriangleMesh对象组,其中组中的每个Mesh使用相同的材​​质。然后,我有一个AnimationTimer,它对加载的动画的帧进行排序,并为每个下一帧更新每个TriangleMesh中所有更改的点。但是,对点列表进行频繁更新会大大降低程序的性能。

我想知道这是否可以优化?

我有一些想法,因为我认为每个模型都有一个TriangleMesh可能会有所帮助(尽管这是有问题的,因为我无法设置各个面孔的材质),但这仍然给我带来了更新可观察点列表的开销,因此经常。

最佳答案

拥有大量单独的TriangleMeshes确实效率很低。为什么您认为需要?如果只是要将不同的纹理应用到模型的不同部分,则可以创建纹理图集。这将允许您为每个模型使用一个TriangleMesh,这将使事情变得更有效。坐标修改的影响有多大尚待测试。

08-17 16:00