2016-09-08 1 views
1

オブジェクトモデルの名前にアクセスする方法は、読み込み時に定義されていますが、intersectObjects関数から返された配列からアクセスできますか?以下のコードは何らかの理由で未定義のログです。OBJLoader経由でロードされたオブジェクトモデルの名前をhover-Three.jsで取得します

var objLoader = new THREE.OBJLoader(); 
    objLoader.setPath('obj/'); 
    objLoader.load('deadpool.obj', function(object){ 
    objModel = object; 
    objModel.name = 'ObjectModel3D'; 
    modelHasLoaded = true; 
    scene.add(objModel); 
}); 

window.addEventListener('mousemove', function(eventTarget){ 
    var intersects = checkIntersection(eventTarget); 
    if(intersects.length){ 
    console.log(intersects[0].name); 
    } 
}, false); 

答えて

1

解決策が見つかりました。 objModel.userData.name属性を使用して名前を設定する必要があります。ホバー上でアクセスするには、[0] .object.parent.nameを使用します。これが将来のクエリに役立つことを望みます。

+0

はい!ありがとうございました !これで3時間ブロックされました。 'video.src = intersects [0] .object.parent.userData.URL; 'を使用して、userDataオブジェクトのURL属性にアクセスできました。 – gael

関連する問題