[Unity] Easy Input で Oculus Go アプリにレーザーポインター機能を簡単追加 2
前回 に続いて、Oculus Go と Gear VR のコントローラーで、レーザーポインターとかのよくある操作を簡単に実現できる Unity アセット「Easy Input for Gear VR and Oculus Go」を使ってみるよ。前回は、コントローラーをレーザーポインターにするところまでできたよね。
※ Easy Input for Gear VR and Oculus Go バージョン 1.2、Pack Gesta Furniture #1 バージョン 1.1、Unity バージョン 2018.2.6f1 のときの内容です。
ポインターで指されたときの処理を追加
Standard Pointer Receiver は、ポインターで指されていることを知るだけの一番シンプルな Receiver だね。On Hover/On Hover Enter/On Hover Exit ってあるように、指されている・指されるの開始・指されるの終了のタイミングで、何かしらの処理を実行できるようになっているね。
On Hover Enter と On Hover Exit の「+」ボタンをクリックして、タンスオブジェクトの Change Color スクリプト内の toggleColor を実行できるように設定してみて!
タンスオブジェクトに Collider を追加するのも忘れずに。
ここまでを実行してみると……うまく動いたかな?
タンスオブジェクトに Collider の追加と、レーザーポインターの Standard Laser Pointer で Collider Raycast のチェックをオン、Layers To Check を Everything にしておくのを忘れずにね。
ポインターでクリック!
次は、Standard Pointer Receiver の代わりに、「Standard Pointer Click Receiver」スクリプトに差し替えてみよう。こっちを使うと、ポインターで指されたときに、各種クリック動作の処理を実現できるね。
試しに、On Hover Click Start/On Hover Click End に ChangeColor の toggleColor を実行するように設定してみて。
「Click」は、Oculus Go のトリガーのアクションのようね。Touch サーフェスのクリック動作は、Easy Input の「Custom Touch Void Controller」や「Custom Touch Input Controller」スクリプトを同じように使うとできそう。Easy Input のサンプル Scene も参考になるわ。
ポインターでつかむ!
「Standard Grab Receiver」スクリプトを使うとポインターでつかんでオブジェクトの移動も簡単にできるよ。
たくさんパラメーターがあるね~。
それぞれの意味は、こんな感じ?
- Grab Condition: つかむボタン
- Drop Condition: オブジェクトをはなすときの動作。自由落下、現在の速度または直近の速度の平均値を用いて投げる。
- Throw sensitivity: 投げる動作を強く・弱くするための乗数
- Block Movement: つかむときに一時的に移動をブロック
- Movement Object: 移動をブロックするオブジェクト
- Allow Click for Depth: Touch サーフェスの上下クリックでオブジェクトを近く・遠くに移動
- Click Deadzone: 近く・遠くに移動させるときクリックに必要な Touch サーフェスの移動量
- Click Sensitivity: オブジェクトの移動速度
- Min Depth Distance: オブジェクトを近づけられる距離
- Max Depth Distance: オブジェクトを遠ざけられる距離
- Allow swipe for Rotation: Touch サーフェスのスワイプでオブジェクトを回転
- Swipe X sensitivity: X軸の回転を速く・遅くする乗数
- Swipe Y sensitivity: Y軸の回転を速く・遅くする乗数
- Collisions Break Grab: Collider にぶつかるとつかむ動作を終わる
- Lock X, Y or Z Position: X, Y, Z の位置を固定
- Lock X, Y, or Z Rotation: X,Y, Z の回転を固定
- Twist Mode: コントローラーの傾きでオブジェクトを回転
- Twist sensitivity: 回転を速く・遅くする乗数
重力を有効するには、つかむオブジェクトに Rigidbody を追加。あと床あたりに Collider 設定した Cube とかを配置してみよう。
※ 公式のドキュメント等を参考に一ユーザーとして書いた記事です。詳細は、公式のドキュメントを確認してください。
The following two tabs change content below.
都内の公立高校に通う高校生。部活は、情報処理研究会。身体を動かすのも好きで、気が向いたときはなぜか体育会系の部活に混ぜてもらっていろんなスポーツをすることも。プログラミング生放送のキャラクターとして活動中!
最新記事 by kei (全て見る)
- プロ生ちゃんチョコプログラミングコンテスト2024開催! - 2024/02/13
- HSP プログラムコンテスト2023 結果発表&プロ生ちゃん賞発表! #hsp3 - 2023/12/04
- プロ生ちゃんクリスマスプログラミングコンテスト2023開催! - 2023/12/04