获取在悬停时通过OBJLoader加载的对象模型的名称 - Three.js

时间:2016-09-08 12:31:38

标签: javascript three.js

有没有办法从intersectObjects函数返回的数组中访问加载期间定义的对象模型的名称?由于某种原因,下面的代码是未定义的。

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 个答案:

答案 0 :(得分:1)

找到解决方案。您必须使用 objModel.userData.name 属性设置名称。要在悬停时访问它,请使用 intersects [0] .object.parent.name 。希望这有助于未来的查询。