【问题标题】:Changing Raycaster position dynamically动态更改 Raycaster 位置
【发布时间】:2015-03-07 20:56:16
【问题描述】:

我有一个画布,里面有几个立方体。我使用 Raycaster 来选择它们并更改它们的颜色。但是画布位于 draggable 对象内,当我四处移动时,我无法更改颜色,颜色更改在原始位置起作用。我想我还必须改变 Raycaster 的尺寸。我该怎么做?

这里是example

【问题讨论】:

  • onDocumentMouseDown() 在拖动事件之后甚至没有被调用。我不认为这是一个three.js的问题。
  • 问题是如何解决它..

标签: jquery three.js draggable raycasting


【解决方案1】:

尝试如下更改代码:

function onDocumentMouseDown( event ) {

    event.preventDefault();

    var x = event.offsetX == undefined ? event.layerX : event.offsetX;
    var y = event.offsetY == undefined ? event.layerY : event.offsetY;

    var vector = new THREE.Vector3();
    vector.set( ( x / renderer.domElement.width ) * 2 - 1, - ( y / renderer.domElement.height ) * 2 + 1, 0.5 );
    vector.unproject( camera );

    raycaster.ray.set( camera.position, vector.sub( camera.position ).normalize() );
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-18
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    相关资源
    最近更新 更多