Основные понятия и примитивы

RU EN +

В этой статье мы рассматриваем некоторые термины, которые могут встретиться при работе с редакторами для первых игр о приключениях Гарри. Хм. как много геометрии 😉


Примитив (геометрический примитив) – простая модель, объёмная геометрическая фигура (куб, конус, сфера). Применяется для создания более сложных объектов.

Surface (Поверхность) – обычно внешняя сторона примитива. У куба их 6. У более сложных фигур намного больше. Для полых геометрических примитивов также характерны внутренние поверхности.

Cube (куб) – геометрический примитив. Применяется для создания помещений, локаций в целом, кубов для решения головоломок, простых моделей (шкафы, подстриженные кусты, чемоданы с плоскими поверхностями).

Cylinder (цилиндр) – геометрический примитив.

Sheet (лист) – геометрический примитив. Плоская пластина. Применяется для создания неосновных стен, платформ для прыжков.

Cone (конус) – геометрический примитив.

Volumetric (пересечение) – геометрический примитив. Применяется для создания простых моделей кустов. Например, в тайной комнате есть простые модели деревьев, которые состоят из двух плоских примитивов.

Tetrahedron (Sphere) (сфера) – геометрический примитив, который пытается имитировать сферу. Но, на самом деле, это многоугольник.

Curved Staircase (изогнутая лестница) – пример создания шаблона на основе простых геометрических примитивов.

Spiral Staircase (спиральная лестница) – ещё один шаблон на основе геометрических примитивов.

Linear Staircase (прямая лестница) – и ещё один шаблон.

BSP based terrain (поверхность на основе BSP) – объект для создания сложных поверхностей, вроде холмов, гор, впадин.

Mover (подвижный элемент) – модель, обычно получаемая из одного или нескольких примитивов. Основная особенность: для неё можно задать несколько положений в пространстве переключаться между ними. Применяется для создания открывающихся дверей, механизмов и любых подвижных конструкций.

Projection (Проекция) – определение того, как будет выглядеть сцена, если на неё посмотреть с определённой стороны. Редактор предоставляет доступ к проекции сверху (Top, вид сверху), фронтальной проекции (front, вид спереди), боковой проекции (side, со стороны).

Texture (текстура) – обычно графическое изображение (иногда – набор изображений), размещаемое на поверхности или поверхностях примитива или модели. Обычно если размер текстуры меньше размера поверхности, то текстура располагается в несколько рядов, пока полностью не заполнит поверхность.
Анимированные текстуры (например, – текстуры воды) могут представлять собой плоские фигуры со многими поверхностями с нанесёнными на них обычными текстурами.

Package (Пакет) – файл со сложным строением (обычно бинарный). Позволяет хранить в упорядоченном виде текстуры, звуковые фрагменты и другие ресурсы.

Actor (Актёр) – сложная модель, которая может содержать набор встроенных сложных анимаций движений (Гарри, Рон, Гермиона) или просто представлять из себя элементы мебели, триггеры и другие элементы, которые можно добавить в сцену.

Scene (сцена) – обычно под этим понимают фрагмент уровня. Имеет достаточно много значений.

Collision (Столкновение) – происходит при соприкосновении поверхностей или внутренних каркасов двух и более моделей.

CutScene (заранее созданная сцена) – специальный сценарий, согласно которому движок игры в реальном времени строит и отображает заранее срежиссированные сцены, где актёры действуют без вмешательства игрока.

PatrolPoint (Точка патрулирования) – набор этих актёров позволяет задать траекторию движения второстепенных персонажей (управляемых не игроком).

Camera (Камера) – специальный объект игры. Через него игрок видит игровой мир.

Trigger (Триггер) – в данном редакторе это чувствительный элемент, который может запускать различные игровые механизмы. Пример: триггер заклинаний реагирует на попытку применить заклинание, музыкальный триггер воспроизводит указанную мелодию, если его потревожить (например, пройти сквозь него).

Build (Сборка уровня) – процесс создания игрового мира (или его части) с использованием задействованных в уровне моделей и примитивов. Может включать в себя: построение путей перемещения (по точкам патрулирования, например) неосновных персонажей, построение карты освещения, расчёт границ игровых зон и многое другое.

Сохранение уровня – запись уровня на диск в виде файла.


Типы файлов

unr – файлы пакетов, содержащих игровые карты (уровни) игры. Обычно не содержит текстур, звуков и других ресурсов. Если вы вносите изменения в файлы карт-уровней, то ваш мод вряд ли будет совместим с другими модами.

utx – файлы пакетов для хранения текстур. Ни в коем случае, не вносите изменения в чужие пакеты текстур, лучше сделайте один, но свой.

uax – файлы пакетов для хранения звуков (озвученные реплики, звуки).

u – файлы пакетов для хранения программных классов, моделей, специальных звуков к ним и текстур. Модели и текстуры, в виде актёров, добавляются в “дерево актёров” самим редактором. Существуют программы для просмотра и экспорта содержимого этих пакетов (импорт в таких программах обычно недоступен). Изменять содержимое стандартных пакетов крайне не рекомендуется – возникнут проблемы совместимости у пользователей модов (аналог “ада библиотек функций (dll)” у программистов).

int – текстовый файл, содержащий игровой сценарий или параметры настройки. Изменение основных сценариев игры приведёт к проблемам совместимости у пользователей модов.

Примечание: файлы с расширениями u, unr, utx и некоторые другие имеют похожую структуру, поэтому в некоторых играх вы можете встретить, например, unr-файл, который содержит текстуры и звуки.


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

Левая кнопка мыши + движение мышью – перемещение по координатам x,y и поворот камеры влево-вправо.

Правая кнопка мыши + движение мышью – поворот камеры.

Левая и правая кнопки мыши + движение мышью – перемещение влево-вправо, вверх-вниз.

CTRL+ALT+SHIFT + движение мышью – возможность выделить сразу несколько элементов сцены.


Источники информации: воспоминания из школьного курса геометрии, результаты общения с редакторами, беседы с Koops1997, UnWorld.