如何在Aframejs中加载3D模型?它目前在threejs中工作正常

时间:2018-03-06 17:13:10

标签: javascript three.js augmented-reality aframe

我创建了一个3D动画模型,我设法在threejs中运行。

var loader = new THREE.FBXLoader();
loader.load( 'model.fbx', function ( object ) {              
     object.mixer = new THREE.AnimationMixer( object );
     mixers.push( object.mixer );
     console.log(object.animations.length);
     var action = object.mixer.clipAction( object.animations[ 0 ] );
     action.play();
     object.traverse( function ( child ) { 
       if ( child.isMesh ) { 
          child.castShadow = true;
          child.receiveShadow = true; 
       } 
     });
     scene.add( object );
});

它在threejs上运行得非常好,但是如何在aframe中使用它,我正在尝试创建AR应用程序。 我没有得到足够的文档,在AFrame中我可以在标记上显示obj模型但是aframe-extras似乎不起作用,但Threejs FBX加载程序工作正常。我需要帮助才能在标记扫描上显示三个场景。

2 个答案:

答案 0 :(得分:2)

我使用FBX2glTF将模型转换为glTF并且对我来说很好。 https://github.com/facebookincubator/FBX2glTF

答案 1 :(得分:1)

关于主题:a-frame中的3D模型

尝试使用three.js JSONglTF格式。这两种格式都由docs中的a-frame团队推荐。

我记得Don McCurdy指出fbx模型很复杂且难以解释,这就是为什么JSON格式来到webGL的原因。

在使用ar.js时,我记得使用具有多个动画的Three.js JSON模型以及glTF静态/单动画模型时没有问题。

您可以使用khronoskupomans导出器轻松将模型导出到gltf,使用this one轻松将模型导出到{。{1}}。

此外,JSON模型可以使用核心a-frame库,而无需添加任何内容!

关于fbx,我从来没有让它们正常工作,所以因为其他的是为webGL设计的,我试试看。