oculus-touch-controls
oculus-touch-controls
コンポーネントは、Oculus Touch
コントローラ(Rift、Rift S、Oculus Quest 1 および 2)とのインターフェイスを提供します。tracked-controls コンポーネント をラップし、ボタンマッピング、イベント、および Touch コントローラモデルを追加しています。
# 例
<a-entity oculus-touch-controls="hand: left"></a-entity>
<a-entity oculus-touch-controls="hand: right"></a-entity>
# Value
Property | 概要 | デフォルト値 |
---|---|---|
hand | 追跡される手(すなわち、右、左)。 | left |
model | タッチコントローラーモデルがロードされているかどうか。 | true |
orientationOffset | モデルの向きに適用するオフセット | x: 0, y: 0, z: 0 |
# イベント
イベント名 | 概要 |
---|---|
triggerdown | トリガーを押した状態。 |
triggerup | トリガーを離した |
triggertouchstart | トリガがタッチされた |
triggertouchend | トリガがもはやタッチされていない |
triggerchanged | トリガーが変更された |
thumbstickdown | サムスティックが押された |
thumbstickup | サムスティックが離された。 |
thumbsticktouchstart | サムスティックのタッチ操作 |
thumbsticktouchend | サムスティックのタッチが終了しました。 |
thumbstickchanged | サムネイルが変更されました。 |
thumbstickmoved | サムネイルの方向が変わりました |
gripdown | グリップボタンが押された |
gripup | グリップボタンが離された状態 |
griptouchstart | グリップボタンが押された状態 |
griptouchend | グリップボタンが押されなくなった状態 |
gripchanged | グリップボタンが変更されました。 |
abuttondown | Aボタンが押されました。 |
abuttonup | Aボタンが離されました。 |
abuttontouchstart | Aボタンがタッチされました。 |
abuttontouchend | Aボタンがもはやタッチされていない。 |
abuttonchanged | Aボタンが変更されました。 |
bbuttondown | Bボタンが押されました。 |
bbuttonup | ボタンが離されました。 |
bbuttontouchstart | Bボタンがタッチされました。 |
bbuttontouchend | Bボタンがもはやタッチされていない。 |
bbuttonchanged | Bボタンが変更されました。 |
xbuttondown | Xボタンが押されました。 |
xbuttonup | Xボタンが離されました。 |
xbuttontouchstart | Xボタンがタッチされました。 |
xbuttontouchend | Xボタンがもはやタッチされていない。 |
xbuttonchanged | Xボタンが変更されました。 |
ybuttondown | Yボタンが押されました。 |
ybuttonup | Yボタンが離されました。 |
ybuttontouchstart | Yボタンがタッチされました。 |
ybuttontouchend | Yボタンがもはやタッチされていない。 |
ybuttonchanged | Yボタンが変更されました。 |
surfacedown | Surfaceボタンが押されました。 |
surfaceup | Surfaceボタンが離されました。 |
surfacetouchstart | Surfaceボタンがもはやタッチされました。 |
surfacetouchend | Surfaceボタンがもはやタッチされていない。 |
surfacechanged | Surfaceボタンが変更されました。 |
# サムスティックthumbstick
の値を読む
サムスティックイベントをリッスンし、ハンドラに渡されたオブジェクトで値を利用することができる
<a-entity oculus-touch-controls="hand: left" thumbstick-logging></a-entity>
<a-entity oculus-touch-controls="hand: right" thumbstick-logging></a-entity>
AFRAME.registerComponent('thumbstick-logging',{
init: function () {
this.el.addEventListener('thumbstickmoved', this.logThumbstick);
},
logThumbstick: function (evt) {
if (evt.detail.y > 0.95) { console.log("DOWN"); }
if (evt.detail.y < -0.95) { console.log("UP"); }
if (evt.detail.x < -0.95) { console.log("LEFT"); }
if (evt.detail.x > 0.95) { console.log("RIGHT"); }
}
});