Skydome内的三个js Raycast

时间:2016-05-29 18:17:22

标签: three.js

所以我在一个游戏世界工作,一切都包含在天幕(应用了环境纹理的巨型球体)中。

我试图找出天幕中光线的交叉点,以便找出向量播放器需要移动的位置。

到目前为止我发现的唯一问题是光线不会在天幕内部投射,而是在它外面进行缩放。

这就是raycaster在我身边的样子。

        mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;
        mouse.y = - ( event.clientY / window.innerHeight ) * 2 + 1;

        // update the picking ray with the camera and mouse position
        raycaster.setFromCamera( mouse, camera );
        // raycaster.set(playerModel, c);

        // calculate objects intersecting the picking ray
        var intersects = raycaster.intersectObjects( scene.children, true );

        console.log(intersects);
        for ( var i = 0; i < intersects.length; i++ ) {

            intersects[ i ].object.material.color.set( 0xff0000 );

        }

另外,如果有人能解释我如何获得光线投射所在的矢量,我将不胜感激,而不是使用raycaster.setFromCamera( mouse, camera );raycaster.set(playerModel, targetVector); 目标矢量是否需要是天幕的位置矢量?

1 个答案:

答案 0 :(得分:0)

我多次使用的工作示例:

Derived*