Меню

Cryengine при создании ландшафта

CryEngine5. Создание ландшафта.

Как создать ландшафт в CryEngine5.

В этом уроке мы рассмотрим, как создать ландшафт в игровом движке CryEngine5 и наложить на него текстуры.

Давайте приступим. Для начала необходимо запустить сам движок и открыть любой проект (Как запустить CryEngine5 мы рассматривали в предыдущих статьях). Вверху на панели инструментов нажмите File — New для создания нового уровня.

Появится окно, где необходимо указать название уровня, место расположения и параметры ландшафта.

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

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

После не хитрых манипуляций у нас примерно получается вот так:

На данной стадии наш ландшафт выглядит еще не совсем так как нужно, давайте подымим уровень моря, для того чтобы наш ландшафт превратился в остров. В той же панели нажмите Edit — Set Ocean Height и в появившемся окне укажите число 30 и посмотрите что получится, таким способом подгоните уровень моря под ваш ландшафт.

Теперь добавим текстуры к поверхности. В той же вкладке перейдите в раздел Paint

Создадим новый слой и назовем его ground. В поле names, ниже под слоем default, нажмите правой кнопкой мыши и выберете Create layer.

Выберете один из слоев и ниже в поле texture, выберете текстуру белого цвета, нажав на изображение папки. Текстуру можно использовать стандартную, найти ее можно в папке Assets\engineassets\textures.

Далее нам необходимо создать материал для нашей поверхности. Перейдите в Tools -Material Editor и нажмите на создание нового материала. Укажите папку, в вашем проекте, где будет храниться этот материал.

Откройте созданный материал и в поле Shader укажите Terrain.Layer , в поле Diffuse укажите свою текстуру, желательно поместив ее в папку с проектом.

Вернитесь к ландшафту и в нашем созданном слое ground укажите новый материал в поле Material под Texture.

Далее нажмем кнопку Paint и при помощи кисти добавим текстуры на поверхность.

По такому же примеру можете создать еще несколько слоев с разными материалами для болей реалистичности.

Источник статьи: http://3dgame-creator.ru/catalog/uroki/cryengine5-sozdanie-landshafta/

Создание реалистичного окружения в CryEngine

Joe Garth поделился замечательными деталями своего рабочего процесса, которые помогли ему перенести отсканированные ассеты в цифровой пейзаж.

Снежная сцена

Моя задача заключалась в том, чтобы создать реалистичный снежный ландшафт, а также разработать новые графические функции для CRYENGINE V. Меня вдохновили работы DICE над Star Wars: Battlefront точно так же, как и ледяные и заснеженные уровни оригинального Crysis. Для этого проекта мне посчастливилось работать непосредственно с талантливым программистом CRYENGINE Владимиром Каджалиным. Владимир — специалист по инженерному рендерингу, который может быстро добавить функции в движок. Во время этого проекта я должен выделить функции, необходимые для реалистичной сцены, а у Владимира возникнет трудная задача попытаться воплотить мои запросы в реальность, сохраняя при этом производительность.

В целом для разработки этой сцены потребовались две новые функции CRYENGINE V. Новая система интеграции рельефа / объекта, которая легко смешивает ландшафт с объектами, и модификация для деколей, позволяющая изменять наклон нормали поверхности. Эти функции станут доступны в будущих выпусках CRYENGINE.

Чувство масштаба

Когда дело доходит до масштаба и реализма, то всегда могут помочь референсы. Я потратил много времени, просто смотрев на различные фотографии гор, снега, Арктики. Они не всегда имеют то же освещение, что и я попытаюсь сделать, но они помогают держать меня в правильном направлении. Иногда лучше найти референс, который не использует цветокоррекцию (я предпочитаю кинематографический вид, похожий на кино, это реальность, но немного более насыщенная и яркая). Важно почувствовать материал и его свойства. Снег, например, не на 100% непрозрачен, часть света поглощается, часть отскакивается внутри, что означает, что редко бывают жесткие или грубые детали. Я часто немного смягчал и размывал текстуру террейна, чтобы дать иллюзию этого эффекта рассеивания.

Ассеты

Все скалы — ассеты Megascans, это одни из самых красивых сканов, с которыми мне приходилось работать. Они действительно повышают качество картинки и являются хорошим источником вдохновения для различных энвайронментов.

Достаточно просто импортировать ассеты из Megascans в CRYENGINE. Мегасканы имеют реал-тайм сканы, предназначенные для игр. Вы можете выбрать, какой PBR воркфлоу использует ваш движок. Cryengine, например, использует Specular и Gloss.

Для ассетов камней, подобных этому, PBR, на самом деле, покажется вам очень простым, как только вы настроите свою первую модель. Потребуется 4 текстурных карты: Albedo, Normal, Specularity, Subsurface.

Когда вы поставите все текстуры на места, настройте значения параметров PBR для соответствия с реальным миром.

Здесь вы можете узнать больше о PBR в CRYENGINE здесь: ссылка.

Материал снега

Я использую новую функцию CRYENGINE, разработанную Владимиром Каджалиным, для интеграции объектов с ландшафтом.

Функция бесшовно блендит снег в скалы, не создавая жестких краёв, которые можно встретить в играх предыдущего поколения. Такие next-gen функции станут широко использоваться в будущем.

Еще одна интересная фича, которую я использую, — это дополнение к параметрам материала деколя. Параметр дает художнику возможность изменять наклон нормали поверхности. Это означает, что я могу изменить количество снега, которое собирается на скале, угол и его направление.

Эта единственный огромный деколь представляет собой снежный покров на всей сцене.

Террейн

Для этого проекта ландшафт был полностью выполнен в CRYENGINE. Я хотел посмотреть, как далеко я могу зайти, не используя программу создания ландшафта, такую ​​как World Machine или World Creator. В CRYENGINE есть некоторые довольно неплохие параметры шума для рельефа, который я использовал для создания хороших шумовых эффектов. В конце я наложил огромный деколь на вершину, чтобы дать снегу направление.

Освещение

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

Я использую единственный Cubemap для всех отражений на сцене.

Я использую CRYENGINE’s Voxel Global Illumination, чтобы получить реалистичный свет от солнца. Это важно, поскольку он делает тени мягкими и создает некоторые тонкие градиенты.

В будущем я надеюсь работать над такими маленькими проектами, чтобы улучшить как CRYENGINE, так и мой воркфлоу.

Посмотрите другие работы Joe Garth на Artstation: источник.

Переведено с сайта 80.lv.

Редакция Devgam

Благодарим наших читателей и подписчиков за проявленный интерес. Поделитесь постом в социальных сетях.

Источник статьи: http://devgam.com/sozdanie-realistichnogo-okruzheniya-v-cryengine

CryENGINE

Глава 2: Основы Sandbox

Глава 2:Основы Sandbox

В этой главе мы рассмотрим:
Создание нового уровня Генерация процедурного ландшафта Создание ландшафта Установка текстуры ландшафта Размещение объектов в мире Возможные манипуляции над объектами
Использование инструмента layers для работы нескольких разработчиков
Переключение на игровой режим
Сохранение уровня
Экспорт в двигатель
Создание точки входа (Spawn Point)
Запуск карты в Launcher

Введение.

Теперь, когда CryENGINE 3 Software Development Kit установлен и настроен, мы можем изучить способы использования этого графического редактора.
В этой главе мы рассмотрим большинство инструментов, с которыми вам неоднократно придётся иметь дело в процессе разработки, познакомимся с набором инструментов для совместного создания локаций несколькими разработчиками. А также, научимся переключаться от разработки к игровому режиму, что является большим плюсом Sandbox. Эта особенность редактора даёт разработчику возможность, не отрываясь от процесса разработки, увидеть свой уровень таким, каким он будет в игре.

Создание нового уровня

Как это делается.
В открытом редакторе, следуя этой инструкции, создадим уровень:

1. Щёлкните File.
2. Щёлкните New.

Далее вы увидите диалоговое окно, где редактор попросит вас ввести имя для будущего уровня, этим именем будет называться .cry файл. Вы можете дать любое имя на ваше усмотрение, но в этом уроке мы, для примера, дадим уровню имя My_Level:

Читайте также:  Клумба для цветов своими руками мастер класс

1. В открывшемся диалоговом окне, в строке Level Name, введите My_Level.
2. Для создания ландшафта используйте следующие значения:

Use Custom Terrain Size: True (будет ли создана земля)
Heightmap Resolution: 512×512 (используется при подсчётах размера карты)
Meters Per Unit: 1 (используется при подсчётах размера карты)

В зависимости от характеристик вашего компьютера, создание уровня может потребовать от нескольких секунд, до нескольких минут. После того, как процесс создания будет завершён, вы должны увидеть чёткое синее небо в окне предварительного просмотра и вот эти строки в консоли:

Finished synchronous pre-cache of render meshes for 0 CGF’s
Finished pre-caching camera position (1024,1024,100) in 0.0 sec
Spawn player for channel 1

Это означает, что новый уровень создан успешно.

Как это работает.

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

Using the Terrain option

Эта опция позволяет разработчику решать, будет ли на уровне использоваться какой-нибудь ландшафт. Это очень полезно, когда уровень состоит из объектов закрытого типа: бункер, подземный комплекс или лаборатория. Отсутствие ландшафта в таких случаях сэкономит ресурсы компьютера.

Heightmap resolution

Этот параметр определяет разрешение карты высот (локация имеет форму квадратной плоскости, при этом плоскость состоит из множества маленьких квадратиков, количество которых и определяет параметр Heightmap resolution) для вашей локации и влияет на её размер. Его значения могут быть от 128×128, и до 8192×8192.

Meters per unit

Если на Heightmap resolution смотреть с точки зрения пиксельного размера, то Meters per unit спрашивает, сколько метров будет составлять один пиксель. Это означает, что каждый пиксель heightmap будет представлен этими многими метрами. Например, если у Heightmap resolution есть 4 Meters per unit (на пиксель), тогда каждый пиксель на сгенерированной карте составит четыре метра в длине и ширине.

Этот параметр используется для увеличения размеров локации, но у него есть недостаток: чем больше его значение, тем хуже будет работать сглаживание при работе с ландшафтом. Границы разных слоёв при раскрашивании ландшафта будут иметь треугольную форму.

Terrain size

Размер будущей локации высчитывается в метрах (m) по формуле (Heightmap Resolution) x (Meters Per unit) = Terrain size.

Вот некоторые примеры:
(128×128) x 4m = 512x512m
(512×512) x 16m = 8192x8192m
(1024×1024) x 2m = 2048x2048m

См. также.

Если после создания уровня у вас возникла необходимость увеличить размеры вашей карты, то воспользуйтесь Terrain Editor | Modify | Set Unit Size.

См. также.

Для того чтобы научиться изменять ландшафт, изучите следующий урок: Генерация процедурного ландшафта.

Генерация процедурного ландшафта

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

Откройте My_Level в редакторе Sandbox.

Как это делается.

Над окном просмотра Perspective в редакторе вы должны видеть инструмент Edit Terrain, щёлкните по нему или в верхней части редактора, в главном меню откройте Terrain и выберите из списка Edit Terrain, откроется окно Terrain Editor для редактирования ландшафта.

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

1. Щёлкните Modify.
2. Выберите Set Terrain Max Height.
3. В открывшемся окне установите значение 256 (измерения ведутся в метрах).

Теперь мы можем сгенерировать ландшафт:

1. Щёлкните Tools.
2. Затем щёлкните Generate Terrain.
3. Выставьте значение Variation (Random Base) равное 15.
4. Нажмите OK.

После генерации вы увидите примерно такую карту высот:

Это интересно.

Теперь самое время сгенерировать поверхностную текстуру и увидеть, как будет выглядеть карта. Для этого выполните File | Generate surfacetexture | OK.

Как это работает.

Максимальное значение высоты очень важный параметр, поскольку он управляет максимальной высотой, на которой вы можете строить свой ландшафт. Но это не максимальная высота вашего уровня полностью, поскольку вы все еще можете поместить объекты, с которыми высота уровня будет намного больше этого значения. Также важно отметить, что если вы импортируете карту высот в CryENGINE тогда, это значение будет использоваться в качестве верхнего предельного значения самой высокой точки ландшафта (255. 255. 255 белый), самое низкое предельное значение всегда будет 0 (0.0.0 чёрный). Поэтому ландшафт будет сгенерирован в пределах от 0 до максимальной высоты, указанной вами.

Иногда, при генерации процедурного ландшафта возникают следующие проблемы:

По всей карте находится множество острых шипов, массивных гор и крутых наклонов. Решение: уменьшите значение Set Terrain Max Height, максимальная высота ландшафта будет снижена.

Карта получилась плоской и не имеет выступов, гор, холмов.
Решение: следует увеличить значение Set Terrain Max Height.

См. также.

При генерации процедурного ландшафта вы можете использовать и другие настройки.

Настройки генерации процедурного ландшафта

При создании ландшафта вы можете использовать следующие настройки:

Feature Size — этот параметр обрабатывает общие манипуляции с высотой в пределах карты и размер каждой возвышенности. Изменяя это значение к 1 можно получить округлые возвышенности и наоборот, увеличивая это значение, можно получить более острые, крутые возвышенности, поэтому лучше оставлять это значение в 7.0.

Bumpiness/Noise (Fade) — в основном это шумовой фильтр для уровня. Большее значение, больше шумов появится на карте.

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

Variation — управляет числом возвышенностей с максимальной высотой (Set Terrain Max Height), используемых в полной генерации ландшафта. Есть в общей сложности 33 точки в пределах от 0 — 32, чтобы выбрать количество и наклон возвышенностей.

Blurring (Blur Passes) — это фильтр размытости. Чем выше значение, тем более гладкие, плавные склоны будут на вашей карте.

Set Ocean Level — устанавливает уровень воды на локации, для доступа в окне Terrain Editor откройте Modify | Set Ocean Level.

Make Isle — этот инструмент берёт высшую точку на вашей карте и автоматически понижает все остальные возвышенности вокруг, превращая локацию в остров. Находится он в Terrain Editor | Modify | Make Isle.

Создание ландшафта

В этой теме мы рассмотрим создание ландшафта вручную. Здесь вы научитесь создавать возвышенности, низины, впадины, научитесь пользоваться инструментом сглаживания в Terrain Editor и в окне Perspective.

Использование инструмента Terrain Brush (кисти) в окне Terrain Editor допустимо только когда вы создаёте общую форму ландшафта для будущего уровня. Для создания более мелких элементов ландшафта, требующих высокой точности, следует использовать инструмент Terrain Brush непосредственно в окне Perspective.

Подготовка.

1. Откройте My_Level в Sandbox.

2. Изучите тему «Генерация процедурного ландшафта» в этой главе, чтобы узнать о Terrain Editor.

3. Изучите тему «Управление камерой в Sandbox» глава 1: «Стартовые настройки”.

4. Окно с инструментами Rollup Bar должно быть открыто в редакторе.

Как это делается.

С правой стороны окна Terrain Editor находится набор инструментов Terrain Brush. Вы можете работать этими инструментами как в окне Terrain Editor, так и в окне Perspective.

1. Для того, чтобы начать выберите инструмент Flatten (Terrain Editor l Terrain Brush) и установите для него следующие параметры:

Outside Radius = 50
Inside Radius = 50
Hardness = 1
Height = 30

2. Теперь зарисуйте кистью (Flatten) четверть северо-западного угла локации, сделав ровную площадку.

3. Выберите кисть Smooth и установите для неё следующие параметры:

Outside Radius = 50
Hardness = 0.7

4. Примените инструмент Smooth (сглаживание) к границе между выровненной вами частью карты и созданной автоматически. У вас должен получиться плавный переход между возвышенностями и выровненным участком локации.

5. Измените тип кисти на Raise/Lower (повышает или понижает высоту ландшафта в своём радиусе) и установите следующие значения:

Outside Radius = 30
Inside Radius = 25
Hardness = 0.4
Height = 1

6. Рисуйте кистью Raise/Lower в выровненной области карты, чтобы увидеть, как повышается ландшафт.

7. Попробуйте модифицировать ландшафт в окне Perspective. Все описаные выше инструменты вы также можете найти в Rollup Bar/Terrain/Modify.

Читайте также:  Расписание поездов теплице прага

Как это работает.

Все вышеописанные инструменты имеют функции, очевидные из их названия. Так же эти инструменты имеют одинаковые параметры настройки, такие как: внешний радиус, внутренний радиус, жёсткость кисти, высота (за исключением кисти для сглаживания):

Outside Radius — внешний радиус кисти, в котором инструмент будет прилагать наименьшее воздействие на ландшафт.

Inside Radius — внутренний радиус кисти, в котором инструмент максимально воздействует на ландшафт. Зависит от значений Hardness и Height.

Это интересно.

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

Hardness — жёсткость кисти. Если это значение равно 1, то после одного щелчка у вас будет требуемая высота, если установлена 0,01, то потребуется 100 щелчков, чтобы достичь того же результата.

Height — устанавливает необходимую высоту для инструментов Flatten и Raise/Lower.

См. также.

Вот некоторые другие дополнительные настройки, которые можно использовать, при создании ландшафта:

Noise settings

Это функция работает только с инструментами Flatten и Raise/Lower. Добавляет случайные шумовые модификации к создаваемой поверхности.

Scale (%) — как высоко/низко будет шумовая модификация.
Frequency (%) — как часто шум изменит высоту вдоль поверхности ландшафта.

Если на локации уже есть растительность или объекты, включённая функция Noise settings работать не будет.

Установка текстуры ландшафта

В этом уроке мы рассмотрим, как применить текстуру к созданному ландшафту. Откройте My_Level.

Как это делается.

1. Откройте окно Terrain Texture Layers в панели инструментов или щёлкните Terrain/Texture.
2. В открывшемся окне нажмите Add Layer.
3. Переименуйте NewLayer в Grass (двойной щелчок по названию).
4. Выберите текстуру, выполнив Change Layer Texture/Terrain/ground_mud_grey.dds.
5. Теперь нужно выбрать материал. Щёлкните ссылку напротив названия уровня и выберите такой материал: Materials/Terrain/grass_7. Вернитесь в окно Terrain Texture Layers и щёлкните Assign Material.
6. Перейдите в RollupBar/Terrain и выберите инструмент Layer Painter, в нём выберите свой слой Grass, настройте параметр Color, присвоив ему значения Red: 191, Green: 215, Blue: 138.
7. Сохраните выбранный цвет, нажав кнопку Save Layer в графе Filter.
8. Переместите кисть в окно Perspective и раскрасьте ландшафт.

Как это работает.

Применение материала и текстуры призваны сделать поверхность вашего ландшафта реалистичной. Текстура отображает поверхность карты на расстоянии. Материал обеспечивает качественное отображение поверхности карты вблизи, будь то песок, трава или асфальт.
Цвет текстуры не смешивается с цветом материала и рассеивается отдельно, поэтому необходимо стремится, чтобы текстура и материал были близкими или одинаковыми по цветовой схеме.

См. также.

Вот некоторые дополнительные настройки, которые могут быть использованы:
Radius and Hardness — можно увеличить или уменьшить радиус вашей кисти или изменить её жёсткость. Это будет полезным, когда нужно раскрашивать как большие, так и маленькие объекты.
Altitude and Slope (высота, наклон) — здесь вы можете выставить ограничения высоты или наклона, где кисть не будет красить. К примеру, выставьте значение Altitude равное от 150 до 1000, кисть закрасит только ландшафт на высоте от 150 и до 1000. Очень полезно при создании шапок гор.
Filter (Brightness) — позволяет изменить яркость уже выбранного цвета текстуры.
Tile Resolution — данный параметр устанавливает разрешение текстурного слоя. Установка меньшего разрешения отобразит текстуру мозаикой. Установка большего значения снижает производительность компьютера, но делает карту более качественной.
Generating Surface Textures — данная функция объединяет все используемые текстуры с ландшафтом и создаёт уменьшенные на 1/6 их копии в terraintexture.pak файле.
Получить доступ к Generating Surface Textures можно, выполнив File/Generate Surface Texture.

Размещение объектов в мире

Размещение объектов в мире игры является простой задачей, тем не менее, иногда разработчики сталкиваются с проблемой: они не видят помещённый на карту объект. В этом уроке мы рассмотрим простой способ поместить объект на локацию.

Как это делается.

Сначала нажмите кнопку Follow Terrain (панель инструментов над окном Perspective), затем откройте вкладку Objects на панели Rollup Bar, дальше выберите Brush, затем найдите объект defaults/box, например.
Теперь щёлкните два раза по выбранному объекту или просто перетащите его с зажатой левой кнопкой мыши в окно Perspective. Когда объект будет в нужном месте карты, просто щёлкните там мышью, чтобы подтвердить позицию объекта.

Как это работает.

Follow Terrain является простым и очень полезным инструментом. Он заставляет центр объекта следовать точно по верху вашего ландшафта.

См. также.

При размещении объектов можно также воспользоваться инструментом Follow Terrain and Snap to Objects (находится возле Follow Terrain). Этот инструмент работает точно так же, как и Follow Terrain за исключением того, что он заставляет объект перемещаться не только по поверхности ландшафта, но и по поверхности других объектов.
Этот метод не работает с объектами non-physicalized.

Возможные манипуляции над объектами

В этом уроке мы рассмотрим различные манипуляции над объектами, которые вам, возможно, придётся сделать после размещения объекта в мире, такие как: вращение, масштабирование, перемещение объекта.
Откройте My_Level.
Поместите какой-нибудь объект на карту.

Как это делается.

В этом примере мы будем использовать объект Box.

1. Выберите объект Box на вашей карте, щёлкнув по нему.
2. После того как вы выберите объект, вы должны увидеть три оси, которые представляют объект в 3D пространстве.

Y = Forward
X = Right
Z = Up

Чтобы переместить объект на карте следуйте следующим шагам:

3. Щёлкните Select and Move в панели инструментов EditMode ToolBar (1 — горячая клавиша на клавиатуре).
4. Щёлкните по оси X и перетаскивайте объект мышью по направлению выбранной оси.
5. Отпустите левую кнопку мыши, чтобы подтвердить изменение позиции объекта.

Можно перемещать объекты или в единственной оси, или в двух сразу: X + Y, X + Z, или Y + Z.
Чтобы повернуть объект, сделайте следующее:

1. Щёлкните Box.
2. Щёлкните Select and Rotate (горячая клавиша — 2) в панели инструментов EditMode ToolBar.
3. Выберите ось Z (у неё теперь имеется окружность) и перемещайте объект с зажатой левой кнопкой мыши вокруг выбранной оси.
4. Отпускание кнопки мыши подтвердит изменение положения вокруг выбранной оси.

Невозможно поворачивать объект вокруг нескольких осей сразу. Чтобы масштабировать объект, сделайте следующее:

1. Щёлкните Box.
2. Щёлкните Select and Scale (горячая клавиша — 3) в панели инструментов EditMode ToolBar.
3. Выберите центр объекта и перетаскивайте мышь, чтобы масштабировать объект сразу по всем осям.
4. Отпустите левую кнопку мыши, чтобы подтвердить изменение масштаба объекта.

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

См. также.

Вот некоторые дополнительные способы управлять объектами:

Local position and rotation

В EditMode ToolBar есть окно Local Direction с выпадающим списком, в котором можно изменить положение направления осей, выбрав Local или View.

Grid and angle snaps

Snap to Grid позволяет перемещать объект по карте строго по ячейкам сетки. Размер ячеек можно изменить.
Snap Angle позволяет вращать объект строго на установленное количество градусов.

Ctrl + Shift + Click

Это сочетание горячих клавиш позволяет поместить выбранный объект в любую точку вашей карты одним щелчком мыши.

Использование инструмента layers для работы нескольких разработчиков

Многие часто задают вопрос, как могут несколько разработчиков работать над одним уровнем? В этой теме мы рассмотрим этот вопрос и научимся работать над одним уровнем параллельно с другими разработчиками.
Откройте My_Level.

Как это делается.

1. Для этого урока мы предположим, что у вас есть своя собственная команда для вашего проекта и возникла необходимость отправить вашу работу другим членам команды.
2. Поместите на карту два объекта, назовём их Boxl и Box2. Далее откройте в Rollup Bar вкладку Layers.
3. Создайте новый слой, щёлкнув кнопку New Layer.
4. В открывшемся диалоговом окне примените следующие параметры:

Name = ActionBubble_01
Visible = True
External = True
Frozen = False
Export To Game = True

5. Теперь выберите Boxl и откройте Objects в панели инструментов Rollup Bar.
6. Здесь вы можете увидеть настройки выбранного объекта, такие как Name,
Helper Size, MTL, и Minimal Spec, там же вы увидите кнопку для Layers. Щелчок по этой кнопке покажет вам список существующих слоёв.
7. Щёлкните по кнопке Layers, выберите созданный слой ActionBubble_01 (объект будет записан в этот слой).
8. Сохраните свой уровень, щёлкнув File/Save.

Читайте также:  Построить беседку или террасу

Теперь откройте корневую папку редактора, перейдите в следующее расположение: . \Game\Levels\My_Level. Здесь вы заметите новую папку под названием Layers. В той папке вы найдёте ActionBubble_01.lyr. Проще всего переместить папку целиком. Теперь этот слой может использовать другой разработчик, сделать изменения в уровне, переместить Box1 в другое место. Затем пусть сохранит изменения. Попробуйте снова загрузить ActionBubble_01.lyr в своём редакторе. Вы заметите, что Box1 переместился после того, как вы вновь открыли My_Level.cry в редакторе.

Как это работает.

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

См. также.

Вот список того, что не могут содержать внешние слои:

Ограничения внешнего слоя

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

Terrain: Heightmap, Unit Size, Max Terrain Height, Holes, Textures (карта высот вашей локации, размер, максимальная высота, разные пещеры и норы, текстуры). Vegetation (растительность).
Environment Settings (настройки окружающей среды).
Ocean Height (уровень океана).
Time of Day Settings (настройки дня и ночи).
Baked AI Markup (разметка AI).
Minimap Markers (маркеры).

Переключение на игровой режим

Основное достоинство CryENGINE 3 то, что вы видите всё то, что создаёте и мгновенно можете переключиться на игровой режим.
Тестирование вашей работы часто является ключом к созданию успешного проекта, и быстрое легкое переключение на игровой режим в пределах редактора позволяет вам тестировать по желанию без потребности закрыть Sandbox.
Даже при том, что редактор создан с этой функцией, некоторые игровые элементы требуют тестирования в Launcher, чтобы разработчик мог досконально проверить свою работу.

В этом уроке мы научимся пользоваться игровым режимом, чтобы видеть и слышать всё то, что будет в игре.
Откройте My_Level.

Как это делается.

Чтобы переключиться в игровой режим в главном меню Sandbox щёлкните Game | Switch to Game или сочетание горячих клавиш Ctrl + G. Это очень просто.

Это интересно.

Если включена Game Logic (игровая логика) игрок будет спауниться в той точке, с которой должен был войти в игру.

Сохранение уровня

На первый взгляд сохранение уровня кажется простым процессом. Однако, есть некоторые важные функции, о которых следует знать, сохраняя ваш уровень. Этот рецепт покажет вам, как сделать основное сохранение, копировать/перемещать ваш уровень (не используя, Save AS), и создавать автоматические резервные копии.
Откройте любой уровень в Sandbox.

Как это делается.

Чтобы сохранить уровень выполните File/Save.

Это интересно.

Сочетание клавиш Ctrl + S не работает по умолчанию, вы можете установить горячие клавиши для этой команды самостоятельно.

Чтобы копировать или переместить уровень выполните:
1. Первоначально, сохраните свой уровень в его расположении по умолчанию.
2. Windows Explorer откройте местоположения уровня (. \Game\Levels).
3. Используйте команды Windows, чтобы копировать/переместить всю папку My_Level.
4. Вставьте уровень в расположение, которое вы хотите.
5. В случае необходимости, переименуйте папку My_Level и файл My_Level.cry.

Мы рекомендуем, чтобы вы никогда не выполняли сохранение своего уровня через Save AS. К сожалению, есть несколько зависимостей контента от его местонахождения (Level.pak, TerrainTexture.pak, Layers, Minimap images и так далее) по которым нельзя переместить или копировать уровень через Save AS. Все эти файлы зависимы от папки, в которой они размещаются. Если вы сделаете это, то увидите несколько аномалий в пределах вашего уровня (поврежденные текстуры, ошибки в игровой логике, недостающий актив).
Создавая резервное копирование, помните, что по умолчанию, Sandbox создает файлы My_Level.bak после второго или третьего сохранения уровня. Эти .bak файлы являются, по сути, предыдущими версиями вашего .cry файла.
Если по любой причине вы должны вернуться назад к предыдущему сохранению вашего уровня, вы можете удалить свой файл My_Level.cry и переименовать My_Level.bak# в My_Level.cry и вновь открыть свой уровень в Sandbox. Кроме того, по умолчанию, Sandbox создает до двух предыдущих версий .cry файла (My_Level.bak и My_Level.bak2).

Как это работает.

По умолчанию, все уровни сохраняются в их собственной папке в . \Game\Levels\имя. Например, у уровня My_Level будет своя собственная папка. После того, как уровень будет сохранён, папка будет содержать .cry файл с именем уровня. Каждый .cry файл содержит всю необходимую информацию, которая и составляет ваш уровень.

См. также.

В зависимости от вашего стиля работы вы можете включить автоматическое резервное копирование. Это автоматически сохранит вашу работу с интервалом в каждых X минут в папку вашего уровня. Чтобы получить доступ к этой функции, откройте Sandbox/Tools/Preferences/General/Files/Auto Backup.

Экспорт в двигатель

Даже при том, что сохранение вашего уровня создаст .cry файл, важно отметить, что .cry файл один не будет работать в Launcher. Для этого вы должны будете изучить этот урок, который создаст необходимые файлы для работы в Launcher.
Откройте My_Level в редакторе.

Как это делается.

Выполните File/Export to Engine или используйте сочетание горячих клавиш Ctrl + E.

Как это работает.

Этот решающий шаг обязан преобразовывать весь ваш проект из .cry файла в level.pak в папке My_Level, которая будет использоваться в Launcher. Этот level.pak в основном хранит кэш данных для игры, которые содержат всю информацию о Game Logic, AI Markup, Particle, Brush и так далее.

См. также.

Вот немного полезной информации, которую следует знать о .pak файлах.

Открытие .pak файла

Возможно открыть эти .pak файлы и увидеть информацию, хранящуюся в них, используя стороннее программное обеспечение, такое как WinZIP и WinRAR. Однако, мы не рекомендуют делать это, если вы не знакомы с ручной обработкой файлов редактора. Если вы изменяете файлы, которые хранятся в этих .pak архивах, вы рискуете повредить .pak файл и свой уровень.

Поврежденные .paк файлы должны быть удалены и реэкспортированы

Не стоит паниковать, если по какой-то причине ваш .pak файл становится поврежденным и не работает в Launcher. Можно всегда удалить его и генерировать новый, используя ваш My_Level.cry.

Создание точки входа (Spawn Point)

Любая игра начинается с появления на локации игрока. В этой теме мы рассмотрим, как добавить Spawn Point на карту, чтобы после загрузки уровня игрок появлялся в определённом месте.
Откройте My_Level в Sandbox.

Как это делается.

Если при входе в локацию игрок не будет находиться в каком-нибудь летающем механизме, то мы рекомендуем использовать для Spawn Point твёрдые элементы ландшафта.

Чтобы добавить точку входа следуйте этой инструкции:

1. Перейдите в Rollup Bar.
2. Откройте Objects и щёлкните кнопку Entity.
3. Откройте папку Others, найдите в ней Spawn Point.
4. Поместите Spawn Point там, где вы хотите, чтобы появился игрок.

Как это работает.

Эта начальная точка входа будет автоматически работать основной точкой для вашей карты в Launcher (пока вы придерживаетесь значения по умолчанию SinglePlayer.lua). Если вы запускаете вашу карту в Launcher, вы будете созданы в месте, где расположена Spawn Point. Любые дополнительные точки входа не будут функционировать, если не будет описан их порядок работы.

Запуск карты в Launcher

В заключительном уроке этой главы мы рассмотрим запуск карты в Launcher.
У вас уже должна быть карта с точкой входа Spawn Point (иначе вы будете созданы с координатами 0.0.0) и сгенерированный level.pak вашего уровня.

Как это делается.

1. В Windows Explorer открываем . \Bin32 или . \Bin64.
2. Запускаем файл Launcher.exe.
3. Открываем консоль (

).
4. Вводим в консоль команду открыть наш уровень: map My_level.
5. Жмём Enter.

Дальше должна загрузиться ваша карта, а главный герой будет создан в точке Spawn Point.

Источник статьи: http://crydev.ru/glava-2-osnovy-sandbox

Adblock
detector