0013-05-05

[]サブディスプレイでのフルスクリーン起動方法 サブディスプレイでのフルスクリーン起動方法 - Nao_uの日記 を含むブックマーク はてなブックマーク - サブディスプレイでのフルスクリーン起動方法 - Nao_uの日記 サブディスプレイでのフルスクリーン起動方法 - Nao_uの日記 のブックマークコメント


Oculusをサブディスプレイの設定のままでフルスクリーン起動するための方法。


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);
		}
	}
}