Unity × HTC Vive で超簡単にオブジェクトを掴む方法


VR上で物を掴む方法。
自分で実装してもいいけど(できるのなら)、VRTKを使用すれば簡単に実現できます。

まずは今回作成するUnityPJを作成します。

 

次にAsset StoreにいってVRTKをげとします。

 

あと、一番大事なSteamVRもインポートしないと動かないのでげとします。

インポートできたら、実際にVRTKを触ってみます。
構成は、VRTK – Examples – scene となります。

005が物を掴むサンプルになるので、こいつを開いてみます。

Unity上のサンプルシーン005

VR操作中のシーン

実際に物を掴んでるところ
Viveコントローラのトリガーの下にあるサイドボタンみたいなんをクリックすれば掴めます。

次は、自身の作ったオブジェクトまたは、AssetでげとしたかっこいいオブジェクトにもVRTKで実装されているコントロールをアタッチしてみます。

ExampleObjects – Cube_NoHightlightOnTouch にアタッチされているスクリプトを確認します。


以下の3つのスクリプトが確認できたので、それを任意のオブジェクトに追加していきます。

  • VRTK_InteractableObject
  • VRTK_FixedJointGrabAttach
  • VRTK_SwapControllerGrabAction

追加した任意のオブジェクトにスクリプトをアタッチして、
Grab Attach Mechanic Script, Secondart Grab Action Script に自身のオブジェクトを紐づけます。また Is Grabbable にチェックを入れて実際につかめる状態にします。
※Box Collider, Rigidbody は追加。

刀オブジェクトを追加して~

Vive コントローラのトリガーの下にあるにぎにぎボタン(名前しらん)で掴むことができました。

これでSAOの世界の第一歩となりました。
早くスターバーストストリームを実現してみたいですが果てしなく遠そうです。というよりできてもめっちゃ酔ってしまいそう。。。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です