javascript - A-Frame/THREE.js,简化 gltf[glb] 模型上的修改器

标签 javascript three.js aframe

在此处找到的三个简化修饰符中的示例之一 https://github.com/mrdoob/three.js/blob/dev/examples/js/modifiers/SimplifyModifier.js

我理解它接受几何并对其进行简化。

有没有办法用 gltf 模型做到这一点?

最佳答案

是的——引用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 );

} );

关于javascript - A-Frame/THREE.js,简化 gltf[glb] 模型上的修改器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52087673/

相关文章:

javascript - 我无法使用此JS代码播放音频。语法正确,但是吗?

javascript - Promise.reject().catch(console.log) 在我的 Android 5.1 手机上收到 `Illegal invocation`

javascript - 白色 Sprite Material ?

javascript - 鼠标悬停在球体上时显示文本

javascript - AngularJS中的错误处理 http get then construct

javascript - 如何在浏览器解析 HTML 之前对其进行预处理 - 阻止资源加载

javascript - ThreeJS 胎面旋转

three.js - ThreeJS 预定义着色器属性/制服

javascript - 获取相机位置javascript

javascript - 使用A-Frame `state`组件时如何重置为初始状态?