" THREE.Projector已移至/examples/js/renderers/Projector.js."

时间:2015-08-05 15:04:14

标签: three.js

在将我的three.js程序渲染到Google Chrome时,我一直在尝试纠正问题 它创建场景,但所有对象都呈现为黑色  该程序在firefox上正常工作,但由于更新到最新版本的three.min.js,每5次中有1次,所有对象都呈现为黑色。
到目前为止,我已经设法使用firefox终端调试我的代码。但是我遇到的最后一个错误如下。

"THREE.Projector has been moved to /examples/js/renderers/Projector.js."

据此我了解问题在于投影机。我声明为

projector = new t.Projector();

后来我用于以下内容 -

var mouseVector = new t.Vector3(
        ( e.clientX / WIDTH ) * 2 - 1,
      - ( e.clientY / HEIGHT ) * 2 + 1,
        1 );

    projector.unprojectVector( mouseVector, cam );

另外

pointerDetectRay = projector.pickingRay(mouse2D.clone(), cam);          
        var intersects = pointerDetectRay.intersectObjects(scenemodels.children);

我是否需要完全移除投影机的所有实例并将其更换为什么?如果是这样的话?或者错误是否与其他内容有关?

2 个答案:

答案 0 :(得分:4)

<script src="location-of-your-threejs-library-download/examples/js/renderers/Projector.js"></script> 曾经是three.js库的一部分,但知道它是外部的。所以你只需要把它作为一个脚本包含在内。

$('#div1').click(function () {
  var offsetTop = $('#p2EmpContPer').offset().top;
  $('#p2EmpContPer').focus();
  $('html, body').animate({
    scrollTop: offsetTop - 20
  });
});

答案 1 :(得分:2)

现在可以使用Raycaster实现投影仪的功能。

在这个问题上有一个很好的讨论:Three.js Projector and Ray objects