look-controls
look-controlsコンポーネントです。
- VRヘッドマウントディスプレイ(HMD)を回転させたときにエンティティを回転させる。
- マウス操作によるエンティティの回転。
- タッチスクリーンをタッチ・ドラッグしたときにエンティティを回転させる。
# 例
ルックコントロールコンポーネントは、通常、カメラコンポーネントと一緒に使用されます。
<a-entity camera look-controls position="0 1.6 0"></a-entity>
# プロパティ
| Property | 概要 | デフォルト値 |
|---|---|---|
| enabled | ルックコントロールが有効かどうか。 | true |
| hmdEnabled | ヘッドマウントディスプレイが有効かどうか | true |
| reverseMouseDrag | マウスドラッグを反転させるかどうか。 | false |
| reverseTouchDrag | タッチドラッグを反転させるかどうか。 | false |
| touchEnabled | マジックウィンドウモードでタッチコントロールを使用するかどうか。 | true |
| mouseEnabled | 2D モードでカメラを動かすのにマウスを使うかどうか。 | true |
| pointerLockEnabled | Pointer Lock API (opens new window) を使ってカーソルを隠すかどうか。 | false |
| magicWindowTrackingEnabled | モバイルデバイスでジャイロスコープのカメラトラッキングが有効かどうか。 | true |
# ルックコントロールをカスタマイズする
A-Frameのlook-controlsコンポーネントは、主にVR向けのもので、プラットフォームを超えて動作するように適切なデフォルト値が設定されていますが、多くの開発者は、VR以外のユースケース(例えば、デスクトップ、タッチスクリーン)にA-Frameを使用したいと考えることもあります。マウスやタッチの動作を変更したいと思うかもしれません。
動作を設定する最善の方法は、現在のlook-controlsコンポーネントコードをコピーしてカスタマイズすること (opens new window)です。これにより、コントロールを好きなように構成することができます(例えば、タッチ時のピッチを制限したり、1つの軸を反転させたり)。もし、すべての可能な設定をコアコンポーネントに含めると、さまざまなフラグを維持することになります。
このコンポーネントは、Browserify/Webpackのコンテキストで動作するため、require文をA-Frameグローバル(例:AFRAME.registerComponent、 window.THREE)に置き換えて、module.exportsを削除する必要があります。
# 注意事項
ルックコントロール用のコンポーネントを自作する場合は、HMDトラッキングの仕組みをコピーして、コンポーネントに貼り付ける必要があります。将来的には、より簡単にコントロールを作成できるような仕組みを用意する予定です。