Интерфейс ScenceEditor — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Экспорт проекта)
(Экспорт проекта)
 
(не показано 20 промежуточных версий 7 участников)
Строка 6: Строка 6:
 
'''Окно редактора сцен состоит из:'''
 
'''Окно редактора сцен состоит из:'''
 
*меню редактора;
 
*меню редактора;
*рабочей области, в которой размещен обьект сцена, на котором размещают другие обьекты;
+
*рабочей области, в которой размещен объект сцена, на котором размещают другие объекты;
 
*панель Лэйаут, в которой размещено иерархическое дерево проекта, которое состоит из экранов, на которых находятся игровые объекты;
 
*панель Лэйаут, в которой размещено иерархическое дерево проекта, которое состоит из экранов, на которых находятся игровые объекты;
 
*панель Свойства, которая отображает свойства объекта, который выбран в дереве проекта;
 
*панель Свойства, которая отображает свойства объекта, который выбран в дереве проекта;
Строка 38: Строка 38:
 
*'''Paste after current object''' - вставка объекта после выбранного объекта;
 
*'''Paste after current object''' - вставка объекта после выбранного объекта;
 
*'''Delete...''' - удаление объекта;
 
*'''Delete...''' - удаление объекта;
*'''Delete temp data''' - удаление опций;
+
*'''Scale object''' - масштабирование выбранного объекта, если у него есть масштаб (scale x \ scale y);
 +
*'''Rotate object''' - поворот выбранного объекта, если у него есть параметр поворота (angle);
 +
*'''Modify vertex''' - изменение положения точек вертекса у выбранного объекта, если вертексы включены;  
 
*'''Find object...''' - поиск объекта по id или по имени;
 
*'''Find object...''' - поиск объекта по id или по имени;
 
*'''Setup Editor...''' - настройки редактора.
 
*'''Setup Editor...''' - настройки редактора.
 +
 +
[[Файл:SetupEditor.png|right|400px]]
 +
 +
1) Языки - выбор языка редактора.
 +
 +
2) Work mode - выбор режима работы.
 +
 +
3) Syles - выбор темы редактора.
 +
 +
4) Перемещение сцены мышью или клавишами клавиатуры - позволяет перемещать сцену на экране.
 +
 +
5) Рисовать сетку на экране - отображать сетку на экране или нет.
 +
 +
6) Utilities - Подключение утилит.
 +
 +
В редакторе есть возможность подключения утилит в форматах *.bat, *.exe, *.py, *.pyw, *.vbs.
 +
 +
 +
Для примера, подключим bat-файл, открывающий логи вьвера в notepad++.
 +
 +
Для этого создадим файл Logs.bat со следущими командами:
 +
 +
 +
cd C:\Users\<your-user>\AppData\Roaming\Absolutist\Viewer
 +
 +
start "C:\Program Files (x86)\Notepad++\notepad++.exe" "viewer.log"
 +
 +
 +
В настройки редактора добавим утилиту нажав на плюсик. В списке ниже появится поле добавленной утилиты.
 +
 +
Нажмем на многоточие в столбце "Browse". В открывшимся окне "Open utility" откроем Logs.bat файл. После этого в меню редактора появится меню "Utilities" с командой Logs.
  
 
==== View (Просмотр)====
 
==== View (Просмотр)====
меню запуска Вьювера (Viewer)- проигрывателя созданного экрана проекта:
+
*'''Toggle grid''' - включает\выключает отображение сетки на сцене;
 +
*'''open/hide comment''' - показывает\скрывает комментарии к объекту;
 +
*'''Disable object movements''' - выключает\включает возможность перемещать объекты по сцене.
 +
 
 +
=== Viewer (Вьювер) ===
 
*'''Start Viewer''' - запуск вьювера;
 
*'''Start Viewer''' - запуск вьювера;
*'''Setup Viewer...''' - настройки окна вьювера для выбранного проекта.
+
*'''Start Viewer with changed time''' - запуск вьювера с заданным временем;
 +
*'''Save and run viewer...''' - сохраняет проект и запускает вьювер;
 +
*'''Run Viewer.bat''' - ???;
 +
*'''Delete temp data''' - удаление опций;
  
 
====Layouts (Лейаут, Макеты)====
 
====Layouts (Лейаут, Макеты)====
Строка 58: Строка 98:
 
*'''Resources Editor''' - редактор ресурсов;
 
*'''Resources Editor''' - редактор ресурсов;
 
*'''Texts Editor''' - текстовый редактор;
 
*'''Texts Editor''' - текстовый редактор;
*'''Analyzer''' - анализатор ресурсов (показывает колличество объектов проекта, их размер занимаемой памяти, сведения о ресурсах каждого объекта (размер, ID номер, название (имя), местонахождение в базе ресурсов));
+
*'''Analyzer''' - анализатор ресурсов (показывает количество объектов проекта, их размер занимаемой памяти, сведения о ресурсах каждого объекта (размер, ID номер, название (имя), местонахождение в базе ресурсов));
 
*'''Object info...''' - общие свойства объекта (показывает размер памяти занимаемой текстурами);
 
*'''Object info...''' - общие свойства объекта (показывает размер памяти занимаемой текстурами);
 
*'''Options info...''' - информация об опциях.
 
*'''Options info...''' - информация об опциях.
Строка 75: Строка 115:
 
[[Файл:Ico_text.png|25px]] - вызов текстового редактора; <br>
 
[[Файл:Ico_text.png|25px]] - вызов текстового редактора; <br>
 
[[Файл:Ico_base.png|25px]] — вызов редактора ресурсов;<br>
 
[[Файл:Ico_base.png|25px]] — вызов редактора ресурсов;<br>
[[Файл:013.JPG]] — анализатор ресурсов (показывает колличество объектов проекта, их размер занимаемой памяти, сведения о ресурсах каждого объекта (размер, ID номер, название (имя), местонахождение в базе ресурсов)); <br>
+
[[Файл:013.JPG]] — анализатор ресурсов (показывает количество объектов проекта, их размер занимаемой памяти, сведения о ресурсах каждого объекта (размер, ID номер, название (имя), местонахождение в базе ресурсов)); <br>
 
[[Файл:014.JPG]]— поиск объекта по id или по имени.<br>
 
[[Файл:014.JPG]]— поиск объекта по id или по имени.<br>
  
Строка 81: Строка 121:
  
 
'''1) Масштабирование рабочей области<br>'''
 
'''1) Масштабирование рабочей области<br>'''
Ctrl + колесико мышки  крутим  вперед  - увеличиваем обьекты , назад  - уменьшаем обьекты.<br>
+
Ctrl + колесико мышки  крутим  вперед  - увеличиваем объекты , назад  - уменьшаем объекты.<br>
  
 
'''2)Перемещение по рабочей области<br>'''
 
'''2)Перемещение по рабочей области<br>'''
Строка 87: Строка 127:
  
 
Кликаем правой кнопкой мыши по горизонтальному scroll и выпадает меню:  
 
Кликаем правой кнопкой мыши по горизонтальному scroll и выпадает меню:  
*scroll here —  функция перемещает экран к обьекту, который выделен в Лэйауте;
+
*scroll here —  функция перемещает экран к объекту, который выделен в Лэйауте;
 
*scroll left / right  -  функция перемещает экран на маленькое расстояние вправо / влево;
 
*scroll left / right  -  функция перемещает экран на маленькое расстояние вправо / влево;
 
*left  / right edge — функция  перемещает экран в левый / правый угол экрана;
 
*left  / right edge — функция  перемещает экран в левый / правый угол экрана;
Строка 93: Строка 133:
  
 
Кликаем правой кнопкой мыши по вертикальному scroll и выпадает меню:  
 
Кликаем правой кнопкой мыши по вертикальному scroll и выпадает меню:  
*scroll here —  функция перемещает экран к обьекту, который выделен в Лэйауте;
+
*scroll here —  функция перемещает экран к объекту, который выделен в Лэйауте;
 
*scroll up / down  -  функция перемещает экран на маленькое расстояние вверх / вниз;
 
*scroll up / down  -  функция перемещает экран на маленькое расстояние вверх / вниз;
 
*top/bottom  - функция  перемещает экран вверх / вниз;
 
*top/bottom  - функция  перемещает экран вверх / вниз;
Строка 102: Строка 142:
 
===Функции панели Лэйаут===
 
===Функции панели Лэйаут===
 
[[Файл:Лэйаут_1.JPG|right]]  
 
[[Файл:Лэйаут_1.JPG|right]]  
При клике правой кнопкой мыши по выбраному лэйауту (см. рисунок справа)
+
При клике правой кнопкой мыши по выбранному лэйауту (см. рисунок справа)
*Создать папку в текущем обьекте;
+
*Создать папку в текущем объекте;
*Создать экран в текущем обьекте -  создание обьекта в текущем лэйауте;
+
*Создать экран в текущем объекте -  создание объекта в текущем лэйауте;
 
*Импорт/экспорт экранов — импорт/экспорт одного или нескольких экранов;
 
*Импорт/экспорт экранов — импорт/экспорт одного или нескольких экранов;
*Развернуть / Свернуть обьекты с подобъектами — сворачивает  / разворачивает дерево обьектов всех экранов<br>
+
*Развернуть / Свернуть объекты с подобъектами — сворачивает  / разворачивает дерево объектов всех экранов<br>
 
   
 
   
При клике правой кнопкой мыши по выбраному экрану, сцене или обьекту возможно:
+
При клике правой кнопкой мыши по выбранному экрану, сцене или объекту возможно:
*Lock (Unlock) screen -  золочивание (разлочивание) экрана: нельзя перемещать, удалять и изменять объекты (сцены) экрана, причем, если сцена расшариная, то она становиться золочиной и на остальных экранах; на золочиных экранах в панели проекта появляется замочек;  
+
*Lock (Unlock) screen -  золочивание (разлочивание) экрана: нельзя перемещать, удалять и изменять объекты (сцены) экрана, причем, если сцена расшареная, то она становиться залоченой и на остальных экранах; на залоченых экранах в панели проекта появляется замочек;  
*Lock (Unlock) scene -  золочивание (разлочивание) сцены: нельзя перемещать, удалять и изменять объекты (машины, картинки и др.) сцены, причем, если сцена расшариная, то она становиться золочиной и на остальных экранах; на золочиных сценах также появляется замочек;  
+
*Lock (Unlock) scene -  золочивание (разлочивание) сцены: нельзя перемещать, удалять и изменять объекты (машины, картинки и др.) сцены, причем, если сцена расшареная, то она становиться залоченой и на остальных экранах; на залоченых сценах также появляется замочек;  
*Создать сцену  в текущем обьекте -  создание экран в текущем экране;
+
*Создать сцену  в текущем объекте -  создание экран в текущем экране;
*Создать экран в текущем обьекте -  создание экран в текущем лэйауте;
+
*Создать экран в текущем объекте -  создание экран в текущем лэйауте;
*Создать обьект сцены в текущем обьекте -  создание обьекта в текущем обьекте;
+
*Создать объект сцены в текущем объекте -  создание объекта в текущем объекте;
*Удалить обьект - удаление обьекта из проекта;
+
*Удалить объект - удаление объекта из проекта;
*Копировать обьект — копирование обьекта;
+
*Копировать объект — копирование объекта;
*Вставить в текущий обьект — вставка обьекта в текущий обьект верхнего уровня ;
+
*Вставить в текущий объект — вставка объекта в текущий объект верхнего уровня ;
*Вставить как ссылку в текущий обьект — вставка обьекта в текущий  обьект для создания расшариной сцены;
+
*Вставить как ссылку в текущий объект — вставка объекта в текущий  объект для создания расшареной сцены;
*Вставить как ссылку после текущего обьекта — вставка обьекта после текущего обьекта для создания расшариной сцены;
+
*Вставить как ссылку после текущего объекта — вставка объекта после текущего объекта для создания расшареной сцены;
*Вставить после текущего обьекта -  вставка  обьекта после текущего обьекта;
+
*Вставить после текущего объекта -  вставка  объекта после текущего объекта;
 
*Импорт/экспорт экранов — импорт/экспорт одного или нескольких экранов;
 
*Импорт/экспорт экранов — импорт/экспорт одного или нескольких экранов;
*Развернуть / Свернуть обьекты с подобъектами — сворачивает /разворачивает дерево обьектов экрана или сцены;  
+
*Развернуть / Свернуть объекты с подобъектами — сворачивает /разворачивает дерево объектов экрана или сцены;  
  
 
====Функция Расположить  сцену в соответствии  с изображением ====
 
====Функция Расположить  сцену в соответствии  с изображением ====
 
Пусть на сцене будет находится очень много картинок, которые должны находиться в строго определенных местах. Переместим нашу картинку в нужную точку на сцене. Но у нас картинок очень много и мы потратим много времени на их расстановку. Для уменьшения времени на расстановку картинок воспользуемся функцией расположить сцену в соответствии  с изображением.<br>
 
Пусть на сцене будет находится очень много картинок, которые должны находиться в строго определенных местах. Переместим нашу картинку в нужную точку на сцене. Но у нас картинок очень много и мы потратим много времени на их расстановку. Для уменьшения времени на расстановку картинок воспользуемся функцией расположить сцену в соответствии  с изображением.<br>
Функция расположить сцену в соответветствии с изображнием перемещает картинку  в заданную точку  художниками.  Художник решил, что клубма должна быть в правом нижнем углу, после применения функции  расположить сцену в соответветствии с изображнием, картинка станет именно на указанное художником место. <br>
+
Функция расположить сцену в соответствии с изображением перемещает картинку  в заданную точку  художниками.  Художник решил, что клумба должна быть в правом нижнем углу, после применения функции  расположить сцену в соответствии с изображением, картинка станет именно на указанное художником место. <br>
Данная функция вызвается кликом правой кнопкой мыши по  обьекту<br> [[Файл:панель_свойства_1.JPG|right]]
+
Данная функция вызывается кликом правой кнопкой мыши по  объекту<br> [[Файл:панель_свойства_1.JPG|right]]
  
 
===Функции панели Свойства===
 
===Функции панели Свойства===
  
*При клике на  тип или имя  некоторых обьектов вызываются дополнительные окна.Например, при клике на тип Machine открывается окно, где прописываются функции обьекта типа Machine.
+
*При клике на  тип или имя  некоторых объектов вызываются дополнительные окна.Например, при клике на тип Machine открывается окно, где прописываются функции объекта типа Machine.
*При наведении на поле тип выпдает подсказка с уникальным номером обьекта.
+
*При наведении на поле тип выпадет подсказка с уникальным номером объекта.
*При клике правой мышкой по названию свойства обьекта выпадает меню с дополнительными свойствами обьекта
+
*При клике правой мышкой по названию свойства объекта выпадает меню с дополнительными свойствами объекта
*Некоторые свойства обьектов объединены в группы (см. рисунок справа)
+
*Некоторые свойства объектов объединены в группы (см. рисунок справа)
  
 
=== Создание проекта ===
 
=== Создание проекта ===
Строка 161: Строка 201:
 
*Запаковка графики в текстуры и контейнер
 
*Запаковка графики в текстуры и контейнер
 
*При необходимости конвертирование файлов в pvr форматы<br>
 
*При необходимости конвертирование файлов в pvr форматы<br>
С целью экономии оперативной памяти на устройстве возможно сжатие графики, упаковка графики в текстуры, создаение нескольких исполняемых файлов, проекта, содержащих в себе несколько сцен проекта, и загружаемых в оперативную память устройства по мере прохождения игры.<br>
+
С целью экономии оперативной памяти на устройстве возможно сжатие графики, упаковка графики в текстуры, создание нескольких исполняемых файлов, проекта, содержащих в себе несколько сцен проекта, и загружаемых в оперативную память устройства по мере прохождения игры.<br>
  
Процедура экспорта проекта вызывается через меню редактора Проект - Экспортировать проекта<br>
+
Процедура экспорта проекта вызывается через меню редактора Проект - Экспортировать проект<br>
  
 
[[Файл:Scene editor export window.jpg|right]]
 
[[Файл:Scene editor export window.jpg|right]]
 
'''Параметры экспорта проекта:'''<br>
 
'''Параметры экспорта проекта:'''<br>
 
''Настройки параметров графики''
 
''Настройки параметров графики''
*Ось Х, ось У — параметры сжатия графики по оси Х,У. Значения  параметра от 0 до 1. При
+
*Ось Х, ось У — параметры сжатия графики по оси Х,У. Значения  параметра от 0 до 1.
 
*При выполнении сжатия рекомендуется обращать внимания на размер лэйаута
 
*При выполнении сжатия рекомендуется обращать внимания на размер лэйаута
 
*Сжатие графики  возможно и непропорциональное . Используется редко
 
*Сжатие графики  возможно и непропорциональное . Используется редко
Строка 174: Строка 214:
 
''Параметры запаковки графики''
 
''Параметры запаковки графики''
 
*Common textures size - максимальный размер графической текстуры для графики, которая не находится в контейнерах и попадает в одну текстуру, или максимальный размер графического файла, если он не в контейнере и не попадает в текстуру.
 
*Common textures size - максимальный размер графической текстуры для графики, которая не находится в контейнерах и попадает в одну текстуру, или максимальный размер графического файла, если он не в контейнере и не попадает в текстуру.
*Create dat container -  упаковка ресурсов в фаил с типом DAT. Обеспечиваем защиту ресурсов проекта от несанкционированного доступа. Увеличиваем производительность при операциях чтения файлов ресурсов с твердотельного носителя.
+
*Create dat container -  упаковка ресурсов в файл с типом DAT. Обеспечиваем защиту ресурсов проекта от несанкционированного доступа. Увеличиваем производительность при операциях чтения файлов ресурсов с твердотельного носителя.
 
*Quality - Качество графики, которая не находится в контейнерах
 
*Quality - Качество графики, которая не находится в контейнерах
*Optimization - оптимизация графики для лучшего быстродействия(speed) или для занимаемого дискового пространства в распакованом виде(size)
+
*Optimization - оптимизация графики для лучшего быстродействия(speed) или для занимаемого дискового пространства в распакованном виде(size)
  
 
''Тип экспорта''   
 
''Тип экспорта''   
Строка 183: Строка 223:
 
*Release build - оптимизация по размеру файла базы ресурсов и основного файла проекта.
 
*Release build - оптимизация по размеру файла базы ресурсов и основного файла проекта.
  
''Export to folder'' - Путь для экспорта. Если указан путь экспорта проекта - производится экспорт согласно настройкам для выбранной платформы. Если не указан - проект экспортируеются под выбранную платформу и автоматически запускается сборка проекта.
+
''Export to folder'' - Путь для экспорта. Если указан путь экспорта проекта - производится экспорт согласно настройкам для выбранной платформы. Если не указан - проект экспортируются под выбранную платформу и автоматически запускается сборка проекта.
 
Структура папки:
 
Структура папки:
 
[[Файл:TreeFolder.png|TreeFolder.png]]<br>
 
[[Файл:TreeFolder.png|TreeFolder.png]]<br>
Строка 197: Строка 237:
 
  |BlackBerry
 
  |BlackBerry
 
  |Windows
 
  |Windows
 +
|Flash
 +
|Web
 
  |-
 
  |-
 
  |Best, size
 
  |Best, size
 +
|webp(lossless)
 +
|webp(lossless)
 
  |png(RGBA)
 
  |png(RGBA)
 
  |png(RGBA)
 
  |png(RGBA)
  |png(RGBA)
+
  |webp(lossless)
  |png(RGBA)
+
  |webp
  |png(RGBA)
+
  |webp(lossless)
 
  |-
 
  |-
 
  |Best, speed
 
  |Best, speed
  |PVR8888
+
  |webp
  |PVR8888
+
  |webp
  |PVR8888
+
  |jxr
  |PVR8888
+
  |jxr
  |PVR8888
+
  |webp
 +
|webp
 +
|webp(lossless)
 
  |-
 
  |-
 
  |Medium, size
 
  |Medium, size
Строка 218: Строка 264:
 
  |jpg + png(a)
 
  |jpg + png(a)
 
  |jpg + png(a)
 
  |jpg + png(a)
 +
|webp
 +
|webp
 
  |-
 
  |-
 
  |Medium, speed
 
  |Medium, speed
  |PVRTC + PVRA8
+
  |PVRTC + wepb(a8)
  |ETC1 + PVRA8
+
  |ETC1 + webp(a8)
 
  |BC3 + hitmask
 
  |BC3 + hitmask
 
  |PVR8888
 
  |PVR8888
 
  |BC3 + hitmask
 
  |BC3 + hitmask
 +
|webp
 +
|webp
 
  |-
 
  |-
 
  |Low, size
 
  |Low, size
  |PVRTC + png(a)
+
  |PVRTC + webp(lossless)(a8)
  |ETC1 + png(a)
+
  |ETC1 + webp(lossless)(a8)
 
  |jpg + png(a)
 
  |jpg + png(a)
 
  |jpg + png(a)
 
  |jpg + png(a)
 
  |jpg + png(a)
 
  |jpg + png(a)
 +
|webp
 +
|webp
 
  |-
 
  |-
 
  |Low, speed
 
  |Low, speed
 
  |PVRTC(RGBA) + hitmask
 
  |PVRTC(RGBA) + hitmask
  |ETC + PVRA8
+
  |ETC1 + webp(a8)
 
  |BC3 + hitmask
 
  |BC3 + hitmask
 
  |PVR8888
 
  |PVR8888
 
  |BC3 + hitmask
 
  |BC3 + hitmask
 +
|webp
 +
|webp
 
|}
 
|}
 +
 +
*'''ETC''' - Ericsson Texture Compression : для устройств Android
 +
*'''PVR''' - PowerVR Texture Compression : для устройств IOS
 +
*'''bc3(dxt)''' -  DirectX Texture : Windows, Windows Phone 8<br>
 +
При экспорте с галкой ETC2 текстуры ETC1 экспортятся в ETC2
 +
 +
=== Режим отладки ===
 +
 +
Включение режима отладки:
 +
 +
[[Файл:SE debug0.JPG]]
 +
 +
Инструменты отладки:
 +
 +
[[Файл:SE debug1.JPG]]
 +
 +
* '''Debug dock''' - установка брейкпоинтов (точек остановки) и вывод отладочного лога от сервера.
 +
* '''Logging''' - вывод логов вьювера (параллельно с viewer.log) с подсветкой и фильтрами.
 +
* '''Debug Options''' - вывод дерева опций, подсветка изменений (при работе вьювера), слежение за конкретными параметрами.
 +
* '''Debug Properties''' - вывод параметров объекта под курсором по хоткею (из вьювера) - на момент написания не реализовано.
 +
 +
==== Debug dock ====
 +
 +
[[Файл:SE debug2.JPG]]
 +
 +
Принцип работы брейкпоинтов (точек остановки):
 +
* Добавляем в табличку брейкпоинтов новый пункт
 +
* Задает objectID интересующего объекта
 +
** Задаем название состояния, при переходе на которое вьювер станет на паузу
 +
** ИЛИ задаем название параметра, при изменении которого вьювер станет на паузу
 +
* Запускаем вьювер с отладкой
 +
*: [[Файл:SE debug3.jpg]]
 +
* После перехода в заданное состояние вьювер станет за паузу, а в редактре сцен откроется окно машинки с этим состоянием.
 +
 +
==== Logging ====
 +
 +
[[Файл:SE debug4.JPG]]
 +
 +
* Сие логирование происходит только с запущеным в режиме отладки вьювером;
 +
* Логи с ворнингами выделены оранжевым цветом ('''не игнорируйте их''');
 +
* Логи с ошибками выделены красным цветом ('''а их уж тем более не игнорируйте!''');
 +
* Кнопка ''Clear log'' - очищает логи из данного окна;
 +
* Кнопка ''(...)'' - открыть лог из файла
 +
* Флаг ''Autoscroll'' - при добавлении новой записи листает список в конец
 +
 +
'''Фильтрация логов'''
 +
* Фильтр задается для каждого поля отдельно;
 +
* Можно фильтровать по нескольким полям одновременно;
 +
* Для фильтрации по какому-либо полю просто нажмите на его заглавие (Level / Time / ...)
 +
* '''Как правильно задавать фильтр''':
 +
** ''[value]'' - поиск по полному совпадению - будут показаны только записи, текст которых в данном поле '''равен''' ''[value]''
 +
**: [[Файл:SE debug log1.jpg]]
 +
** ''[value]*'' - поиск по началу строки - будут показаны только те записи, текст которых в данном поле '''начинается с''' ''[value]''
 +
**: [[Файл:SE debug log2.jpg]]
 +
** ''*[value]'' - поиск по окончанию строки - будут показаны только те записи, текст которых в данном поле '''заканчивается на''' ''[value]''
 +
**: [[Файл:SE debug log3.jpg]]
 +
** ''*[value]*'' - поиск по вхождению - будут показаны только те записи, текст которых в данном поле '''содержит''' текст ''[value]''
 +
**: [[Файл:SE debug log4.jpg]]
 +
** ''![filter]'' - исключение - при добавлении знака '''!''' перед фильтром (любой его вариацией), будут показаны все записи, текст которых в данном поле '''НЕ''' подходит под фильтр.
 +
**: [[Файл:SE debug log5.jpg]]
 +
** ''[filter1]&[filter2]&[...]'' - фильтрация по нескольким критериям - будут показаны все записи, текст которых '''подходит хотя бы под один из фильтров'''
 +
**: [[Файл:SE debug log6.jpg]]
 +
 +
 +
==== Debug Options ====
 +
 +
Окно ''Debug options'' предназначено для отслеживания изменений опций в реальном времени.
 +
 +
[[Файл:SE debug6.JPG]]
 +
 +
* Кнопка '''Refresh''' - подгружает опции из файла options.xml
 +
* ''Options update'':
 +
** '''Manual update''' - обновление опций '''ТОЛЬКО''' в ручном режиме (кнопкой '''Refresh''')
 +
** '''Auto Update''' - обновление опций вьювером - все записи, что меняет в опциях вьювер, будут обновлены (так же всё еще можно обновить вручную)
 +
** '''Timer Update''' - обновление опций по таймеру - раз в заданный период автоматически обновляет опции из файла options.xml (команды вьювера игнорируются, все изменения берутся только из файла)
 +
* Кнопка '''Save options''' - создает локальную копию текущего файла с опциями (в том же каталоге, где лежит options.xml)
 +
* Кнопка '''Open options filder''' - открывает папку с опциями.
 +
 +
* '''All options''' - отображает все опции в виде дерева, показывает текущее значение параметров и предыдущее (если было изменено)
 +
* '''Custom params''' - позволяет отслеживать изменений конкретных параметров; в поле ''Custom param tracking'' указывается тот же путь к параметру, что и в машинках:
 +
*: [[Файл:SE debug7.JPG]]
 +
 +
=Горячие клавиши=
 +
* '''Клавиша F10''' - По нажатию разворачивает/сворачивает все объекты и подобъекты в дереве проекта или в свойствах объекта.
 +
* '''Клавиша Num* и Num-''' - По нажатию разворачивают/сворачивают подобъекты у выделенного объекта в дереве проекта или в свойствах объекта.
 +
 +
 +
[[Category:AppSalute]]

Текущая версия на 08:59, 5 декабря 2018

Ico main.pngРедактор сцен

Редактор сцен — программа, предназначенная для создания, редактирования и экспорта игровых экранов, в котором происходит настройка свойств объектов и игровой логики.

Окно редактора сцен состоит из:

  • меню редактора;
  • рабочей области, в которой размещен объект сцена, на котором размещают другие объекты;
  • панель Лэйаут, в которой размещено иерархическое дерево проекта, которое состоит из экранов, на которых находятся игровые объекты;
  • панель Свойства, которая отображает свойства объекта, который выбран в дереве проекта;
  • панель для построения сплайна;
  • панель инструментов;
  • строка Координаты, отображающая координаты курсора в текущий момент времени

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

Головна2.PNG

Меню редактора

Project (Проект)

меню, которое содержит список команд, с помощью которых можно создать новый или загрузить уже созданный проект, сохранить проект с указанием места сохранения и т.д.

  • New project - создать новый проект;
  • Open - открыть уже созданный проект (проект обязательно должен находится в подкаталоге редактора);
  • Recent project... - показывает список последних открывавшихся проектов;
  • Close - закрытие проекта (редактор при этом не закрывается);
  • New project - создать новый проект;
  • Save - сохранение проекта;
  • Save as... - сохранение проекта под новым именем или в новом каталоге;
  • Export... - экспорт проекта;
  • Project options... - опции проекта;
  • Exit - закрытие редактора.

Edit (Редактирование)

меню редактирования проекта:

  • Copy - копирование объекта;
  • Paste into current object - вставка объекта в выбранный объект;
  • Paste after current object - вставка объекта после выбранного объекта;
  • Delete... - удаление объекта;
  • Scale object - масштабирование выбранного объекта, если у него есть масштаб (scale x \ scale y);
  • Rotate object - поворот выбранного объекта, если у него есть параметр поворота (angle);
  • Modify vertex - изменение положения точек вертекса у выбранного объекта, если вертексы включены;
  • Find object... - поиск объекта по id или по имени;
  • Setup Editor... - настройки редактора.
SetupEditor.png

1) Языки - выбор языка редактора.

2) Work mode - выбор режима работы.

3) Syles - выбор темы редактора.

4) Перемещение сцены мышью или клавишами клавиатуры - позволяет перемещать сцену на экране.

5) Рисовать сетку на экране - отображать сетку на экране или нет.

6) Utilities - Подключение утилит.

В редакторе есть возможность подключения утилит в форматах *.bat, *.exe, *.py, *.pyw, *.vbs.


Для примера, подключим bat-файл, открывающий логи вьвера в notepad++.

Для этого создадим файл Logs.bat со следущими командами:


cd C:\Users\<your-user>\AppData\Roaming\Absolutist\Viewer

start "C:\Program Files (x86)\Notepad++\notepad++.exe" "viewer.log"


В настройки редактора добавим утилиту нажав на плюсик. В списке ниже появится поле добавленной утилиты.

Нажмем на многоточие в столбце "Browse". В открывшимся окне "Open utility" откроем Logs.bat файл. После этого в меню редактора появится меню "Utilities" с командой Logs.

View (Просмотр)

  • Toggle grid - включает\выключает отображение сетки на сцене;
  • open/hide comment - показывает\скрывает комментарии к объекту;
  • Disable object movements - выключает\включает возможность перемещать объекты по сцене.

Viewer (Вьювер)

  • Start Viewer - запуск вьювера;
  • Start Viewer with changed time - запуск вьювера с заданным временем;
  • Save and run viewer... - сохраняет проект и запускает вьювер;
  • Run Viewer.bat - ???;
  • Delete temp data - удаление опций;

Layouts (Лейаут, Макеты)

меню работа с лейаутами проекта (выбор макета устройства для проекта, редактирование экранов):

  • Add new layout... - создание нового лейаута;
  • Delete layout... - удаление лейаута;
  • Layout settings... - настройки лейаута;
  • Add folder... - создание папки в текущем лейаута;
  • Add screen... - создание нового экрана.

Tools (Инструменты)

меню дополнительных редакторов и инструментов для проекта (вызов редактора ресурсов, текстового редактора, анализ проекта). Список этого меню вынесен на панель с кнопками быстрого запуска:

  • Resources Editor - редактор ресурсов;
  • Texts Editor - текстовый редактор;
  • Analyzer - анализатор ресурсов (показывает количество объектов проекта, их размер занимаемой памяти, сведения о ресурсах каждого объекта (размер, ID номер, название (имя), местонахождение в базе ресурсов));
  • Object info... - общие свойства объекта (показывает размер памяти занимаемой текстурами);
  • Options info... - информация об опциях.

Help (Помощь)

меню вызова справки.

Кнопки панели Инструменты

Некоторые инструменты также вызываются горячими клавишами (комбинация клавиш приведена в скобках )

00 6.png (Ctrl+N) — создать новый проект;
00 7.png(Ctrl+O) — загрузить уже созданный проект;
00 8.png(Ctrl+S) — сохранить изменения в проекте;
00 9.png — запустить Viewer;
009.JPG — нормальный вид;
Ico text.png - вызов текстового редактора;
Ico base.png — вызов редактора ресурсов;
013.JPG — анализатор ресурсов (показывает количество объектов проекта, их размер занимаемой памяти, сведения о ресурсах каждого объекта (размер, ID номер, название (имя), местонахождение в базе ресурсов));
014.JPG— поиск объекта по id или по имени.

Функции рабочей области

1) Масштабирование рабочей области
Ctrl + колесико мышки крутим вперед - увеличиваем объекты , назад - уменьшаем объекты.

2)Перемещение по рабочей области
После масштабирования возникает необходимость переместиться с левого уголка экрана в далекий правый, переместиться к выбраному обьекту, вверх или вниз.

Кликаем правой кнопкой мыши по горизонтальному scroll и выпадает меню:

  • scroll here — функция перемещает экран к объекту, который выделен в Лэйауте;
  • scroll left / right - функция перемещает экран на маленькое расстояние вправо / влево;
  • left / right edge — функция перемещает экран в левый / правый угол экрана;
  • page left / right - функция показывает левую/правую часть экрана

Кликаем правой кнопкой мыши по вертикальному scroll и выпадает меню:

  • scroll here — функция перемещает экран к объекту, который выделен в Лэйауте;
  • scroll up / down - функция перемещает экран на маленькое расстояние вверх / вниз;
  • top/bottom - функция перемещает экран вверх / вниз;
  • page up / down - функция перемещает экран верхнюю / нижнюю часть экрана.

Меню прокрутки скрывается по нажатию клавиши Alt

Функции панели Лэйаут

Лэйаут 1.JPG

При клике правой кнопкой мыши по выбранному лэйауту (см. рисунок справа)

  • Создать папку в текущем объекте;
  • Создать экран в текущем объекте - создание объекта в текущем лэйауте;
  • Импорт/экспорт экранов — импорт/экспорт одного или нескольких экранов;
  • Развернуть / Свернуть объекты с подобъектами — сворачивает / разворачивает дерево объектов всех экранов

При клике правой кнопкой мыши по выбранному экрану, сцене или объекту возможно:

  • Lock (Unlock) screen - золочивание (разлочивание) экрана: нельзя перемещать, удалять и изменять объекты (сцены) экрана, причем, если сцена расшареная, то она становиться залоченой и на остальных экранах; на залоченых экранах в панели проекта появляется замочек;
  • Lock (Unlock) scene - золочивание (разлочивание) сцены: нельзя перемещать, удалять и изменять объекты (машины, картинки и др.) сцены, причем, если сцена расшареная, то она становиться залоченой и на остальных экранах; на залоченых сценах также появляется замочек;
  • Создать сцену в текущем объекте - создание экран в текущем экране;
  • Создать экран в текущем объекте - создание экран в текущем лэйауте;
  • Создать объект сцены в текущем объекте - создание объекта в текущем объекте;
  • Удалить объект - удаление объекта из проекта;
  • Копировать объект — копирование объекта;
  • Вставить в текущий объект — вставка объекта в текущий объект верхнего уровня ;
  • Вставить как ссылку в текущий объект — вставка объекта в текущий объект для создания расшареной сцены;
  • Вставить как ссылку после текущего объекта — вставка объекта после текущего объекта для создания расшареной сцены;
  • Вставить после текущего объекта - вставка объекта после текущего объекта;
  • Импорт/экспорт экранов — импорт/экспорт одного или нескольких экранов;
  • Развернуть / Свернуть объекты с подобъектами — сворачивает /разворачивает дерево объектов экрана или сцены;

Функция Расположить сцену в соответствии с изображением

Пусть на сцене будет находится очень много картинок, которые должны находиться в строго определенных местах. Переместим нашу картинку в нужную точку на сцене. Но у нас картинок очень много и мы потратим много времени на их расстановку. Для уменьшения времени на расстановку картинок воспользуемся функцией расположить сцену в соответствии с изображением.
Функция расположить сцену в соответствии с изображением перемещает картинку в заданную точку художниками. Художник решил, что клумба должна быть в правом нижнем углу, после применения функции расположить сцену в соответствии с изображением, картинка станет именно на указанное художником место.

Данная функция вызывается кликом правой кнопкой мыши по объекту

Панель свойства 1.JPG

Функции панели Свойства

  • При клике на тип или имя некоторых объектов вызываются дополнительные окна.Например, при клике на тип Machine открывается окно, где прописываются функции объекта типа Machine.
  • При наведении на поле тип выпадет подсказка с уникальным номером объекта.
  • При клике правой мышкой по названию свойства объекта выпадает меню с дополнительными свойствами объекта
  • Некоторые свойства объектов объединены в группы (см. рисунок справа)

Создание проекта

1. Для создания нового игрового проекта необходимо запустить редактор сцен SceneEditor.
2. В верхнем меню Проект выбрать Новый (т.е. создать новый проект).
3. В появившемся окне указываем имя проекта и имя базы ресурсов.Выбираем папку для сохранения проекта
4. В этом окне выбираем устройство для которого создаётся проект, а затем выбираем тип магазина и вариант версии игры
020.JPG 021.JPG

5. В редакторе сцен в меню Проект → Сохранить → проект с именем Learning.
Эту методику действий можно брать за шаблон для создания других проектов.
Результат: Создана база ресурсов и проект для выполнения Уроков.

Важное замечание по созданию проекта

2 лэйаута.JPG


Предположим нам необходимо создать игру для магазина А и магазина Б. Игра будет отличаться только 10 функциями. Мы можем создать игру для магазина А., а потом скопировать папку с проектом, проект переименовать, внести изменения и получить игру для магазина Б. Результат: 2 игры и 2 папки с ресурсами. Такой подход не приветствуется.
Для уменьшения времени на создание проекта, подключение ресурсов, внесения одинаковых объектов и удобства отслеживания багов и прочего в Редакторе Сцен существует возможность создания двух лэйаутов в одном проекте. При создании проекта мы выбираем оба магазина, после чего в панели Лэйаут появится два лэйаута для магазина А и магазина Б(см. рисунок справа. При этом текстовая база проекта и база ресурсов у них будут идентичны. При создании новых объектов в одном лэйауте они же будут создаваться и в другом, при этом можно изменять свойства объекта каждого лэйаута независимо от второго.
За применение изменений между лэйаутами отвечает параметр "синхронизация", который есть у каждого объекта. Если стоит "синхронизировать", то объект будет одинаков в каждом из лэйаутов. Если стоит "не синхронизировать", то объект будет уникальным для каждого экрана, его изменения не будут применены на других лэйаутах, не синхронизируемые объекты можно даже удалять, т.к. они уникальны для лэйаута.

Экспорт проекта

Этапы экспорта проекта

  • Выполняется сжатие графики при необходимости
  • Очистка базы ресурсов от неиспользуемой графики
  • Запаковка графики в текстуры и контейнер
  • При необходимости конвертирование файлов в pvr форматы

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

Процедура экспорта проекта вызывается через меню редактора Проект - Экспортировать проект

Scene editor export window.jpg

Параметры экспорта проекта:
Настройки параметров графики

  • Ось Х, ось У — параметры сжатия графики по оси Х,У. Значения параметра от 0 до 1.
  • При выполнении сжатия рекомендуется обращать внимания на размер лэйаута
  • Сжатие графики возможно и непропорциональное . Используется редко

Параметры запаковки графики

  • Common textures size - максимальный размер графической текстуры для графики, которая не находится в контейнерах и попадает в одну текстуру, или максимальный размер графического файла, если он не в контейнере и не попадает в текстуру.
  • Create dat container - упаковка ресурсов в файл с типом DAT. Обеспечиваем защиту ресурсов проекта от несанкционированного доступа. Увеличиваем производительность при операциях чтения файлов ресурсов с твердотельного носителя.
  • Quality - Качество графики, которая не находится в контейнерах
  • Optimization - оптимизация графики для лучшего быстродействия(speed) или для занимаемого дискового пространства в распакованном виде(size)

Тип экспорта

  • One project file - формируется один XML файл описывающий проект.
  • Split project on screens, load partly' - проект будет разбит на отдельные файлы описывающие экраны, загружаться файлы будут в порядке использования (вызова) в проекте. В результате получаем увеличение начальной загрузки проекта и использование меньшего объема оперативной памяти.
  • Release build - оптимизация по размеру файла базы ресурсов и основного файла проекта.

Export to folder - Путь для экспорта. Если указан путь экспорта проекта - производится экспорт согласно настройкам для выбранной платформы. Если не указан - проект экспортируются под выбранную платформу и автоматически запускается сборка проекта. Структура папки: TreeFolder.png
Select platform - необходимо выбрать платформу для которой будем собирать проект. При экспорте на все платформы необходимо установить Marmalade SDK см. инструкцию при этом не нужно указывать путь для экспорта (оставить поле пустым). В результате запустится скрипт сборки исполняемого пакета, это будет видно по черным экранам с ходом выполнения процесса сборки.Процесс экспорта будет отображаться в окне.

Таблица результирующих форматов для платформ

качество, оптимизация IOS Android Windows Phone8 BlackBerry Windows Flash Web
Best, size webp(lossless) webp(lossless) png(RGBA) png(RGBA) webp(lossless) webp webp(lossless)
Best, speed webp webp jxr jxr webp webp webp(lossless)
Medium, size jpg + png(a) jpg + png(a) jpg + png(a) jpg + png(a) jpg + png(a) webp webp
Medium, speed PVRTC + wepb(a8) ETC1 + webp(a8) BC3 + hitmask PVR8888 BC3 + hitmask webp webp
Low, size PVRTC + webp(lossless)(a8) ETC1 + webp(lossless)(a8) jpg + png(a) jpg + png(a) jpg + png(a) webp webp
Low, speed PVRTC(RGBA) + hitmask ETC1 + webp(a8) BC3 + hitmask PVR8888 BC3 + hitmask webp webp
  • ETC - Ericsson Texture Compression : для устройств Android
  • PVR - PowerVR Texture Compression : для устройств IOS
  • bc3(dxt) - DirectX Texture : Windows, Windows Phone 8

При экспорте с галкой ETC2 текстуры ETC1 экспортятся в ETC2

Режим отладки

Включение режима отладки:

SE debug0.JPG

Инструменты отладки:

SE debug1.JPG

  • Debug dock - установка брейкпоинтов (точек остановки) и вывод отладочного лога от сервера.
  • Logging - вывод логов вьювера (параллельно с viewer.log) с подсветкой и фильтрами.
  • Debug Options - вывод дерева опций, подсветка изменений (при работе вьювера), слежение за конкретными параметрами.
  • Debug Properties - вывод параметров объекта под курсором по хоткею (из вьювера) - на момент написания не реализовано.

Debug dock

SE debug2.JPG

Принцип работы брейкпоинтов (точек остановки):

  • Добавляем в табличку брейкпоинтов новый пункт
  • Задает objectID интересующего объекта
    • Задаем название состояния, при переходе на которое вьювер станет на паузу
    • ИЛИ задаем название параметра, при изменении которого вьювер станет на паузу
  • Запускаем вьювер с отладкой
    SE debug3.jpg
  • После перехода в заданное состояние вьювер станет за паузу, а в редактре сцен откроется окно машинки с этим состоянием.

Logging

SE debug4.JPG

  • Сие логирование происходит только с запущеным в режиме отладки вьювером;
  • Логи с ворнингами выделены оранжевым цветом (не игнорируйте их);
  • Логи с ошибками выделены красным цветом (а их уж тем более не игнорируйте!);
  • Кнопка Clear log - очищает логи из данного окна;
  • Кнопка (...) - открыть лог из файла
  • Флаг Autoscroll - при добавлении новой записи листает список в конец

Фильтрация логов

  • Фильтр задается для каждого поля отдельно;
  • Можно фильтровать по нескольким полям одновременно;
  • Для фильтрации по какому-либо полю просто нажмите на его заглавие (Level / Time / ...)
  • Как правильно задавать фильтр:
    • [value] - поиск по полному совпадению - будут показаны только записи, текст которых в данном поле равен [value]
      SE debug log1.jpg
    • [value]* - поиск по началу строки - будут показаны только те записи, текст которых в данном поле начинается с [value]
      SE debug log2.jpg
    • *[value] - поиск по окончанию строки - будут показаны только те записи, текст которых в данном поле заканчивается на [value]
      SE debug log3.jpg
    • *[value]* - поиск по вхождению - будут показаны только те записи, текст которых в данном поле содержит текст [value]
      SE debug log4.jpg
    • ![filter] - исключение - при добавлении знака ! перед фильтром (любой его вариацией), будут показаны все записи, текст которых в данном поле НЕ подходит под фильтр.
      SE debug log5.jpg
    • [filter1]&[filter2]&[...] - фильтрация по нескольким критериям - будут показаны все записи, текст которых подходит хотя бы под один из фильтров
      SE debug log6.jpg


Debug Options

Окно Debug options предназначено для отслеживания изменений опций в реальном времени.

SE debug6.JPG

  • Кнопка Refresh - подгружает опции из файла options.xml
  • Options update:
    • Manual update - обновление опций ТОЛЬКО в ручном режиме (кнопкой Refresh)
    • Auto Update - обновление опций вьювером - все записи, что меняет в опциях вьювер, будут обновлены (так же всё еще можно обновить вручную)
    • Timer Update - обновление опций по таймеру - раз в заданный период автоматически обновляет опции из файла options.xml (команды вьювера игнорируются, все изменения берутся только из файла)
  • Кнопка Save options - создает локальную копию текущего файла с опциями (в том же каталоге, где лежит options.xml)
  • Кнопка Open options filder - открывает папку с опциями.
  • All options - отображает все опции в виде дерева, показывает текущее значение параметров и предыдущее (если было изменено)
  • Custom params - позволяет отслеживать изменений конкретных параметров; в поле Custom param tracking указывается тот же путь к параметру, что и в машинках:
    SE debug7.JPG

Горячие клавиши

  • Клавиша F10 - По нажатию разворачивает/сворачивает все объекты и подобъекты в дереве проекта или в свойствах объекта.
  • Клавиша Num* и Num- - По нажатию разворачивают/сворачивают подобъекты у выделенного объекта в дереве проекта или в свойствах объекта.