0
所以我在一個遊戲世界裏工作,一切都包含在一個skydome(應用了環境紋理的巨大球體)中。天空中的三個js Raycast
我試圖找出射線在天球線內的相交點,以便找出矢量球員將需要移動。
到目前爲止我發現的唯一問題是光線不會被投射到天空雲臺內,而是在它外面放大。
這就是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);
}
而且,我會gratefull如果有人能解釋我如何得到載體,其中光線投射去,不使用raycaster.setFromCamera(mouse, camera);
但raycaster.set(playerModel, targetVector);
目的矢量是否需要是體育館的位置矢量?
我剛剛發現,通過使用'SkyDome.material.side = Three.DoubleSide'工作對我來說,也返回線的交點。不過在由於它是從相機設置的,因此ray不會投射精確點擊的座標。 –
然後接受這個答案,並提出另一個問題,從另一個角度進行光線投射。 – Martin