概要
VRコンテンツのネットワーク対応をしていると、ビルドしてexeファイルとエディタのふたつでデバッグするときがあるんですが、VRモードを双方ともオンにしているとあとから起動したほうが終了されてしまいます。
(HMDはひとつのアプリでしか使えない)
ただ、毎回VRサポートをオフにしたりオンにしたり、とかしているのはだいぶめんどくさいので、なんとかできないかなと調べました。
結論から言うと、コマンドライン引数でオフにすることができたのでそれを簡単にするためのバッチファイル作成用スクリプトを書きました。(大層なもんじゃないけど)
VRモードをオフにする
Unityから書き出したexeファイルに、コマンドライン引数で-vrmode
を指定するとどのVRモードかを選択することができます。
ここで、-vrmode None
を与えるとVRモードをオフにすることができます。
(これを利用するには多分、Build settingsのVR SupportedでNone
を追加しておく必要があるはず)
バッチファイルを自動生成する
さて、コマンドライン引数で与えてVRモードをオフにすることができるのが分かりましたが、毎回それを実行するのもそれはそれで面倒です。
あくまでデバッグ目的のものなので、簡単なバッチファイルを生成して簡単にしておくといいかなと思ったので、そのスクリプトです。
コード
using UnityEditor; using UnityEditor.Callbacks; using System.Collections; using System.IO; public static class CreateBatchFile { [PostProcessBuild(100)] public static void OnPostProcessBuild(BuildTarget target, string path) { string directory = Path.GetDirectoryName(path); string filePath = Path.Combine(directory, "launchWithoutHMD.bat"); string exeName = Path.GetFileName(path); using (StreamWriter writer = File.CreateText(filePath)) { writer.Write("start ./" + exeName + " -vrmode None\nexit /B"); } } }
こんな感じでPostProcess
用のスクリプトを書いて、Editorフォルダに突っ込んでおけば自動的にバッチファイルを生成してくれます。
しかし、VR開発していてネットワーク対応させようとすると1台のPCでやるのはだいぶきびしい感じですね( ;´Д`)
(VR ReadyなノートPCがほしい・・)