three.js - 增加网格上指定的最大变形目标数量

标签 three.js morphing

我有一个包含 17 个变形目标和变形法线的网格。我想同时分配至少大约 10 个。 现在我意识到 Three.js 一次仅支持 8 个变形目标,而变形法线仅支持 4 个。

找到this github 上的线程。有趣的是,这还不到一天。目前为止这里没有出现相关问题,所以我问。

我想知道是否有可能增加最大数量。也许通过覆盖底层着色器。

为什么这是有限的,而不是变形顶点的最大数量,这对性能更有意义。

最佳答案

大多数显卡仅支持 16 个顶点属性。因为 Three.js 在 GPU 上计算变形目标,所以它需要分配这 16 个属性,以便位置、法线、蒙皮和顶点颜色等也有可用的属性。这就是为什么 Three.js 限制可用于变形目标的 8 个属性——其他 8 个分配在其他地方。从技术上讲,可以修改 Three.js 并进行更改 - 例如,获得最多 15 个变形目标和 1 个位置属性 - 但这对于 SO 答案来说可能太复杂了。

关于three.js - 增加网格上指定的最大变形目标数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29943639/

相关文章:

javascript - Three.js 使用 raycaster.intersectObject 选择 Object3D 的子级

javascript - 在 three.js 中使用相同的渲染器在两个场景之间切换

Three.js:如何在鼠标悬停时将立方体变形为球体?

java - 我将如何使用 imagemagick 库进行处理?

c++ - 如何使用VBO进行变形?

javascript - 使用javascript获取变形svg的当前坐标

javascript - 将 blob 写入文本文件?

javascript - 如何重置 three.js 时钟?

Android 录制的语音变形或操纵为有趣的声音

javascript - 从 Babylon.js 或 Three.js 导出