有没有办法从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);

最佳答案

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

关于javascript - 获取悬停时通过OBJLoader加载的对象模型的名称-Three.js,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39391017/

10-09 22:32