A-Frame / THREE.js, модификатор Simplify на моделях gltf [glb] - PullRequest
0 голосов
/ 30 августа 2018

Один из примеров трех модификаторов упрощения, найденный здесь https://github.com/mrdoob/three.js/blob/dev/examples/js/modifiers/SimplifyModifier.js

Я понимаю, что это берет геометрию и упрощает ее.

Есть ли способ сделать это с моделью GLTF?

1 Ответ

0 голосов
/ 30 августа 2018

Да - см. Пример упрощенного кода для получения полного кода, но суть в том, что вы можете использовать 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 );

} );
...