私は三次元シーンでRaycasterを使用して、VR相互作用の一種を作成しようとしています。 ノーマルモードではすべて正常に動作しますが、ステレオエフェクトを有効にすると動作しません。threejs raycasterは立体モードで交差できません
次のコードスニペットを使用しています。私は通常モードで上記のコードスニペットをしようとしたとき、私はで心配した3Dオブジェクトのいずれかを探していたときに
// "camera" is a ThreeJS camera, "objectContainer" contains objects (Object3D) that I want to interact with
var raycaster = new THREE.Raycaster(),
origin = new THREE.Vector2();
origin.x = 0; origin.y = 0;
raycaster.setFromCamera(origin, camera);
var intersects = raycaster.intersectObjects(objectContainer.children, true);
if (intersects.length > 0 && intersects[0].object.visible === true) {
// trigger some function myFunc()
}
はしたがって、基本的に、myFuncというがトリガされます。 しかし、私がステレオモードに切り替えるとすぐに動作を停止します。すなわち、myFuncがトリガーされることはありません。
origin.xの値を-0.5に更新しようとしました。 VRモードでは、画面が2つに分割されるため、私はそれを行いました。しかし、それはどちらもうまくいかなかった。
VRモードで3Dオブジェクトをレイキャスターと交差させるにはどうすればよいですか(ステレオ効果がオンの場合)?
ありがとうございます。ステレオモードでは、ThreeJSは2つの別々のカメラを利用しています。私は私の必要に応じてStereoEffect.jsライブラリファイルを更新しようとします。それがうまくいくなら、私はここに返信します。 – gdebojyoti