我在Three.js中有这个模型:
我使用了Unity资源商店中的插件,将模型导出到JSON文件中,然后导入到我的three.js应用程序中。问题是该插件不会导出平滑组,因此模型的质量看起来不太好。
有没有办法用three.js来平滑一切?
答案 0 :(得分:1)
你可以使用THREE.SubdivisionModifier并像这样使用它:
var modifier = new THREE.SubdivisionModifier(divisions);
// Apply the modifier to your geometry NOT MESH.
modifier.modify( geometry );
实际上它没有包含在Three.js构建中,所以你必须导入它。 你可以得到它here
更新1 基本上你将JSON文件作为Object3d加载,就像一个容器。它的结构如下:
所以为了修改"几何"你需要像这样访问它:
modifier.modify( mesh.children[0].children[0].geometry );
您需要为场景中的每个模型应用修改器,因此:
modifier.modify( mesh.children[0].children[0].geometry );
modifier.modify( mesh.children[0].children[1].geometry );
modifier.modify( mesh.children[0].children[2].geometry );
取决于您拥有的型号数量。 这就像你必须打开一个容器,在里面找到一个较小的容器,然后找到另一个容器,依此类推,直到你访问几何数据。希望它足够清楚:))