[HTC VIVE + Unity] レーザーポインターの実装方法 (4)

HTC VIVE用VRアプリ開発でUnityを使用してレーザーポインターを実装する方法を紹介します。
本記事は前回の「[HTC VIVE + Unity] レーザーポインターの実装方法 (3)」の続きです。
今回は、前回追加したレーザーポインターに衝突判定処理を追加する方法を紹介します。

レーザーポインターに衝突判定処理を追加する

当たり判定の動作確認用に3Dゲームオブジェクト「TestCube」を配置します。

当たり判定の挙動は以下のようになるように想定します。

・レーザーポインターがTestCubeに触れたときTestCubeは青色になります。
・レーザーポインターがTestCubeから離れたときTestCubeは黄色になります。
・レーザーポインターがTestCubeに焦点をあわせてトリガーをひいたときTestCubeは赤色になります。

レーザーポインター衝突判定のスクリプト例

上記の挙動になるように設定した衝突判定処理のスクリプトは以下のようになります。
Class名は仮に「LaserPointerHandler」としていますが、名称は任意で構いません。

上記のスクリプトを空のゲームオブジェクト等にアタッチします。
publicで設定した laserPointer, laserPointer2 には右手/左手それぞれの「SteamVR_LaserPointer」スクリプトをアタッチします。

動作確認

「Play」ボタンを押して動作の確認をします。

レーザーポインターがTestCubeに触れたときTestCubeは青色になります。

レーザーポインターがTestCubeから離れたときTestCubeは黄色になります。

レーザーポインターをTestCubeに焦点をあわせてトリガーをひいたとき、レーザーポインターの光線が緑色になりTestCubeは赤色になります。

以上の動作の確認ができました。

金曜日担当:nishida



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム