动态更改Raycaster位置

时间:2015-01-09 14:00:54

标签: jquery three.js draggable raycasting

我有一个画布,里面有几个立方体。我使用Raycaster来选择它们并改变它们的颜色。但画布在draggable物体内部,当我四处移动时,我无法改变颜色,颜色变化在原始位置起作用。我想我也必须改变Raycaster的尺寸。我怎么能这样做?

这是example

1 个答案:

答案 0 :(得分:5)

尝试按如下方式更改代码:

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() );
...
相关问题