javascript - 加速 THREE.js 的方法

标签 javascript 3d three.js webgl

我正在用 THREE.js 编写一个简单的 Minecraft 克隆。

但是,结果非常滞后。

我使用立方体几何体作为体素,但是当它们被破坏并且需要使用鼠标拾取时我需要删除它们。

我听说加入几何体可以加快速度,但据我所知,这意味着您无法删除任何体素或使用鼠标拾取。

THREE.js 中还有哪些加速方法?

最佳答案

在任何机器上,每个体素使用一个盒子(每个体素进行一次绘制调用)都会太慢,即使您是用汇编语言编写的。

您需要为世界的每个部分构建一个网格。就像将世界划分为 48x48x48 的单位 block 并构建一个包含该区域中所有体素的网格一样。当用户编辑盒子时,您编辑网格(顶点)而不是删除盒子对象。

关于javascript - 加速 THREE.js 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31276913/

相关文章:

javascript - 将 3D 模型从 Unity 导出到 three.js

javascript - 有没有办法让 Node.JS 在执行 Dialogflow 输出函数之前先执行我的 MySQL 函数?

javascript - 使用 'var undefined' 测试未定义有什么问题吗

javascript - 在不校正网格位置的情况下在一个方向上就地缩放 three.js 几何体

javascript - 使用 ThreeJS 获取球体纹理的点击位置

javascript - 为什么我在加载具有 Material 的 GLTF 模型时得到黑色模型?

three.js - 模拟骨骼中肌肉的收缩

JavaScript - 对条件使用 eval() - 是否正确?

javascript - 即使我使用 Number() 函数,数组的最后一个元素始终为 NaN

javascript - 从 OBJ 文件中选取选定的网格