我将 .3DS 模型导入 Blender 2.72b,然后使用 Three.js 导入/导出插件导出它们。该模型具有多个几何“岛”(独立的连接面和顶点组),每个几何“岛”都有自己的 Material 。我希望能够将每种 Material 与其相应的岛配对,而不必创建单独的 THREE.Geometry 对象。经过一番挖掘,我发现this question建议使用 THREE.MeshFaceMaterial 为一个对象实现多种 Material 。唯一的问题是该示例中的几何体是一个简单的立方体,而我的模型有数百个面分布在 2-5 个岛屿上。
Three.js 是否具有识别网格中几何“岛”的功能?
最佳答案
没有。 Three.js 没有识别网格中的几何“岛”的功能。
使用 MeshFaceMaterial
时,WebGLRenderer
无论如何都会将几何图形分解为 block - 每种 Material 一个 block 。这样做是因为 WebGL 支持每个几何体一个着色器。
我不会合并所有几何图形,然后使用 MeshFaceMaterial
,只是让渲染器将单个几何图形分开。
如果您愿意,您可以合并共享单一 Material 的几何图形。
三.js r.69
关于Three.js - 导入时可以检测几何图形 'islands' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26849791/