Создание помещений (подземелий)

Добавлен , опубликован

Создание помещений

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

Подготовка к работе

Начнем мы с настройки рабочей области.
Запустите редактор, создайте или откройте новую карту.
Разбейте экран на две части, "Display -> Configure Layouts..." -> Выберите 3 иконку
Для работы нам нужен контурный вид сверху (камера сверху) и камера перспективы внизу. Нажмите правой кнопкой мыши на полоску показанную на рис. 1, выберите "View -> Top".
Рисунок 1

Планирование помещения

На панели RollupBar -> Brush найдите нужную модель помещения, и поместите её на дисплей "Top".
К примеру "objects/level_specific/fdr/buildings/fdr_warehouse/room04.cgf".
Рисунок 2
На заметку:

Убедитесь, что все три координаты нашей модели находятся в пределах игровой карты (от 0 до размер карты). "размер карты" - задается при создании новой карты. Обычно это 1024, 2048, 4096.


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

Модель у меня "весит" в воздухе. Собирать внутренние помещения так намного проще.
Если вы планируете потом соединить дверь с внешним миром, то перед процессом создания порталов, освещения и настройкой AI необходимо будет собрать все модели помещений в группу и переместить в нужное место.
Скопируйте модель, установив движение по осям "XY" на панели вверху редактора, переместите скопированную модель немного в сторону.
Теперь оставив объект "Security room2", поменяем ему модель на следующую из набора. Например "room03.cgf".
Теперь включите "прилипание сетки с шагом 0.25х" Для большей точности можно вручную задать значение "0.0725" Иногда объекты правильно стыкуются только с таким шагом сетки.
Передвиньте вторую модель на нужное место, если будут проблемы со стыкованием попробуйте передвинуть первую модель для точности стыковки (мы её ставили без прилипания к сетки). (Рисунок 3)

Рисунок 3
Если вы планируете сделать выход наружу (уровень не полностью проходит в помещении), необходимо сгруппировать все в один объект и перенести в нужное место.
Продолжая копировать одну из моделей закончите планирование будущего помещения.

VisArea и Portal.

Итак, все готово к нанесению "VisibilityArea" (VisArea) и "Portals" (Portal). Для начала необходимо объяснить принцип работы этих двух объектов.
VisArea - находясь "внутри" этой арены, все внешние объекты не будут видимы (игра их исключит из рендера, включая небо, океан, растительность, физику и тени).
Проще говоря отображаться будут только объекты внутри этой самой "висарены".
Это позволит создать освещение и существенно увеличит производительность внутри помещений.
Portal - порталы это "окно" соединяющее VisArea с другой VisArea, или внешним миром. Его следует размещать на дверные проемы и окна.
Преступим к размещению первой VisArea. Перейдите на верхний дисплей "Top".
Выберите из списка RollupBar -> Area -> VisArea. Разместите её вокруг первой комнаты.
У меня она появилась существенно ниже комнаты, при необходимости измените высоту
Обратите внимание что размещать VisArea нужно как можно более аккуратно. Желательно чтобы она немного выступала за грани комнаты. Не допускайте размера VisArea меньше размеров комнаты, иначе игрок, подойдя к стене комнаты может выйти за предел VisArea.
Измените высоту VisArea так, чтобы она полностью покрывала комнату:
Как видите снаружи не видно что находится внутри VisArea и наоборот. Теперь нанесем VisArea на все остальные комнаты. Обратите внимание, не обязательно наносить VisArea на одну комнату, для удобства можно поместить её на несколько сразу.
Дальше необходимо разместить порталы. Выберите инструмент "Portal" - он находится по соседству с VisArea. Установите его так, что бы он был как можно меньше. Идеально он должен повторять дверной проем. Также следите за тем чтобы он пересекал границы обеих VisArea.
Используя инструмент "Portal", разместите порталы на все двери и окна.
Когда все закончено, можно проверить на наличие багов. Нажмите Ctrl+G для тестирования в игре. Теперь можно добавить мелких деталей на наш уровень.
Для начала настроим VisArea. Выберите любую из ваших "висарен".
Разберем нужные нам параметры.
AmbientColor - отвечает за базовый цвет всех объектов находящихся внутри арены. Т.е является основным значением освещенности помещения. Значение 0,0,0 - означает полностью неосвещено. Выберите 15,15,15. После чего сделайте тоже самое с каждой "висареной".
Если вы все сделали правильно, то увидите что помещение стало полностью темным. В моем случае, небольшой свет все таки проходит сквозь окна и немного освещает комнату. Теперь нужно добавить на уровень различные источники освещения.
Выберите Display Options (3 иконка на RollupBar.), найдите и активируйте опцию "Show Proxy". Там редактировать уровень станет намного проще (учитываю полное затемнение).



Откройте базу данных (иконка DB) на панели редактирования.
Загрузите библиотеку "Props".




Теперь закройте базу данных и перейдите на RollupBar. Выберите *Archetype Entity* -> Props -> Lights.
Перетащите нужный объект на уровень и установите в нужное место. После чего выберите объект света и измените параметр "Cast Shadows" на High. Это значит что он будет отбрасывать тени при настройках графики не ниже High. Тут же можно настроить и другие параметры по желанию (цвет, hdr, стиль и т.п.). Расставьте необходимое количество источников освещения на весь уровень.


Настройка AI

Фактически осталось только настроить AI. Процесс подготовки уровня для AI, немного отличается от внешних локаций. Мы будем использовать простые "WayPoint" и специальный объект "Cover".
Начнем с отметки локации AINavigationModifier. Эта арена автоматически генерирует все связи между WayPoint и других AI объектов. Растяните её на всю локацию, если ваше помещения получилось слишком большим, есть смысл использовать несколько таких арен.
Перейдите к свойствам AINavigationModifier и установите WaypointConnections на Auto-Dynamic. Это позволит редактору автоматически генерировать связи между AIPoint's при генерации всей навигации. Auto-Dynamic - также учитывает физические объекты, например бочки, ящики и прочие объекты будут в реальном времени влиять на нахождение путей.


Теперь перейдем к расстановке AI WayPoints. В том же меню найдите "AIPoint".
Включите режим Follow Terrain and Snap to Objects для удобства работы. Теперь перетяните один AIPoint на уровень.
Скопируйте его и равномерно разместите по всей локации.
В меню выберите AI -> Generate ALL AI.
Если вы правильно разместили AINavigationModifier, ваши AIPoint соединятся между собой (учитывая преграды).
Теперь поместите на уровень CoverSurface. Этот объект автоматически сгенерирует укрытие для AI. В окне перспективы мы можем увидеть будущее укрытие (оно отображено темно-желтым цветом.
Установите несколько таких объектов в разных местах одной комнаты. Устанавливать их имеет смысл за всеми не физическими преградами (ограды, стены, нефизические ящики и т.п.)
Осталось только расставить AIPoint и CoverSurface на весь уровень, затем можно разместить на карту несколько противников и проверить навигацию в игре.
`
ОЖИДАНИЕ РЕКЛАМЫ...
3
21
12 лет назад
3
Крайсис 2? Как вам так удалось ухудшить графику?
0
34
12 лет назад
0
Извольте, моей целью не было показывать красоты крайзиса. Если что это низкие настройки графики.
0
21
12 лет назад
0
Лучше бы сделали обзор для CryEngine3 Free SDK, я понимаю, что по структуре они схожи,но все такие хотелось бы.
0
34
12 лет назад
0
Mud_Flow:
Лучше бы сделали обзор для CryEngine3 Free SDK, я понимаю, что по структуре они схожи,но все такие хотелось бы.
обзор чего? )
Тем более у меня нет CryEnigne 3 Free SDK. Но если будет желание может скачаю позже. Все таки мне ближе модмейкинг.
0
5
12 лет назад
0
Статья неплохая. Но как самостоятельный проект довольно скомканная. Я считаю что намного большей ценностью обладают качественные, переведенные со знанием дела, туторы от разработчиков отсюда. sdk.crydev.net/dashboard.action
А вот когда уже нечего будет оттуда брать, можно будет и свое что-то писать. Глядишь и опыта будет больше.
0
1
12 лет назад
0
Интересно-интересно. Участники требуются? Кому писать? Кто главный тут вообще?
0
34
12 лет назад
0
Dantelord, ну по поводу перевода это извольте )
Более серьезные люди будут читать официальный материал на английском (я в том числе, сам пользуюсь этим сайтом). Знание английского это решающий скилл в нашем деле )
Интересно-интересно. Участники требуются? Кому писать? Кто главный тут вообще?
по поводу, участники чего? )
Написать можно мне, если есть желание добавить свой ресурс (статью или карту на главную сайта.). Хотя я немного изменю настройки проекта, сможете сами добавить через интерфейс сайта.
done, можно вступить в проект и самостоятельно добавлять ресурсы на сайт.
0
5
12 лет назад
0
Ну если вы позиционируете данный раздел, как раздел для нубов и прочих "затупков", то так и надо писать. ) Какой смысл в это разделе вообще, если вы не можете грамотно предоставить основы? Сейчас все в достаточной мере владеют английским языком, что бы понять что там написано. Смысл читать вашу статью которая хуже систематизирована, и менее насыщена полезной информацией чем оригинал ?
0
34
12 лет назад
0
Сейчас все в достаточной мере владеют английским языком
вовсе нет )
если вы не можете грамотно предоставить основы?
Если бы мне за это платили..
Я просто делаю что мне нравится и выкладываю свои труды на сайт, читать или нет это личное дело каждого. Никого не принуждаю. Но если статья будет кому то полезна, я буду рад.
0
5
12 лет назад
0
Да как у вас тут все запущенно ) Интересная у вас позиция. Ладно проехали... Качественной инфы по краю тут ждать бесполезно...
0
34
12 лет назад
0
Хардовым девелоперам достаточно официальной документации и редактора )
Для остальных мы делаем статьи. Так что да, он не для гуру модмейкинга.
0
5
12 лет назад
0
Очень очень плохо, если честно. Пора уже вылезать из яслей и переходить на качественно новый уровень.
Но с другой стороны это даже к лучшему...
2
1
11 лет назад
Отредактирован maxkhalmurzaev
2
Hellcore:
Хардовым девелоперам достаточно официальной документации и редактора )
Для остальных мы делаем статьи. Так что да, он не для гуру модмейкинга.
Hellcore , статья ваша - очень нужная и полезная. На самом деле даже знающий английский язык человек, всегда может разобраться в официальных доках , а порой и вовсе найти искомое, т.к. его там просто нет).
Dantelord:
Очень очень плохо, если честно. Пора уже вылезать из яслей и переходить на качественно новый уровень.
Но с другой стороны это даже к лучшему...
я думаю вы в корне не правы.... раделись с клавой в руках и сразу со знанием английского? ммм может быть ещё и "Со знанием дела?", ну так флаг вам в руки, что вы тут вообще делаете? Вообще из всех ваших сообщений не трудно понять, что вы всего то хотите показать какой вы умный. (что не факт).
Hellcore - ещё раз вам спасибо... очень буду ждать продолжения/й )))
0
34
11 лет назад
0
спасибо )
0
26
11 лет назад
0
Hellcore, а оно (продолжение-то) вообще будет когда-либо? А то ни одной статьи в разделе за полгода.
0
34
11 лет назад
0
Зависит от тех, кому интересна игра.
0
1
11 лет назад
0
Посещаю сайт уже около 3х лет, только-только дотянулись руГи-крюги до регистрации. Раньше торчал в разделе wc3))) теперь всё поехало по нарастающей (надеюсь), добрался до cry engine путём 3Дмаксов, збрашей, Юдк и т.д. Игра сама не интересна))) (пардонте), а вот сам cry engine очень привлекает... Бесплатных аналогов для создания качественного реал-тайма сейчас нет. Hellcore, если есть знания, делитесь... уверен кол-во интересующихся будет расти по мере поступления материала, которого опять таки практически нет на русском... да и вообще материал, что лежит на офф сайте, не подойдёт "чайникам". А "чайников" в cryengine, думаю, гораздо больше чем продвинутых парней)))... так что ждёмс...
P.S. На старте, все всегда идут своим путём... и знакомство с софтом у всех происходит по разному, в связи с этим, дабы направить людей (и меня признаюсь) в нужное русло, не плохо было бы иметь некую хронологическую цепочку уроков от "А до Я" или "Нажмите сюда". Уроки формата "Making of" вполне бы подошли, главное чтоб написаны были подробно...
0
34
11 лет назад
0
Уроки нажать сюда я никогда делать не буду )
Надо все таки иметь хоть какое то желание самому экспериментировать и что-то делать. Без этого просто нельзя. Насчет знаний, да кое что знаю, правда редактор удален еще пол года назад. Кто знает, может когда нибудь и установлю если соберется группа людей которым интересно заниматься модмейкингом в этой области. Могу разве что рассказать как сделать реалистичный ландшафт огромного размера от 8км. Как то экспериментировал с некоторыми утилитами, масками и алгоритмами что позволяло получить с генерированный ландшафт на уровне оригинальной crysis.
0
1
11 лет назад
0
Окей)... раз так, очень хочется знать как всунуть в cry engine максовские модельки или obj, без crymaxtools?
0
1
11 лет назад
Отредактирован maxkhalmurzaev
0
ну вот и всё(
Чтобы оставить комментарий, пожалуйста, войдите на сайт.