Unity
VR
SteamVR

SteamVR Plugin 2.0 セットアップ・サンプルシーンを動かすまでの備忘録

はじめに

  • この記事はSteamVR Plugin 2.0を最低限動かすためのHow toをまとめました。
  • SteamVR Pluginの中のサンプルシーンを動かすところまでです。
  • Assets\SteamVR\InteractionSystem\Samples\Interactions_Example.unityが、色々入っているデモシーンなのでこれを動かしたいと思います。

SteamVR plugin 更新/インポート

  • SteamVR Pluginはアセットストアから更新してインポート。
  • 以前のSteamVR Pluginがプロジェクト内にある場合は、バージョンアップで廃止された物がいくつかあるので、インポート前に削除してからSteamVR Plugin 2.0をインポートするとプラグイン内部でのエラーが出ることはなさそうです。
  • インプット関連が大幅に変更されているので新規プロジェクトでやるのがオススメです。

https://assetstore.unity.com/packages/tools/integration/steamvr-plugin-32647
image.png

セットアップ

インプットの設定を開くまで

  • まずそのままデモシーンを開き、実行します。
    • Assets\SteamVR\InteractionSystem\Samples\Interactions_Example.unity
  • 実行すると以下のメッセージが出てきました。

It looks like you haven't generated actions for SteamVR Input yet.
Would you like to open the SteamVR Input window?

image.png

SteamVR Inputのアクションをまだ生成していないようです。
SteamVR Input windowを開きますか?

  • と聞かれます。

  • Yesを押すと、以下のようなWindowが出てきました。

  • SteamVRの入力設定みたいですね。

image.png

  • これからは、VR内で出来る動作を先に定義しておくようです。

  • 普通に開くにはココから。 Window > SteamVR Input

image.png

キーバインドの設定

ここはやってもやらなくても大丈夫そうです。上手く動かない場合は、デフォルトのキーバインドが設定されてるか確認をするといいかも(下記参照)。

  • Open Binding UIを押すとブラウザが立ち上がりSteamVRを起動して下さいとのメッセージが出て、SteamVRを立ち上げた状態で開くと以下の画面が。

image.png

  • Steam内の各コントローラー毎のキーバインドを設定する物と同じみたいですね
  • ここはキーバインドをカスタマイズ出来ます。
  • 左のCurrent Binding → vive_controller → Editを押すと編集ができます。

    • ※Viveのコントローラーの電源もつけて、SteamVRに認識させていないと表示されませんでした。
  • Edit画面はこんな感じ。大量の設定項目が出てきました。

image.png

  • 今回は、Publish to workshopの方は使いませんが、説明だけ
    • → Steamでのコントローラー設定はゲーム毎のSteam内コミュニティでキーバインドを他のユーザーと共有出来る機能があります。そこへ投稿するのがPublish to workshopですね
  • とりあえずデフォルトのままで、Save Personal Bindingを選択すると以下の画面が出て、Saveで保存できます。

image.png

image.png

  • CurrentBindingに自分のSteamアカウントで作成した、自分専用のキーバインドが設定されました。

  • Unityへ戻ります。

インプットの設定完了まで

  • SteamVR InputウィンドウからSave and generateボタンを押して、キー設定を作成します。
  • 生成されるのを少し待ちます

image.png

  • SteamVR_Inputフォルダが生成され、サンプルシーンが動くようになりました。

image.png

  • 動きました。見覚えのあるものがありますね。

image.png

おわりに

  • まだSteamVR Plugin 2.0がリリースされてそこまで経っていないが故に、スクリプトの方まで理解しきれていないので良い記事・リファレンスがあったら教えてくださると助かります。
  • また、触り始めたばかりで間違えている部分もあると思うの教えて頂けると幸いです。