动态改变 Raycaster 位置

Changing Raycaster position dynamically

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

这里是 example.

尝试改一个代码如下:

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() );
...