【发布时间】:2019-02-04 20:19:00
【问题描述】:
在此处找到的三个简化修饰符中的示例之一 https://github.com/mrdoob/three.js/blob/dev/examples/js/modifiers/SimplifyModifier.js
我知道它包含几何图形,并对其进行了简化。
有没有办法用 gltf 模型做到这一点?
【问题讨论】:
标签: javascript three.js aframe
在此处找到的三个简化修饰符中的示例之一 https://github.com/mrdoob/three.js/blob/dev/examples/js/modifiers/SimplifyModifier.js
我知道它包含几何图形,并对其进行了简化。
有没有办法用 gltf 模型做到这一点?
【问题讨论】:
标签: javascript three.js aframe
是的——完整代码请参阅simplifier example,但要点是您可以照常使用 SimplifyModifier,除非您需要遍历模型以防它包含多个网格:
var loader = new THREE.GLTFLoader();
loader.load( 'foo.glb', function ( gltf ) {
var model = gltf.scene;
var modifer = new THREE.SimplifyModifier();
model.traverse( function ( o ) {
if ( o.isMesh ) {
var numVertices = o.geometry.attributes.position.count;
o.geometry = modifer.modify( o.geometry, Math.floor( numVertices * 0.9375 ) );
}
} );
scene.add( model );
}, undefined, function ( e ) {
console.error( e );
} );
【讨论】: