Как открыть окно программирования в юнити
Перейти к содержимому

Как открыть окно программирования в юнити

  • автор:

Unity, открыть мышью окно Наутилуса или терминала на новом рабочем столе

Если на одном рабочем столе уже открыто окно программы, то, если перейти на второй рабочий стол, и оттуда кликнуть по значку этой программы на левой панели, то нас перекинет на первый рабочий стол. Но ладно, против этого есть решение — не забывать, что новое окно открывается кликом по значку правой кнопкой мыши. Однако для Наутилуса и терминала это не работает! Если кликнуть правой кнопкой по значку в левой панели, то в открывшемся меню будет пункт Домашняя папка или соответственно Терминал, по клику на котором пользователя перебрасывает на другой рабочий стол, где уже есть окно соответствующей программы. Должен же быть способ открыть окно Наутилуса на новом рабочем столе мышью кроме как перейти на тот рабочий стол, где он уже открыт, открыть там новое окно, переместить его на нужный рабочий стол и перейти туда.

askh ★★★★
30.09.11 15:07:05 MSK

Окна редактора (Editor Windows)

Вы можете создать любое количество пользовательских окон в вашем приложении. Они ведут себя точно так же как и инспектор, Scene View или любое другое встроенное окно. Это отличный способ добавить интерфейс в подсистему вашей игры.

Пользовательский интерфейс редактора за авторством Serious Games Interactive, используемый для скриптинга событий кат-сцен

Создание пользовательского окна редактора (Editor Window) включает в себя следующие шаги:

  • Создание скрипта, являющегося производным от EditorWindow.
  • Использование кода для включения отображения окна.
  • Реализация кода интерфейса для вашего инструмента.

Вывод из EditorWindow

Для того, чтобы сделать своё окно редактора, ваш скрипт должен храниться внутри папки, названной “Editor”. Создайте в этом скрипте класс, который будет производным от EditorWindow. Затем пропишите ваши элементы управления интерфейса во внутренней OnGUI функции.

//JS Example class MyWindow extends EditorWindow < function OnGUI () < // The actual window code goes here >> 
//C# Example using UnityEngine; using UnityEditor; using System.Collections; public class Example : EditorWindow < void OnGUI () < // The actual window code goes here >> 

MyWindow.js — помещается в папку ‘Editor’ внутри вашего проекта.

Отображение окна

Для того, чтобы отобразить окно на экране, создайте элемент меню, который отображает его. Это делается созданием функции, которая активируется при помощи MenuItem property.

Стандартным поведением в Unity будет использование различных окон, закрывая одни и открывая другие (таким образом, повторный выбор элемента меню покажет существующие окна. Это выполняется используя функцию EditorWindow.GetWindow. Вот так:

//JS Example class MyWindow extends EditorWindow < @MenuItem ("Window/My Window") static function ShowWindow () < EditorWindow.GetWindow (MyWindow); >function OnGUI () < // The actual window code goes here >> 
//C# Example using UnityEngine; using UnityEditor; using System.Collections; class MyWindow : EditorWindow < [MenuItem ("Window/My Window")] public static void ShowWindow () < EditorWindow.GetWindow(typeof(MyWindow)); >void OnGUI () < // The actual window code goes here >> 

Отображение окна MyWindow

Это создаст стандартное закрепляемое окно редактора, которое сохраняет свою позицию между вызовами, может быть использовано в пользовательских лейаутах и т.д. Чтобы получить больше контроля над тем, что создаётся, вы можете использовать GetWindowWithRect.

Реализация интерфейса вашего окна

Само содержимое окна рендерится при реализации функции OnGUI. Вы можете использовать те же UnityGUI классы, что используете для игрового интерфейса ( GUI и GUILayout ). В дополнение мы предоставляем некоторые дополнительные элементы управления интерфейса, расположенные в editor-only (только для редактора) классах EditorGUI и EditorGUILayout . Эти классы добавляют элементы управления уже доступные в обычных классах, так что вы можете совмещать и комбинировать как захотите.

Следующий С# код показывает, как вы можете добавлять элементы интерфейса для вашего пользовательского окна редактора (EditorWindow):

//C# Example using UnityEditor; using UnityEngine; public class MyWindow : EditorWindow < string myString = "Hello World"; bool groupEnabled; bool myBool = true; float myFloat = 1.23f; // Add menu item named "My Window" to the Window menu [MenuItem("Window/My Window")] public static void ShowWindow() < //Show existing window instance. If one doesn't exist, make one. EditorWindow.GetWindow(typeof(MyWindow)); >void OnGUI() < GUILayout.Label ("Base Settings", EditorStyles.boldLabel); myString = EditorGUILayout.TextField ("Text Field", myString); groupEnabled = EditorGUILayout.BeginToggleGroup ("Optional Settings", groupEnabled); myBool = EditorGUILayout.Toggle ("Toggle", myBool); myFloat = EditorGUILayout.Slider ("Slider", myFloat, -3, 3); EditorGUILayout.EndToggleGroup (); >> 

В итоге этот пример создаёт окно, которые выглядит вот так:

Пользовательское окно редактора, созданное при помощи предоставленного примера.

Для дополнительной информации изучите примеры и документацию на странице EditorWindow.

Как открыть окно программирования в юнити

Game View отрисовывается из камеры (камер) в вашей игре. Это отображение финальной, опубликованной игры. Вам потребуется использовать одну или более Cameras для контроля того, что игрок фактически увидит когда будет играть в вашу игру. Для более подробной информации о камерах, пожалуйста смотрите страницу компонента Camera.

Используйте кнопки в панели Toolbar чтобы управлять Play Mode режимом редактора и видеть, как ваша опубликованная игра будет работать. Пока вы находитесь в режиме Play, любые изменения лишь временные, и сбросятся когда вы выйдите из режима игры. UI редактора потемнеет чтобы обратить ваше внимание на это.

Панель управления игрового окна

Button: Function:
Display Click this to choose from a list of cameras if you have multiple cameras in the Scene. You can assign Displays to cameras in the Camera module, under the Target Display drop-down. This is set to “Display 1” by default.
Aspect Select different values to test how your game will look on monitors with different aspect ratios. This is set to “Free Aspect” by default.
Scale slider This allows you to zoom in and examine areas of the game screen in more detail, or zoom out to see the entire screen where the device resolution is higher than the Game View window size. You can also use the scroll wheel and middle mouse button to do this while the game is stopped or paused.
Maximize on Play Правее находится переключатель Maximize on Play . Когда включен, игровое окно будет растягиваться на 100% окна редактора после перехода в Play mode для полноэкранного предпросмотра.
Mute audio Enable this to mute any audio in-game when you enter Play Mode.
Stats Click this to toggle the Statistics overlay, which contains Rendering Statistics about your game’s audio and graphics. This is very useful for monitoring the performance of your game while in Play Mode.
Gizmos Click this to toggle the visibility of Gizmos. To only see certain types of Gizmo during Play Mode, click the drop-down arrow next to the word “Gizmos” and only check the boxes of the Gizmo types you want to see.

Gizmos popup menu

За названием каждого компонента расположены настройки для иконки и ассоциированной с ней гизмы. Настройки Icon раскрывают другое выпадающее меню, которое позволяет вам выбрать из набора предустановленную иконку или нестандартную иконку, заданную через текстуру.

Настройки Gizmo позволяют вам выборочно отключать отображение гизм для выбранных компонентов.

Настройки 3D Gizmos в верхней части меню относятся к иконкам гизм. При включении, иконки будут показывать перспективу камеры (например, иконки ближних объектов будут больше чем отдаленных), иначе они будут одинакового размера независимо от расстояния. Слайдер после флажка позволяет менять размер иконок, что полезно для избавления от захламления при большом числе видимых иконок.

Как открыть второе окно сцены в unity?

Можно ли как-то открыть второе окно сцены чтобы просматривать одну и ту же сцену в разных проекциях? Window -> General -> Scene просто делает текущую сцену активным окном.

Отслеживать
задан 18 июн 2021 в 11:23
Тимон Яблоков Тимон Яблоков
421 3 3 серебряных знака 20 20 бронзовых знаков
Нет, конечно нет. Как вы это себе представляете?
20 июн 2021 в 13:16
@Mr.AntonDer, можно, смотрите ответ
20 июн 2021 в 22:54

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

введите сюда описание изображения

Да, можно. Причем в юнити можно открыть практически сколько угодно одинаковых окон, в том числе и Scene View. Для этого в нужной группе окон нажмите кнопку с тремя вертикальными точками, которая показана на скрине и далее выберите пункт меню «Add Tab -> Scene»

Отслеживать
ответ дан 20 июн 2021 в 22:54
4,441 18 18 серебряных знаков 25 25 бронзовых знаков

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.26.3951

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *