# 開発メモ ## はじめに 参考になるサイト - https://skarredghost.com/2020/09/25/steamvr-unity-xr-interaction-toolkit-input/ 基本的に、多種多様なVRデバイスはunityXRの機能を通してAPIを受け取っている。 2019.4.14fバージョンにおいては、ProjectSettings>plyer>XR設定の項目がある。これはレガシーな仕様である。  - 例えば、OculusのSDK呼び出しは早々にXR plugin Managementに統一されている。 - https://forum.unity.com/threads/xr-settings-not-showing.948544/ unityは、XR Plugin Management直下でAPIを管理するように機能を変更している。すでに、unity2020.1.13f以降であれば、XR設定の項目はない。  しかし、現状問題としてXR Plugin ManagementにOpenVRがネイティブでサポートされていない。OpenVRをXR Plugin Management直下で管理するために、githubのリポジトリからOpen XR Pluginを持ってこなければいけないという致命的な問題がある。 ## SteamVR pluginとXR Interaction toolkit **注:あくまで個人的意見である** 以下のリンク先ではSteamVR pluginかXR Interaction Toolkitのどちらで開発するべきかという議論がなされている。 https://www.reddit.com/r/learnVRdev/comments/ingctm/unity_xr_toolkit_vs_steamvr_plugin/ **XR Interaction Toolkit** XR Interaction Toolkitは、Unity製のライブラリである。 そのため、将来的にunityのプロジェクトとして発展していくと考えられる。さらに、unityがハードの違いを吸収してくれるため、デバイス間の管理がしやすくなることがメリットとして考えられる。 例えば、vive製VR(HTC vive, valve index)で開発したものでもOculusやモバイルVR用に簡単にスクリプトを変更できる。 しかし、現段階ではpreview状態なので、正式版がリリースされるのを待つしかない。 **steamVR plugin** SteamVR pluginはvalve製のライブラリである。 そのため、HTC viveやvalve Indexの開発には非常に重宝するという面がある。 将来的にvalve製品だけを使って開発するならsteamVR pluginを使った開発が安全で効率的かつ発展性があるかもしれない。 先程、githubからOpenVRをダウンロードしなければならない説明をしたが、steamVR pluginをプラグインマネージャーからインポートした時点で自動的にsteamVR pluginがXR Plugin ManagementへOpen XR Pluginをアタッチしてくれるようだ。  **個人的意見** - steaVR pluginは、VRTKの上位互換といえる機能を持つ。発展的な体験を作るためには必須といえるライブラリだ。しかし、unityの機能として組み込まれているわけではないため、マネージャー部分のスクリプトが複雑でユーザはなかなか触りにくいというデメリットがある。 - XR Interaction ToolkitはsteamVR oluginやVRTKと比べても、まだまだ機能が少ないと感じる。しかし、プログラムが単純で簡単に機能を理解しやすいというメリットがある。そのため、新たに機能を追加する場合は扱いやすいと考える。 今回は、steamVRと比べても、機能の理解がしやすいXR Interaction Toolkitを主に扱っていく。 ## XR toolkitの具体的な使用例 教科書 - githubのリポジトリ - https://github.com/PacktPublishing/Unity-2020-Virtual-Reality-Projects-3rd-Edition- - 参考サイト - https://www.youtube.com/watch?v=uItQp55ary8&feature=emb_logo https://github.com/Unity-Technologies/XR-Interaction-Toolkit-Examples https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@0.10/manual/index.html https://assetstore.unity.com/packages/essentials/tutorial-projects/vr-beginner-the-escape-room-163264?utm_source=youtube&utm_medium=social&utm_campaign=education_global_generalpromo_2020-03-10_youtube-video&utm_content=video ## steamVR https://github.com/ValveSoftware/steamvr_unity_plugin/releases/tag/2.6.0b1 先ほどインストールしたAssets -> SteamVR_Resources -> Resourcesフォルダの中に、SteamVRプラグインの設定を保持しているscriptableオブジェクトがあります。この設定の1つが Auto Enable VR です。これをオフにしないと、非推奨のオープンVRシステムを実行時に有効にしようとし、新しいXRシステムがこの設定を無効にするとプロジェクトがクラッシュしてしまいます。この設定を無効にすれば準備は完了です。 注意すべき点としては、カメラがヘッドセットに自動でトラッキングされなくなったため、Steam VR カメラリグが動作しなくなったことです。それ以外はXR以前と同じようにシームレスに動作するはずです。(プレビュー状態を維持するバグを除いて、頑張ってください)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up