GameView 전체 화면 설정
7831 단어 UnityEditorUnity
Unity는 PC(Unity Editor)와 각 장치에서 거의 같은 화면을 재현할 수 있고, Editor는 각종 디버깅 기능을 추가할 수 있기 때문에 PC에서 동영상을 녹음하고 싶은 상황이 있을 수 있다고 생각합니다.
이렇게 되면 풀스크린으로 만들고 싶지만 게임뷰 자체는 명확한 설정이 없고,'맥시미즈 온 플레이'도'에디터 창 내 최대화'물건이라 늘 다르게 느껴진다.
그래서 게임뷰를 전체 화면으로 만드는 스크립트를 썼어요.(Unity 2017.1.1 f1을 통해 확인)
FullScreenGameView.cs
using UnityEngine;
using UnityEditor;
// GameViewをフルスクリーンで表示するスクリプト(WindowsはF11、macOSはCommand+Shift+Fでトグル動作)
public class FullScreenGameView
{
const string menuPath = "Window/Game (Full Screen)";
#if UNITY_EDITOR_WIN
[MenuItem(menuPath + " _F11", false, 2001)]
#elif UNITY_EDITOR_OSX
[MenuItem(menuPath + " %#f", false, 2001)]
#endif
public static void Execute()
{
EditorWindow gameView = GetGameView();
if (Menu.GetChecked(menuPath) == false)
{
gameView.Close(); // ドッキング中にサイズを変えるとEditorのサイズも変わってしまうため一旦閉じる
float width = Screen.currentResolution.width;
float height = Screen.currentResolution.height;
float offset = 17.0f; // GameViewのコントロールバーの高さ(Unity2017.1の場合) ※タブや枠は計算に入れない
gameView = GetGameView();
gameView.minSize = new Vector2(width, height + offset);
gameView.position = new Rect(0, -offset, width, height + offset);
Menu.SetChecked(menuPath, true);
}
else
{
// 位置パラメータをデフォルトに戻してからClose
gameView.minSize = minSize;
gameView.position = position;
gameView.Close();
Menu.SetChecked(menuPath, false);
}
}
private static EditorWindow GetGameView()
{
// ウィンドウが存在しない場合は生成される
return EditorWindow.GetWindow(System.Type.GetType("UnityEditor.GameView,UnityEditor"));
}
// デフォルト位置パラメータ(元の位置には戻せないので、扱いやすい位置&サイズにしておく)
private static Vector2 minSize = new Vector2(100.0f, 100.0f);
private static Rect position = new Rect(0.0f, 0.0f, 640.0f, 480.0f);
}
UnityEditor 메뉴에서 Window/Game(Full Screen)을 선택하거나 단축키(Windows는 F11, Mac는 Command+Shift+F)로 토그 동작을 수행합니다.또한 Mac의 경우 UnityEditor 왼쪽 상단의 녹색 단추를 누르고 전체 화면 모드로 설정하거나 시스템 환경 설정에서 메뉴 표시줄과 Dock를 삭제해야 합니다.원래는 전체 화면을 스크린으로 하는 단축키가 Command+Control+F이지만 MenuItem은 Mac의 Control(Ctrl 아님)을 지정할 수 없습니다.
지금 하고 있는 일로 게임뷰에서 최소 사이즈를 전체 화면과 같은 사이즈로 설정하고 컨트롤 표시줄의 높이를 위로 이동해서 위치를 설정합니다.유니티는 최소 크기를 전체 화면으로 설정하지 않으면 조심스럽게 화면 안으로 조정해 탭과 창 상자를 볼 수 있기 때문이다.
Editor Window는 키모로 사용됩니다.GetWindow() 및 Unity EditorGameView 등급을 지정했지만 privete이기 때문에 직접 사용할 수 없습니다.따라서 C#의 System은Type.GetType을 사용하여 UnityEditor 어셈블리에서 모델을 가져오는 중입니다.
C#별게 다 있네...
Reference
이 문제에 관하여(GameView 전체 화면 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MARQUE/items/292c9080a686d95af1a5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)