Хотелось ли вам когда нибудь сделать свою игру или 3D презентацию, или просто узнать как работают другие игры? Мне всегда хотелось сделать свою игру, и было интересно узнать как работают уже существующие. Не буду скрывать что одной из моих любимых игр является Unreal, работающая на движке UnrealEngine от Epic Games. Первая версия движка появилась 1998 году. На данный момент актуальная версия движка четвёртая. Кроме самой серии Unreal на движке было сделано очень много игр.
Выпустив первую версию движка Epic Games приложила к движку UnrealEditor — редактор позволяющий делать свои уровни и моды для игры. В 2009 году Epic Games выпустила UDK который позволил делать свои игры. На мой взгляд этот движок достоин того, чтобы разобраться как с ним работать и что он может.
Я попытаюсь описать основы работы с UnrealEngine, но в силу некоторых причин я буду описывать его в основном по второй его версии. Большинство из описанного будет работать и в UDK и в UnrealEngine4. Итак, если вас это заинтересовало, добро пожаловать под кат.
Немного теории
Любое действие UnrealEngine происходит на уровне(Level). Уровень в свою очередь состоит из геометрии уровня и Акторов(Actor). И, собственно, во время работы движка происходит перемещение игрока по уровням, и взаимодействие его с Акторами.
Геометрия
UnrealEngine использует CSG геометрию. Это значит, что изначально весь мир заполнен твёрдым веществом, и мы можем вырезать из него куски нужного нам размера и формы, либо добавлять в уже вырезанное пространство нужные нам части. То есть, что бы получить простую сцену состоящую, например, из двух комнат соединённых коридором, мы должны последовательно вырезать две комнаты и соединить их коридором. Если же мы в одной из комнат захотим добавить, например, лестницу, колонну, или просто сферу под потолком, то будет необходимо уже не вырезать, а наоборот добавить нужную геометрию. Все указанные манипуляции производятся при помощи Киcтей(Brush). Кисти можно делать разных форм и назначений. Движок также позволяет импортировать и экспортировать кисти, в текстовый формат t3d. Формат довольно простой и позволяет при знании других 3d форматов написать конвертер, так же в зависимости от версии UnrealEd(редактор уровней UnrealEngine) импортировать кисти из общепринятых форматов таких как DFX/ASC/ASE. К работе с геометрией также стоит отнести и наложение текстур на полученную геометрию.
Read more: Habrahabr.ru
QR: