読者です 読者をやめる 読者になる 読者になる

OVRSDK0.4.4+Unityでのジャダーを防ぐビルド設定調査結果

概要

OculusRift DK2+UnityでOVRSDK0.4.4を使う時に、ビルド及び実行条件次第でジャダー(首を振った時に絵がガクガクする、凄く酔います)が起きる事がknown issueとなっています。

https://forums.oculus.com/viewtopic.php?f=37&t=18363

しかし、OVRSDK0.4.4+OculusRuntime0.4.4は現状では最もVRパフォーマンスが出る組み合わせでもあります(FPSが稼ぎやすい、遅延が短い)

よってこのエントリでは、VRコンテンツ製作者が上記環境で作る時に、どんなオプションでビルドすれば良いか、僕の調査結果を書きます。

先に結論

UnityEditorはDX9モードでもDX11モードでも良いので、BuildSettings→PlayerSettings→Other Settings→Use Direct3D11のチェックを必ず入れる事を推奨します。

f:id:izm_11:20150109005855p:plain

また、0.4.4環境では-force-d3dx9オプションは不要です。

検証環境

ソフトウェア

  • Unity4.5.5p5
  • Tuscany Demo
  • OVRSDK0.4.4
  • OculusRuntime 0.4.4

PC1(デスクトップ)

PC2(ラップトップ)

  • G-TUNE i420
  • Windows7pro(x64)
  • GeforceGTX860M+Intel HDGraphics4600(Optimusです)

制作環境

  • UnityDX11モード + DX11ビルド
  • UnityDX9モード + DX11ビルド
  • UnityDX9モード + DX9ビルド

検証手法

制作環境の3環境においてビルドしたexeを、PC1,PC2それぞれについて

  • -force-d3d9
  • -force-d3d11

オプションを付けて実行して「ジャダーの有無」「その他不具合」を目視確認。
また、いずれのPCでもTuscanyDemoが75FPS以上の速度で動くスペックです。

検証結果

緑のセルは問題なく動いた組み合わせです。赤いセルは問題があった組み合わせです。

f:id:izm_11:20150109010827p:plain

考察

  • DX9モードでビルドする意味は殆どない
  • 遥か昔はExtendModeだとUnityで作られたデモを遊ぶとき -force-d3dx9オプションを指定する必要があったが最新環境では不要。むしろ0.4.4環境ではジャダーを引き起こす可能性もある