[HTC VIVE + Unity] レーザーポインターの実装方法 (3)
HTC VIVE用VRアプリ開発でUnityを使用してレーザーポインターを実装する方法を紹介します。
本記事は前回の「[HTC VIVE + Unity] レーザーポインターの実装方法 (2)」の続きです。
今回は、HTC VIVEコントローラーの先からレーザーポインターが出力されるようにする方法を紹介します。
HTC VIVEコントローラーの先からレーザーポインターが出力されるようにする
前々回の「[HTC VIVE + Unity] レーザーポインターの実装方法 (1)」にて ImportしたSteamVRプラグインにレーザーポインター用のスクリプトが入っていますので、そちらを使用します。
SteamVR/Extrasの下にある「SteamVR_LaserPointer」スクリプトを、[CameraRig] prefab 内のControllerのゲームオブジェクトにドラッグ&ドロップします。

レーザーポインターの出力をおこないたいControllerのゲームオブジェクトにドラッグ&ドロップしてください。
右手、左手、両方のコントローラーからレーザーポインターを出力したい場合、両方のControllerのゲームオブジェクトにドラッグ&ドロップする必要があります。
この時点で「Play」ボタンを押して動作の確認をします。
コントローラーの先から黒色のレーザーポインターが表示されることが確認できました。

またコントローラーのトリガーボタンを押すと黒色のレーザーポインターが緑色に変化します。

レーザーポインターを表示することはできましたが、3D空間内のオブジェクトを指し示したり、トリガーを引いた際の衝突判定はこの状態ではまだ出来ません。
colliderによる衝突判定処理は手動で追加する必要があります。
レーザーポインターに衝突判定処理を追加する方法は次回紹介します。
金曜日担当:nishida
nishida at 2021年02月05日 10:00:27