动态改变 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() );
...
我有一个 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() );
...