如何处理多材料对象?

时间:2015-04-25 16:07:48

标签: object memory three.js dispose

我在场景中使用多材质对象,我想知道删除和处理它们的最佳方法是什么?我已经阅读了有关如何处理常规对象的问题,并且他们说你可以在对象上使用.dispose(),但是没有多材质对象或常规对象的方法(它没有列在Object3D文档页面中)。

仅仅处理几何和材料是否足够?之后我该怎么做,将对象设置为null?这会释放记忆吗? (这是我关注的问题,因为我使用了很多对象,并希望确保释放内存。)

编辑: 因此,在试验之后,似乎处理对象的方式遵循以下顺序:

  • scene.remove(目);
  • mesh.geometry.dispose();如果你想删除几何体(循环遍历多材料对象的子项并处理它们的所有几何图形似乎没问题)
  • mesh.geometry = undefined;
  • mesh = undefined;

如果要删除多材质对象中使用的材质,可以使用material.dispose()删除每个材质;

所以如果你将材质初始化为var material = new THREE.MeshBasicMaterial();

material.dispose();将它删除。

然后你会做材料=未定义;

纹理的处理方式相似。

如果我错了,请告诉我。

0 个答案:

没有答案