これはOculus Rift Advent Calendar 2017の14日目の記事です。
結論から言うと、Unity5.6系でwinMRは動かせます。(※完全動作するわけではない)
こんにちは、なっつーです。最近はオンラインマルチプレイでマルチプラットフォームなコンテンツ「LoginOverWorld」を開発しています。
これをWindows Mixed Reality Immersive Headset(以下WinMR)でも対応させようと思っていたのですが、
オンライン同期はモノビットエンジンを使っており、これがUnity5.6までしか使えず、
WinMRの対応はまだまだ先かなという感じでした・・・。
が、しかし数日前にMicrosoft社のテクニカルエバンジェリストであるちょまどさんから、オンライン同期してる動画を上げてたツイートに反応を頂き、
これはすごいですね!
すごく興味があるのですが、画面左上の、Windows PC のって、普通に Unity のデスクトップアプリ(.exe)で作ってますか?それとも Windows Mixed Reality で作ってますか?— ちょまど🇺🇸帰国しました (@chomado) 2017年12月9日
ということで、WinMR対応できる方法はないかと考えてみました。
…そうだ!WinMRでSteamVRが動くって話があったからそれを使えばいけるのでは??という思い、試してみる。
まず、WinMRのセットアップをしていないPCだったのでそこから始めました。
- WindowsUpdateを最新に
- GPUドライバを最新に
- WinMR(今回はAcer開発者版を使用)をPCに接続してセットアップ開始
- Steamをインストール
- Steamストアから「Windows Mixed Reality for SteamVR」をインストール
- 対象のUnityプロジェクトにUnity Asset Store から「Steam VR Plugin」をインポート
で準備完了です。(既に準備できてる部分は飛ばして下さい)
で、ここで気をつけておきたいポイントとして、
WinMRのセットアップをする前に「Windows Mixed Reality for SteamVR」をインストールすると、WinMRのセットアップができなくなります。
もしやってしまった場合は、
- 「Windows Mixed Reality for SteamVR」をアンインストール
- デバイスマネージャーからWinMRのドライバを削除(デバイスのアンインストール)
- WinMRをPCに再度接続して、セットアップ開始
で大丈夫です。
ここまでやると、Unityエディタ上でアプリを起動すると、なんとびっくりWinMRで動くじゃないですか!!
モノビットエンジンもちゃんと作動してる!最高!!!
まだ試してはないですが、パッケージにしてもWinMRで動くと思います。
後は普通にViveコンテンツを作るように作ればWinMRでいい感じに互換してくれるという感じです。
気になる点としては
・WinMRコントローラーの振動機能が使えない?
・WinMRコントローラーが左右逆に認識されるときがある
が今のところ感じた部分です。
後、WinMRコントローラー自体の話ですが、WinMRコントローラーはPCとBluetooth接続しており、
コントローラーが最後に接続したPCとのペアリング情報を保持してなさそうです。
例えば、デモ用のPCでWinMRコントローラーをペアリングした後に、
開発用のPCで同じWinMRコントローラーをペアリングすると、デモ用のPCでWinMRコントローラが使えなくなります。
(開発用のPCをシャットダウンしていたとしても)
使用する場合は、一度Bluetooth機器一覧からWinMRコントローラーを削除し、再度ペアリングすることで使用可能になります。
複数PCでコントローラーを使いまわすと毎回ペアリングし直す必要が出るので、PC毎にWinMRコントローラーは専用で用意していたほうが安全ですね・・。
Unity5.6系の開発に限らず、Viveだと設置が大変なので、出先でデモとかはWinMRで出来るととても楽だと思います!
(不安定な部分もあるので、デモ中に動作しなくなっても保証はできませんが・・・)
「Windows Mixed Reality for SteamVR」自体が早期アクセスで正式版ではないので不安定なところもあるようですが、
これだけ手軽にWinMRで動くなら試してみる価値はあると思います。
モノビットエンジンがUnity2017以降も対応してくれれば、UWP対応でも検討しようかな・・。
[…] 今回は開発がWindowsMRなのですが、WindowsMRをSteamVRとして動かす事が出来るツール?を入れます。 以下のサイトがわかりやすく解説しております。 unity5-6系でwinmr開発を試みるsteamvr使用 […]