В моей игре 3 экрана .Я хочу показать display[0]
как окно с размером width=600, heigth=450
и display[1]
и display[2]
как fullScreen
Итак, на каждой сцене я хочучтобы показать, у меня есть три камеры , главная подписана на display[0]
, leftCamera подписана на display[1]
, а rightCamera подписана на display[2]
, затем Я добавляю следующий скрипт для левой и правой камер , чтобы активировать дисплеи:
//initialization
void Start () {
if (Display.displays.Length == 3)
{
Display.displays[1].Activate();
Display.displays[2].Activate();
}
else if (Display.displays.Length == 2)
{
Display.displays[1].Activate();
}
}
void Update () {
}
С другой стороны, я установил следующие параметры на Настройки плеера :
Когда я запускаю игру, появляется оконное приложение.Внутри холста есть Menu
с кнопками, когда я нажимаю на кнопку, которую я использую:
public void OnButtonClickMenu1 ()
{
#if UNITY_5_3 || UNITY_5_3_OR_NEWER
SceneManager.LoadScene ("MyScene1");
#else
Application.LoadLevel ("MyScene1");
#endif
}
Итак, когда я нажимаю на кнопку меню, сцена загружается правильно на трех мониторах однако display[0] maximizes
, и я бы хотел, чтобы display[0]
оставался в окне
Я попытался установить SetParams
в display[0]
внутри действия кнопки, например:
public void OnButtonClickMenu1 ()
{
Display.displays[0].SetParams(600, 450, 0, 0);
#if UNITY_5_3 || UNITY_5_3_OR_NEWER
SceneManager.LoadScene ("MyScene1");
#else
Application.LoadLevel ("MyScene1");
#endif
}
Но не работает, display[0]
продолжает максимизировать ... Что я могу сделать, чтобы держать его в окне?
I am using Unity 2018.2.6f1