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の世界の第一歩となりました。
早くスターバーストストリームを実現してみたいですが果てしなく遠そうです。というよりできてもめっちゃ酔ってしまいそう。。。

Unity勉強会に参加してゲーム作った

GDG神戸さん主催のUnity初心者向けのハンズオンセミナーに参加してきた。

 

初心者向けのセミナーなので、

  1. Unityの操作方法
  2. アセットストアからのダウンロードとインポート
  3. C#のプログラム(JSはなし)
  4. ビルド&ラン

的な感じだった。

 

目的は初心者でもゲームが作れますよ的な感じで、
そこまで難しい事はなかった。

とはいえ、Unity初心者なので楽しくゲーム開発をできた。

C#自体も初めて書いたけどほぼJavaと同じなので、特に敷居は高くなかった。

 

Unityでバリバリやるのも楽しそうだけど、

たぶん今後やるとしたら、モデル部分はアセットストアから落としてきて、

プログラムの部分だけ独自でやっていく感じになりそうな気がする。

まぁイーサン君みたいなデフォで完璧に動くのもあるので、PGもあんまいらないかもしれない。

(なんでも自分でできたら楽しいだろうけど)

 

て、事でUnity勉強会で作ったのをWebにあげてみました。

  1. 戦車ゲーム
  2. 戦車ゲーム?(イーサン君)

 

* 一回画面をクリックしないとブラウザに入力がとられているっぽい

* 1. 十字キー:移動、Ctrで大砲ショット

* 2. 十字キー:移動、スペースでジャンプ

 

今後もUnity勉強してVRを熱くなるのを近くで見ていたいと思う。

とりあえずOculusかViveを買って自分の作った世界に入っていたいと思ふなど。