A-Frame / THREE.js, модификатор Simplify на моделях gltf[glb]
Один из трех примеров модификатора упрощения можно найти здесь https://github.com/mrdoob/three.js/blob/dev/examples/js/modifiers/SimplifyModifier.js
Я понимаю, что это берет в геометрии, и упрощает это.
Есть ли способ сделать это с моделью GLTF?
1 ответ
Решение
Да - обратитесь к примеру с упрощением для полного кода, но суть в том, что вы можете использовать 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 );
} );