Raycasterまたはリモートが指しているプリミティブを描画したいと思います。私はaframeまたはthree.jsで何らかの "Orientationを取得する"メソッドを探しています。私のコントローラーが指しているところで、世界座標を取得するシンプルで速い方法がありますか? ありがとうございます!空想コントローラーオリエンテーション
アップデート:ここで コードです:
HTML: [...]
<a-entity id="remote" daydream-controller raycaster="objects: .selectable">
<a-cone id="ray" color="cyan" position="0 0 -2" rotation="-90 0 0" radius bottom="0.005" radius-top="0.001" height="4"></a-cone>
<a-box id="position-guide" visible="false" position="0 0 -2"></a-box>
</a-entity
ここでは、HTMLにJavaScriptのである:ロードされた白昼夢のデータを取得するための
var rayEl = document.querySelector('#remote');
rayEl.addEventListener(
var rayElDirection = new THREE.Vector3(0,0,-1);
rayEl.object3D.getWorldDirection(rayElDirection);
console.log("Raycaster Direction: " + rayElDirection);
ありがとうございます!私はgetWorldDirection()関数を試しましたが、コントローラの現在の位置を指し示す方向ではありません。私はすでに別の方法を試みたが、何も動作していないようだ。四元数から情報を取得しようとすると、値は実際の方向を表すようには見えませんでした。 私は次の方向を試しました: 'var rayElDirection = new THREE.Vector3(0,0、-1); rayEl.object3D.getWorldDirection(rayElDirection); ' しかし、私はそれが現在のリモート位置を取得するようだと述べた。 – JllX
rayElの種類はわかりません。デイドリームコントローラにアクセスするために使用している実装にリンクできますか? object3dにデータを間違って読み込んだ場合、正しく動作しません。また、回転させる必要があることを意味する90度回転してもかまいませんが、正のZ軸に沿った単位ベクトルでなければなりません。 daydreamcontroller.getworlddirection()は、そのオブジェクトの正の軸に沿って指すベクトルを返します。それは関数がすることです。 getworldposition()は、そのObject3Dの位置を返します。コードやヘルプを共有するだけです – OtterFamily