【发布时间】:2013-09-12 06:47:07
【问题描述】:
我目前正在第一次学习 three.js 和 3D 图形,并且正在尝试创建一个体素引擎(想想 Minecraft、Infiniminer)。我发现我的脚本占用了大量内存,但我怀疑为什么 - 我创建的每个块都使用一个新的 Mesh 对象,即使其中一些块看起来相同。
我问了一些我认识的人,他们是否知道一种更节省内存的方法 - 他们建议为每种类型的块创建一个网格,并使用矩阵为块的每个实例转换网格(他们是熟悉OpenGL,但不太熟悉三个.js)。 three.js 是否允许这样的事情?如果有,你会怎么做?如果没有,还有其他选择吗?
(到目前为止,我的理解是您要渲染的每个项目都需要在场景图中,因此即使多个块看起来相同,您也需要添加块的多个副本(具有不同的 x、y、z 坐标) 到图表。我可能错了。)
【问题讨论】: