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](https://qiita-image-store.s3.amazonaws.com/0/291107/1cddff66-5729-e578-487d-8baedac81210.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](https://qiita-image-store.s3.amazonaws.com/0/291107/6811508d-2d05-8e39-301c-40e4e5df3d1e.png)

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

* と聞かれます。

* Yesを押すと、以下のようなWindowが出てきました。
* SteamVRの入力設定みたいですね。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/291107/3e257cb6-555a-7d05-a507-612206fce1c3.png)

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

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/291107/e2b5f246-550b-30b8-4583-bb3db9e2ed74.png)

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

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/291107/4b283b77-8031-6588-37b8-4ab1f49e823f.png)

* Steam内の各コントローラー毎のキーバインドを設定する物と同じみたいですね
* ここはキーバインドをカスタマイズ出来ます。
* 左のCurrent Binding → vive_controller → Editを押すと編集ができます。
    * ※Viveのコントローラーの電源もつけて、SteamVRに認識させていないと表示されませんでした。

* Edit画面はこんな感じ。大量の設定項目が出てきました。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/291107/0cec6ab3-4ffb-07a4-bc27-71fb9dbad4b9.png)

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/291107/f76497fd-a1cb-91f7-5530-c2e46a95c30b.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/291107/f001473e-422d-0393-b134-c9cd02c5afd4.png)

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

## SteamVR Input Live View
* SteamVR Inputと同じところにあるもう一つがSteamVR Input Live Viewです。
* Window > SteamVR Input Live View

![image.png](https://qiita-image-store.s3.amazonaws.com/0/291107/acbc704b-07e2-9232-385a-67722792d2c5.png)

* 設定がうまくいっていればここに

* Unityへ戻ります。

## インプットの設定完了まで
* SteamVR InputウィンドウからSave and generateボタンを押して、キー設定を作成します。
* 生成されるのを少し待ちます

![image.png](https://qiita-image-store.s3.amazonaws.com/0/291107/642c586d-8aab-b1cf-fd78-bffe36db6767.png)

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/291107/7ba9697a-9fc2-7c37-c97f-5151395fc4b3.png)

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/291107/e9108462-1e1f-35b2-b56c-dc9857fd96e7.png)

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

# おまけ
* 入力を取得するところもまとめました。
* SteamVR Plugin 2.0 Input取得・入力関連スクリプト読み解き
    * https://qiita.com/kyourikey/items/232f7810769c7727c9bd

# 更新履歴
* 最初 - 2018年10月06日
* SteamVR Input Live View 追加 - 2018年10月09日
* リンク追加 - 2018年11月19日