2017-10-24 36 views
0

hello私のフレームコンポーネントにメッシュを追加しようとしましたが、奇妙なエラーが発生しました。このaframeエラー:THREE.Object3DのインスタンスではないオブジェクトでEntity.setObject3Dが呼び出されました

AFRAME.registerComponent('mysquare', { 
     init: function(){ 
     var el = this.el; 

     var box = new THREE.BoxGeometry(40, 5, 40); 
     var boxMesh = new THREE.Mesh(box); 
     boxMesh.position.set(25, 0, 25); 
     el.setObject3D("mesh", boxMesh); 

     } 
    }); 

home.html

<ion-content> 
     <div></div> 
     <a-scene embedded> 
     <a-entity mysquare></a-entity> 
     </a-scene> 
</ion-content> 

エラーメッセージ

Error: Entity.setObject3D was called with an object that was not an instance of THREE.Object3D .

私はまた、01試み機能が同じメッセージを受信しました。どのように可能ですか?

ionic 2 + aframe v.0.7.1で自分のアプリを開発します。私も0.5.0のバージョンで試してみましたが、私は同じ問題があります

+0

Hm、それは完全に正しいように見えます。おそらく、エラーはコードベースのどこか他の場所から来ていますか?サニティチェックのために 'setObject3D( 'mesh'、new THREE.Object3D())'を試してください。 – ngokevin

+0

私は書いたことを忘れましたが、私はすでにこのことを試みました。同じエラー、実際には私はコードではないと思う。私はそれがionic2とある種の非互換性が存在すると思いますか? –

答えて

0

最後に、私は問題を3jsライブラリを直接含めずに解決しました。

私のインポートセクションでは、この

import * as THREE from 'three'; 
declare var AFRAME; 

だった私は、最初のインポートを削除したし、今、すべてのそれは大丈夫です。今私はこのモードで3dオブジェクトを作成することができます

el.setObject3D("mesh", new AFRAME.THREE.Object3D()); 
関連する問題