先日、以下のツイートを見かけました。
blenderが先月openXRに対応してViewportをHMD内で見られるようになったらしいので、誰か日本語で解説のQiita書いたら良いのではないだろうか(他力本願) https://t.co/VYH1gsumdJ
— にしかわ (@MiyuWestriver) 2020年4月7日
すでに試している方もいらっしゃるようですが、Blenderでの構築方法があまりわかってなかったので、少し詳しく書いてみました。
なお、現在は2.83はα版です。
動作確認環境
・Oculus Rift CV1
・Windows 10 Pro 1903
・Blender 2.83α (1a3928f)
2020/6/5 追記: Blender2.83での動作結果を追記しました。
- 1. 動作環境
- 2. 構築手順
- 3. その他
- 3.1 【Blender2.83α】Mirror VR Sessionを使うと、Oculus Riftの動きが不安定になる?
- 3.2 【Blender2.83】Mirror VR Sessionを使ってもOculus Riftの動作は安定
- 3.3 【Blender2.83α】VR Start Sessionを実行したとき、 Failed to get device information. Is a device plugged in? と表示される場合
- 3.4 【Blender2.83】VR Start Sessionを実行したとき、 Failed to get device information. Is a device plugged in? と表示される場合
- 4. おわりに
1. 動作環境
まず、VRモードはMacOSでは動きません。Windows10かLinuxのみです。
Windows10の場合、Windows Mixed Reality ヘッドセットか、Oculus Rift CV1 /S のみです。(Oculus Linkにより、Oculus Questで動作させている方もいらっしゃるようです)
引用元:Configuring Peripherals — Blender Manual
動作確認はしていませんが、MonadoというOpenXR向けランタイムが入ることでLinuxでも動きます。
Monadoについては、以前少し書いたことがあるのでご参照ください。
なお、OpenVRに対応していないためか、HTC VIVEは非対応です。
Currently Windows Mixed Reality and Oculus devices are usable. Valve/HTC headsets don't support the OpenXR standard yet and hence, do not work with this implementation.
引用元:https://developer.blender.org/rBdc2df8307f41888bab722f75fa9e73adecf86b72
2. 構築手順
2020/6/5 追記
2.1のダウンロードでは、「Download Blender Experimental」ボタンは不要です。
2.2のblender_oculus.cmdは必要です。
2.3のVR Scene InspectionのAdd-onは初めから有効になっていました。
2.4、2.5の手順はそのままです。
主にこちらを参考にしました。
User:Severin/GSoC-2019/How to Test - Blender Developer Wiki
2.1 Blender2.83αをダウンロードする
2020/4/11時点、2.83はまだexperimentalという位置付けです。そのため通常のダウンロードページには2.82αまでしか掲載されていません。
2.83αをダウンロードするには、上記のページを下にスクロールして、Download Blender Experimentalボタンを選択します。
すると、このようにα版のダウンロードページが開きます。
あとはここからzipファイルをダウンロードして解凍します。
2.2 (Oculus Riftを使う場合) blender_oculus.cmdからBlenderを起動する
通常は、下記の画像にあるblender.exeからBlenderを起動しますが、Oculus Riftの場合は同じ階層にあるblender_oculus.cmd (画像の赤枠) をダブルクリックします。
すると、このようにコマンドプロンプトが立ち上がるので、任意のキーを押します。これでBlender2.83αが起動します。
Windows Mixed Realityの場合、この手順は不要でblender.exeから起動することで使用できます。
2.3 VR Scene InspectionのAdd-onを有効にする
以下の画像[1]~[4]のように進めます。
2.4 (サイドバーが表示されていない場合) サイドバーを表示してVRタブを選択できるようにする
以下の上側の画像のように、[1]のViewを選択して、[2]表示されたメニューのSide Barにチェックをつけます。すると、下側の画像[3]のようにタブが表示されます。タブには「VR」が出てきます。
2.5 Start VR Sessionを選択して、HMDでBlenderの3D Viewを確認する
VRヘッドセットが支える状態で、VRタブの「Start VR Session」というボタンを選択すると、BlenderのCameraの位置でVRヘッドセットが使用できるようになります。
表示できたことを示すのが難しかったので、Oculus Mirrorを使いました。画像の左側です。画像右側のBlenderのCamera位置付近が表示されています。
この状態でBlenderのCameraをマウスでドラッグすると、VRヘッドセット側もリアルタイムで追随して動きました。
ここで表示しているモデルは、以下のbuildingというモデルを使用させていただきました。
また、Oculus Riftの表示をPCにも表示できる「Oculus Mirror」の使い方は、こちらの記事を参考にさせていただきました。
3. その他
3.1 【Blender2.83α】Mirror VR Sessionを使うと、Oculus Riftの動きが不安定になる?
先ほどは、Oculus Mirrorを使ってPCにOculus Riftの表示を映しながら使う方法を紹介しました。実はこれを使わなくても、Blender2.83αにはVRヘッドセットの動きを直接Blenderの3D Viewに反映させる仕組みがあります。
これを使うには、VR Session / Viewport Feedback にある「Mirror VR Session」というオプションにチェックを入れるだけです。
このオプションにチェックを入れてから「Start VR Session」ボタンを選択すると、Blenderの3D ViewはOculus Riftの動きに追随します。しかし、Oculus Rift側に砂時計マークが頻発してVRとしては確認ができませんでした。
私の環境固有か、α版なので問題があるのかは不明です。
3.2 【Blender2.83】Mirror VR Sessionを使ってもOculus Riftの動作は安定
(2020/6/5追記)
2.83αのときと全く同じ環境で試しましたが、2.83であればMirror VR Sessionを使っても不安定ということはありませんでした。
3.3 【Blender2.83α】VR Start Sessionを実行したとき、 Failed to get device information. Is a device plugged in? と表示される場合
VRヘッドセットが接続されていないか、blender.exeから起動してOculus Riftを使う場合にこのエラーが出ます。
Oculus Riftを使う場合は、blender_oculus.cmdからBlenderを起動する必要があります。
3.4 【Blender2.83】VR Start Sessionを実行したとき、 Failed to get device information. Is a device plugged in? と表示される場合
(2020/6/5追記)
2.83αのときと同じで、VRヘッドセットが接続されていないか、blender.exeからBlender2.83を起動してOculus Riftを使う場合にこのエラーが出ます。
対処法も2.83αの時と同じで、blender_oculus.cmdからBlenderを起動します。
Oculus only provides prototype OpenXR support. To use it, Blender has to be started in a special way, as described below.
Download and install the Oculus Rift software.
Start Blender by double clicking the blender_oculus script inside the installation directory. It will open a command-line window with further information.
引用元:Configuring Peripherals — Blender Manual
4. おわりに
思ったよりも簡単にできました。これまでだとBlenderからエクスポートする必要があったので、さっと確認したいときの手間が大きく省けると思います。
今回のBlenderのVR対応はOpenXRに関係するものです。OpenXRは以前に少し調べたことがあります。
最近になって、Oculus Mobile SDKでOpenXRの対応が見られるなど、動きが出てきているので、この辺も見ていきたいと思っています。