電子工作等調べたことの備忘録

電子工作ブログ

Unity(ユニティー)

Viveコントローラーと接触したオブジェクトの情報取得

投稿日:

UnityでViveコントローラーと接触したオブジェクトの情報を取得する方法を記録しておく。

UnityにはOnTriggerEnterというメソッドがあるので、ViveコントローラーのInspectorに新規スクリプトを付け、下記の内容を記述すれば良い。上手く動いていれば、オブジェクトに接触する度にログに「接触して、接触相手の名前を取得」と表示されるはず。

コントローラーが接触した相手は、otherと書くだけで呼び出すことができる点が非常に使いやすい。下のスクリプト例にある、other.gameObjectはコントローラーと接触したオブジェクトのことなので、grabedByControllerにコントローラーと接触したオブジェクトが代入される。other.gameObjectの後に、.nameとか.transform.positionを付ければ、接触したオブジェクトの名前や座標を取得することも簡単にできる。

なお、このメソッドを使用する際の注意点として、コントローラーと接触相手のオブジェクトのInspector設定がある。このメソッドが呼ばれる条件として、コントローラーか接触相手の少なくとも一方にrigidbodyが付けられていなければならない。また、両方にcolliderの設定もされていなければならない。(反対に、ステージに複数のオブジェクトがあり、接触時に情報取得したくないものがあればcollider設定を外しておけば良い)

おすすめの記事

1

発生した問題 端末にSIMカードを挿してapn設定画面に入ると、はじめからYmobileという名前のapn設定が登録されていた。apn、ID、PASS等はYmobileの公式ページhttps://ww ...

2

ArduinoにBluetoothモジュール、温度センサを繋げて、読み取った温度をAndroidスマホに送信するというものを作ってみた。   Arduino + 温度センサで温度センサの値を ...

3

Unityでステージを作成し、ステージの中のボタンをViveのコントローラーでクリックすると、kobuki(TurtleBot2)へメッセージが送信され、動作させることができるというものを作ったのでい ...

-Unity(ユニティー)

Copyright© 電子工作ブログ , 2019 All Rights Reserved Powered by STINGER.