■ [unity]サブディスプレイでのフルスクリーン起動方法
Oculusをサブディスプレイの設定のままでフルスクリーン起動するための方法。
- Unityマニュアル / ビルドプレイヤーパイプライン
exe実行時に"-adapter 1"をつけて起動すると、サブディスプレイでフルスクリーン化けできる。
System.Diagnostics.Processで外部プロセスを起動、StartInfo.Argumentsで引数を指定。
上記を参考に、OVRBuild.csを以下のように書き換え
using System.Diagnostics; class OculusBuild { // Build the standalone Windows demo and place into main project folder [MenuItem ("Oculus/Build/StandaloneWindows")] static void PerformBuildStandaloneWindows () { if(Application.isEditor) { string[] scenes = { EditorApplication.currentScene }; BuildPipeline.BuildPlayer(scenes, "Win_OculusUnityDemoScene.exe", BuildTarget.StandaloneWindows, BuildOptions.None); } } // Build the standalone Windows demo and place into main project folder, and then run [MenuItem ("Oculus/Build/StandaloneWindows - Run")] static void PerformBuildStandaloneWindowsRun () { if(Application.isEditor) { string[] scenes = { EditorApplication.currentScene }; //BuildPipeline.BuildPlayer(scenes, "Win_OculusUnityDemoScene.exe", BuildTarget.StandaloneWindows, BuildOptions.AutoRunPlayer); BuildPipeline.BuildPlayer(scenes, "Win_OculusUnityDemoScene.exe", BuildTarget.StandaloneWindows, BuildOptions.None); // ゲームを実行(System.Diagnostics の Process クラス) Process proc = new Process(); proc.StartInfo.FileName = "Win_OculusUnityDemoScene.exe"; proc.StartInfo.Arguments = "-adapter 1"; proc.Start(); } else { string[] scenes = { "Assets/Tuscany/Scenes/VRDemo_Tuscany.unity" }; BuildPipeline.BuildPlayer(scenes, "Win_OculusUnityDemoScene.exe", BuildTarget.StandaloneWindows, BuildOptions.AutoRunPlayer); } } }