我有一个在Blender中制作的基本Collada模型,内部由两部分组成。树冠和树干,每个树冠都有自己的纹理。物体的聚合物很低;使用带有透明纹理的遮篷的几个面和用于树干的3面锥形。
强制但可能不太相关的图片: Trees in action
但是,我希望可以说这些树中有200棵,在pip install openpyxl
添加它们时,在渲染方面效率非常低。我一直在克隆整洁的源对象,但可以理解的是,在渲染性能时,这并没有多大帮助。
我知道围绕这种减速的一个好方法是通过将几何和材质合并为一个大的旧林对象来将所有对象添加为一个。我知道这通常可以在代码之外完成,通过在Blender中创建一个森林并导出它,但我在程序上将树放在代码本身(迷宫!),再加上我想介绍更复杂的对象这个障碍。我已经在使用立方体,球体和偶尔的猴子头的代码中看到了很多这样的例子,但我很难找到任何处理导入物体的东西。
Lastnight我开始浏览导入的对象,看看是否可以镜像在加载时获取几何和材质信息的步骤(referenceRef是Collada加载器的obj.scene响应)
scene.add()
然后我意识到这似乎有点混乱,需要考虑多种几何形状和材料,而且我是Three.js的新手。
这可能是解决这个问题的最佳方法,但我确实已经确认了这一点。可能有更好,更简单或内置的方式来创建我可能缺少的可能更复杂,有纹理和加载的对象的实例(我希望如此!)。
非常感谢任何关于处理此问题的最佳方法的指示。
谢谢!