Спираль эволюции. Развитие движка UnrealED
Желания мододелов обычно ограничены возможностями редактора. Игры серии Unreal имеют мощнейший редактор — Unreal Editor (далее UnrealEd ). За время существования он пережил смену поколения игрового движка. Хорошел от версии к версии. Многие в свое время с нетерпением ждали выхода Unreal Tournament 2003. И у модостроителей была причина с особым нетерпением дожидаться релиза. Вместе с игрой выходила в свет новая версия UnrealEd под номером 3. И если по поводу успешности UT 2003 имеется много разных мнений, то по поводу редактора ни у кого никаких сомнений не возникло. Капитальная реконструкция пошла ему на пользу. Все было на высшем уровне. По поводу Unreal Tournament 2004 (далее UT 2004 ) такого ажиотажа не наблюдалось. Но игра получилась на славу… Изменения же в редакторе совсем не такие серьезные, как в прошлый раз, но они есть, и о них стоит поговорить отдельно.
Рис.1. Лого разных версий UnrealED — из UT 2003, Unreal II, UT 2004, UnrealEngine2Runtime.
Скованные одной цепьюА что такое, собственно, UnrealEd? Ответ “редактор уровней для игр серии Unreal” будет неполным… Редакторы уровней бывают разные. UnrealEd — это инструмент создания уровней в реальном масштабе времени (на основе конструктивной стереометрии), который полностью интегрирован в движок Unreal Engine. Вследствие этого: — Все, что вы видите через камеру редактора, будет точно так же выглядеть в игре. — Изменения в геометрии, новая расстановка объектов, обновления текстур, распределение освещения — вступают в силу практически немедленно. Это позволяет оперативно проверять принимаемые решения и вовремя отказываться от неудачных. — Редактор имеет набор инструментов, позволяющий легко манипулировать свойствами самых разных объектов и изменять их, по-новому программируя скриптовые сценарии. — Легко управлять 3D-моделями, которые вставляются в уровень из графических пакетов 3DMax или Maya (используя дополнительные плагины). У любой тесной интеграции есть и оборотная сторона. Во-первых, такой редактор может работать только в играх, которые сделаны на движке Unreal. Во-вторых, кардинальные изменения движка требуют и замены редактора (или такой же масштабной его перестройки — что, в общем-то, одно и то же). Поскольку свойства редактора сильно зависят от версии и возможностей движка — перед тем как перейти непосредственно к нововведениям UnrealEd из состава UT 2004, разберемся с Unreal Engine. Эпический движок Создатель “нереального” двигателя, компания Epic Games Inc как независимый разработчик 3D-игр и компьютерных технологий, образована в 1991 году. В местечке Raleigh (штат Северная Каролина ) трудится 55 абсолютно реальных сотрудников, которые ответственны за выход всей “нереальной” серии игр. Основу каждой из них составляет игровой движок. За время своего существования Epic Games выпустила на свет два поколения своего детища: — Unreal Engine 1 , на котором созданы первые Unreal и Unreal Tournament; — Unreal Engine 2 , на нем “бегают” Unreal 2, UT2003 и UT2004. Второе поколение имеет несколько модификаций — 2 (первоначальный вариант, уже отживший свое), 2.5 (исправленная и доработанная под современное железо версия — как раз UT 2004 сделана на нем) и 2.Х (предназначенная исключительно для приставки Xbox ). Сейчас идут работы над созданием движка нового поколения — Unreal Engine 3. Выход намечен на 2006-й год.
Рис. 2. Вы согласны на установку бесплатного Unreal Engine 2?
Несмотря на то, что и UT2003, и UT2004 работают на одном и том же поколении движка, его версии, использованные в этих играх, различаются между собой в деталях. Между поколениями Unreal Engine лежат годы. Но параллельно с работой, что называется, на будущее идет постоянное совершенствование текущей версии. Каждое новое поколение игровых двигателей закладывается с большим запасом “прочности”. Они насыщены избыточными функциями с прицелом на перспективу. Поначалу задействуются не все из них. В первых выпусках работают только самые основные. И только потом, уже в процессе обкатки, помимо вылизывания кода до совершенства, разработчики потихоньку подключают все ранее недоступные (хотя иногда случается наоборот — отключают неудачные опции) и выжимают из текущей версии все, на что она способна. Такие подправленные версии движка ( builds, билды ) выходят постоянно и, чтобы не запутаться, к названию добавляют бирку с номером выпуска (например, UnrealEngine2 build_2110 ). Только за июнь/июль 2003 года вышло 4 подобных модификации! Эти версии предназначены не для рядовых геймеров. К ним имеют доступ конторы, разработчики которых озаботились приобретением лицензии на соответствующее поколение Unreal Engine. Вас же они касаются постольку, поскольку UnrealEd базируется на движке и реагирует на все его изменения. Поэтому в заголовке главного окна, например UnrealEd из состава UT 2004, тоже фигурирует название выпуска: “ Unreal Level Editor — Build UT2004_Build[2004-03-03_02_42]_ ”. Если первые цифры означают дату выпуска этой версии редактора, то что означают следующие — одним разработчикам известно… Тем не менее именно по обозначению выпуска, заключенному в квадратные скобки, чаще всего можно различить разные модификации одной и той же версии редактора. Все как с движком, только номер действующей сейчас версии у редактора на единичку выше. И UT2003, и UT2004 обслуживает UnrealEd третьей версии, в то время как третье поколение Unreal Engine 3 находится еще только в разработке. Краткая историческая справка Первый UnrealEd появился у геймеров вместе с Unreal. Вызвал живейший интерес, несмотря на то, что глючил по-страшному, отказывался запускаться и при любом удобном случае вываливался в Windows. Был написан на Visual Basic. Для его нормальной работы требовалось скачивать библиотеку VbRun50 этой среды программирования и полный пакет Standalone UnrealED Installer. Если вспомнить, что и технологию Direct3D в саму игру включили в последний момент (разработчики переоценили Glide ), то выбор инструмента для создания редактора не вызывает удивления. UnrealEd 2 вышел на арену в Unreal Tournament, но не сразу, а только после четырехсотой версии. Его переписали на С++. Убили кучу багов, что значительно повысило стабильность работы редактора. Вместе со сменой поколения Unreal Engine и выходом UT2003, само собой, разработчики выдали следующую — третью версию UnrealEd, которая существует и по сей день. Вот и получилось, что на два поколения движка пришлось три версии редактора. Попробуйте почувствовать разницу Никто не ждал революций от модификации UnrealEd из состава UT2004. Поскольку ничего кардинального с движком с момента выхода UT2003 не произошло. И правда, увидеть отличия в редакторах невооруженным глазом достаточно сложно. Но они все же есть. Если сравнивать выпуски Build [2002.05.31.18.31] и Build [2004-03-03_02_42] из UT2003 и UT2004 соответственно, то получим следующее. — Названия и пункты меню остались без изменений. — В главной панели инструментов появилась иконка Build Changed Paths , нажав которую, быстренько закрепляем изменения, внесенные в проложенные пути. Кроме того, иконка Build Changed Lighting поменяла свое местоположение. Теперь она размещена возле пиктограммки Build Lighting, что, в общем-то, логично. — В вертикальной панели исчезла из первой группы функция Geometry Editing. Ранее обозначалась значком “кубика в изометрии” и находилась под иконкой Terrain Editing. — Среди иконок переключения 3D-отображения видовых окон обнаружена новая — Depth Complexity. Она добавляет еще один вариант (теперь их стало восемь). Новый вид предназначен для борьбы за скорость обработки движком отдельных частей уровня в игре. После активации этой функции сцена в окне заливается цветовой гаммой с переходом от ярко-красного до ярко-зеленого. Переход цвета из одного в другой — дискретный (ступенчатый). Для наглядности столбик перехода расположен у правого края окна. Смысл у этой раскраски следующий: зеленый тон из самой верхней строчки столбика означает, что все точки уровня, окрашенные в такой цвет, могут быть обсчитаны процессором за один присест. Оранжевые цвета свидетельствуют, что в этом месте железу потребуется больше работы и, соответственно, времени. Оно будет рассчитано за несколько проходов. А если на экране замечен красный — дело плохо. Необходимо вмешаться и разгрузить эту точку уровня от архитектурных и других излишеств во благо приемлемой частоты кадров во время игры. Такой вот своеобразный светофор: “ Красный свет — хода нет ”. Еще одна новая кнопочка обнаружена в браузере текстур. Она странным образом не имеет никакого названия и обозначена восклицательным знаком — “ ! ”. Расположена рядом с кнопкой All и полем выбора текстурных групп. Нажатие кнопки никоим образом не влияло на загруженные текстуры в видовом окне браузера, что поначалу ставило в тупик. Только скачав официальный хелп по интерфейсу редактора от разработчиков (о чем см. ниже), удалось прояснить ситуацию. Эта кнопка не влияет на отображение большинства текстур. Но если текстура анимирована или в ней используются специальные карты ( mapped shaders ), то они будут отображаться в окне браузера именно так, как будут выглядеть в игре. Поскольку неизвестно, какие именно текстуры относятся к этим классам, можно всегда держать эту кнопку в нажатом положении во избежание разных сюрпризов. Вот, в общем-то, и все, что удалось обнаружить. Естественно, не считая свежего контента — новых текстур и моделей. Работать с чуть обновленным редактором по-прежнему удобно и комфортно (если у вас достаточно мощная машина и нет недостатка в оперативной памяти). Управление и сочетания горячих клавиш не изменились. Так что, если вы впервые решили попробовать “нереального”, — можете спокойно руководствоваться нашими старыми статьями по работе с UnrealEd (напоминаю, что многие статьи “Мастерской” можно найти на нашем сайте — www.igromania.ru ). Unreal Engine 2, бесплатный! Да, заголовок не врет. Каждый из вас может совершенно официально скачать специальную версию знаменитого движка. Называется он Unreal Engine 2 Runtime и находится по адресу: http://udn.epicgames.com/Files/UE2/Runtime/UE2Runtime-22261903.exe , **__**также редактор выложен на нашем CD/DVD. Вес его составляет всего 14 Мб. Так что скачать Unreal Engine 2 Runtime может действительно каждый (см.рис. 2-3 ). По времени выхода эта версия движка находится примерно посередине между UT2003 и UT2004. Поэтому версия UnrealEd, которая идет вместе с ним, представляет собой нечто среднее и является “переходной”. Если рассматривать все перечисленные выше отличия, то отмечается следующее: — кнопка “!” в браузере текстур уже есть; — иконка Build Changed Lighting тоже перенесена;
Рис. 3. После загрузки UE2 Runtime встречает аскетичным дизайном интерфейса.
— пиктограммка Depth Complexity в видовых окнах присутствует, как в UnrealEd из UT 2004; — функция Geometry Editing из UnrealEd образца UT 2003 занимает свое место на вертикальной панели инструментов. Номер выпуска редактора, к сожалению, узнать затруднительно. Редактор обозначается в строке заголовка обтекаемой фразой Unreal Level Editor. Тем не менее, судя по списку изменений, эта версия ближе к Build [2004-03-03_02_42], чем к Build [2002.05.31.18.31]. Сам движок вполне работоспособен. С ним идет уровень-пример (см.рис. 4 ), но текстур почти нет, а моделей нет вообще. Все это предстоит создавать самостоятельно. И, между прочим, лицензионное соглашение предусматривает, что вы можете использовать свою работу в некоммерческих и образовательных целях… Если первое предполагает много работы неизвестно ради чего, то второе — может найти массу применений! Господа студенты — обратите внимание на этот инструмент для защиты диплома нетрадиционными способами. На движке можно собрать массу развлекательно-познавательных программ, симуляторов “чего-нибудь” и демонстраторов эффективности многих процессов. Дополнительную информацию об этой модификации можно получить по адресу http://udn.epicgames.com/pub/Powered/UnrealEngine2Runtime. Использование UE2Runtime даст огромное количество плюсов, если вы планируете по-серьезному связать свою дальнейшую деятельность с игровой индустрией. Во-первых, получите неоценимый опыт работы со знаменитым движком самого современного уровня. Во-вторых, готовясь к защите, гораздо приятней заниматься разработкой игры. В-третьих, демонстрация дипломной работы неизбежно вызовет “незабываемые ощущения” у преподавательского состава, если, конечно, все будет сделано на должном уровне… В-четвертых, у вас на руках окажется практически готовая демо-версия своей профпригодности для игровой компании, которую сразу можно будет представлять в качестве своего резюме… А минус до недавнего времени мог быть только один — недостаток информации по работе с движками Unreal Engine. Но это все в прошлом!
Рис. 4. Пробный уровень. Как-то не очень похоже на Unreal…
Если раньше разработчики не спешили делиться с геймерами информацией относительно нюансов работы с движком (вспомните незадействованную кнопку помощи во всех версиях UnrealEd), то теперь ситуация резко изменилась. Сообщество разработчиков движка — Unreal Developer Network ( http://udn.epicgames.com/ ) — разрешило игровой общественности использовать свои обучающие тексты, которые раньше предназначались только для глаз разработчиков, получивших лицензию. Все ссылки на страницах сайта UDN обозначаются двумя цветами. Красным — закрытая информация для избранных обладателей лицензий (при попытке получить доступ у вас спросят логин и пароль), черным — общедоступная информация. Так вот, раньше черные ссылки тонули в океане красного, запрещающего цвета. Сегодня по Unreal Engine 2 большинство материалов стало доступно. Больше ни к чему довольствоваться информацией с любительских сайтов, где обучающие программы писались неизвестно кем по методу “научного тыка”. Берите ее прямо от разработчиков. Доступно то, о чем раньше можно было только мечтать, — от изготовления каркасных моделей вплоть до тонкостей местного API. Маленький нюанс состоит в том, что решение об открытии материалов состоялось не так давно, и на сайте царит некоторая неразбериха… Одна и та же информация с разных страниц может быть обозначена и как закрытая (красные ссылки), и как открытая (черные ссылки). То есть надо не останавливаться на отказе, следовать по открытым ссылкам и в этих страницах искать новые ссылки на интересующую информацию. С большой долей вероятности обнаружите свободный путь и откроете нужную страницу. **_
**
Рис. 5. Оружейная кость (weapon bone) у модели Brock’a находится в интересном месте.
Если нужны сведения по редактору, попробуйте начать с **http://udn.epicgames.com/Two/IntroToUnrealEd_**. Кстати говоря, полное лицензирование движка стоит $750 000. Есть вариант, когда разработчикам придется отчислять проценты с каждой проданной игры, использующей движок, и стоит такая лицензия значительно дешевле — 350 тысяч. Так вот, поскольку UE2Runtime полнофункциональная демо-версия второго поколения Unreal Engine, очень неплохо для начала сделать что-нибудь в ней, а уж потом задумываться о лицензировании (если у вас папа — нефтяной магнат или есть на примете денежный спонсор). Между прочим, широко распространенное мнение, что Unreal Engine предназначен исключительно для игр жанра 3D-Action, — глубоко ошибочно. Сами разработчики позиционируют его как не акцентированный на одном жанре, и, по их утверждениям, он вполне подходит для производства RTS.
Рис. 6. Impersonator научит ботов правильно заворачивать губы.
Научите бота разговаривать Ну и напоследок — немного о дополнительном инструментарии. 27 мая разработчики порадовали 3D-моделеров масштабным пакетом Impersonator Studio 1.0 for Unreal Tournament 2004 (см.рис. 6 ). Раньше эта “студия” отправлялась только оплатившим лицензию на движок. А теперь все желающие могут скачать Impersonator для некоммерческого использования, например с адреса ftp://ftp.mplik.ru/Games/Updates/UT2004/UT2004ImpersonatorPack.zip , __ также утилиту можно взять с нашего DVD-диска. Размер удовольствия — 40 Мб. С помощью Impersonator становится возможным добавление анимационной мимики лицам ботов в UT 2004. Моделям присоединяется новый комплект лицевых “костей” для графических пакетов 3DMax и Maya. Этим персонажам приписывается особый звуковой wav -файл . Он содержит фразы, которые должна озвучивать модель. Все это обрабатывается в Impersonator Studio (см.рис. 7 ), после чего бот произносит заученные слова “с выражением” — правильно открывает рот на нужных буквах. Сохраненная модель будет “лицедействовать” в UT2004 без проблем.
Рис. 7. Процесс обработки WAV-файла.
Вопрос о том, нужно ли в бешеной динамике нереального боя сопровождать слова реалистичным шевелением губами, — оставим открытым. Другое дело, если бы это была неспешная РПГ… Вот там это важно. Если загоритесь идеей построить РПГ на Unreal Engine 2 — Impersonator вам будет просто необходим. Пакет сопровождается подробной документацией и обучающей справкой. Правда, тут следует отметить, что программа ищет в wav-файле звуки английской речи и уже по ним строит свою работу. Для этого нужно еще предоставить в ее распоряжение текстовый файл со словами произносимой фразы… Вряд ли все это будет работать с другими языками (например, русским). Очевидное
Рис. 8. К сожалению, Brock в UnrealED отказался от комментариев по поводу необходимости Impersonator для UT 2004.
решение проблемы состоит в том, что придется составить карту соответствия лицевой мимики при английском произношении (в справке есть полная таблица для английского алфавита) и русском. После этого — написать текстовый файл со своеобразным русским текстом: английскими буквами и не так, как слышится, а так, чтобы модель открывала рот нужным образом. Да потом еще и записать эту абракадабру в звуковой файл, назвать его точно так же, как текстовый, и уже тогда запускать Impersonator. Только после создания анимации можно заменить этот wav на его “русскую” версию. Кроме всего прочего, со студией идет масса полезных файлов-примеров, среди которых полные модели персонажей игры (например, Brock ). Причем модели для 3DMax ( .max ) представлены сразу для 5-й и 6-й версии. Кроме того, они снабжены полным набором костей ( bones ) для анимации персонажа (см.рис. 5, 8 ). Нетрудно догадаться, что, если оставить скелет без изменений и присоединить его к собственной модели, — анимация нового перса для UT2004 пойдет гораздо веселее… *** * *** Редактор UnrealED из состава UT 2004 не претерпел кардинальных изменений. Да в общем-то, они и не ожидались. Имеющие некоторый опыт работы с предыдущими выпусками инструмента для создания уровней к играм серии Unreal смогут приступить к работе без переучивания. Те же пользователи, кто впервые решил попробовать свои силы, вполне могут руководствоваться статьями с описанием редактора к UT2003. Почти все осталось на своих местах, так же функционально, так же удобно. UnrealED борозды не портит. А воспользовавшись новыми возможностями — справочными и обучающими программами от разработчиков, специальной версией движка, моделями персонажей с полной системой костей — можно “вспахивать” совершенно новые горизонты.