はじめに
今回はPlayModeWindow
について紹介したいと思います。ちなみにPlayModeWindow
というのはGameView
とSimulatorView
の総称のことですね。
ゲームビュー - Unity マニュアル
Simulator ビュー - Unity マニュアル
Class containing methods to interact with the selected Unity PlayModeView (GameView, Simulator).
// DeepL翻訳
選択されたUnity PlayModeView(GameView、Simulator)と相互作用するメソッドを含むクラスです。
実験環境
Unity 2022.3.0f1
MaximizedかFullscreenになっているかどうか調べる
GetPlayModeFocused
を利用すると、Maximized
かFullscreen
になっているかどうかを調べることができます。(Maximized
or Fullscreen
の時はfalse
)
// 利用例 [MenuItem("Sample/Execute")] private static void Execute() { // 例. PlayModeWindow.GetPlayModeFocused : true Debug.Log("PlayModeWindow.GetPlayModeFocused : " + PlayModeWindow.GetPlayModeFocused()); }
レンダリング解像度の取得
GetRenderingResolution
を用いることでレンダリング解像度を取得することができます。
// 利用例 [MenuItem("Sample/Execute")] private static void Execute() { PlayModeWindow.GetRenderingResolution(out uint width, out uint height); // 例. PlayModeWindow.GetRenderingResolution : (1605, 564) Debug.Log($"PlayModeWindow.GetRenderingResolution : ({width}, {height})"); }
GameViewかSimulatorViewかを調べる
GetViewType
を利用することで、GameView
かSimulatorView
かどうかを取得することができます。
ちなみに返り値であるPlayModeViewType
の実装は以下の通り。
/// <summary> /// <para>List of supported PlayModeViews.</para> /// </summary> public enum PlayModeViewTypes { /// <summary> /// <para>The GameView entry.</para> /// </summary> GameView, /// <summary> /// <para>The Simulator view entry.</para> /// </summary> SimulatorView, }
// 利用例 [MenuItem("Sample/Execute")] private static void Execute() { // 例. GameView Debug.Log($"PlayModeWindow.GetViewType : {PlayModeWindow.GetViewType()}"); }
レンダリング解像度を設定する
SetCustomRenderingResolution
を用いることで解像度を設定することができます。
Adds a new Custom resolution entry with the specified baseName. If an entry with the same baseName already exists, this method updates the resolution of this entry with the new values.
// DeepL翻訳
指定された baseName を持つ新しいカスタム解決エントリを追加します。同じ baseName のエントリが既に存在する場合は、このメソッドは、このエントリの解決内容を新しい値で更新します。
// 利用例 [MenuItem("Sample/Execute")] private static void Execute() { PlayModeWindow.SetCustomRenderingResolution(1024, 512, "1024x512"); }
GameViewかSimulatorViewにフォーカスを当てる
SetPlayModeFocused
を用いることで、PlayModeWindow
にフォーカスを当てることができます。
If true, sets the view to Focused, otherwise to maximized.
// 利用例 [MenuItem("Sample/Execute")] private static void Execute() { // Trueに設定するとPlay Focusedに変更される PlayModeWindow.SetPlayModeFocused(true); }
GameViewかSimulatorViewに変更する
SetViewType
を用いることでGameView
かSimulatorView
に変更することができます。
// 利用例 [MenuItem("Sample/Execute")] private static void Execute() { // GameViewに設定する PlayModeWindow.SetViewType(PlayModeWindow.PlayModeViewTypes.GameView); // SimulatorViewに設定する PlayModeWindow.SetViewType(PlayModeWindow.PlayModeViewTypes.SimulatorView); }