2016-11-14 24 views
0

Aフレームにcollada(.dae)ファイルを読み込みます。そのロードされた細かい。AフレームまたはJSのCollada(.dae)ファイルコードを更新

:しかし、今、私はこれがロードされたフレームコードです

HTMLから.DAEファイル内のコードを更新する方法..色、などのようなユーザ入力から、そのファイルを更新する必要があり、JSや、フレーム
<a-scene> 
    <a-assets> 
     <a-asset-item id="box" src="box.dae"></a-asset-item> 
    </a-assets> 
    <a-entity id="collada" collada-model="#box"></a-entity> 
     <a-entity id="cmr" position="0 1 5" rotation="0 0 0"> 
     <a-camera> 
      <a-cursor color="#2E3A87" > 
     </a-camera> 
     </a-entity> 
</a-scene> 

どうすればいいですか?html、js、A-Frameなどを使用して.daeファイル内のコードをユーザー側から更新するにはどうすればよいですか?

これは、Colladaのファイルです:box.dae

答えて

0

Aフレームの組み込みコンポーネントは、ごく基本的な上書きをサポートします(例えば​​を使用してモデルの色を設定することができるかもしれない、私はわかりません)。より高度なものについては、A-Frame自身が使用するTHREE.js APIを使用する必要があります。

AFRAME.registerComponent('model-overrider', { 
    init: function() { 
    this.el.addEventListener('model-loaded', function(e) { 
     var model = e.detail.model; 
     model.traverse(function(o) { 
     if (o instanceof THREE.Mesh) { 
      // modify o.material or o.geometry here. 
     } 
     }); 
    }); 
    } 
}); 

使用法:

<a-entity collada-model="..." model-overrider> </a-entity> 

ドキュメント - 材質や形状のインスタンスをカスタマイズする方法についての詳細の多くがあります - しかし、ここでは非常に基本的な例私はTHREE.jsのドキュメントを覗きお勧めしますTHREEについて。https://threejs.org/docs/index.html?q=material#Reference/Materials/Material

さらに複雑な例として、個々の頂点を変形するには<a-ocean/>を参照してください。


そして、あなたはどんな深刻な手動編集を行いたい場合はもちろん、あなたの代わりにブレンダー、マヤ、または他の3Dモデリングプログラムを使用していることになるでしょう。 :)

+0

色のような.daeファイルコンポーネントを変更できますか?これはdaeファイルのコードです。 ' 0 0.64 0.64 1 'です。したがって、このコードを使用してこのコードを変更または更新できますか? –

+0

@Sunilgauswamiはい、上のコードに示すように、 'o.material'を取得し、' o.material.color'を設定することができます。例:髪の色、布、体の大きさ、体重、体重などのdaeモデルの他のプロパティを変更したい場合は、http://stackoverflow.com/questions/12564156/three-js-change-material-on-runtime –

+0

どのように私たちはそれを行うことができますなど。 daeファイルのすべてのプロパティ。これはdaeファイルです:[body.dae](https://drive.google.com/open?id=0B4zkSgVE4wsAYWl5dTZVVXpUbEU)。 –

関連する問題