Уроки по CryENGINE®3

CryENGINE®Free SDK Version: 3.5.4

Создание нового уровня в CryENGINE®Free SDK

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

В этом уроке мы будем создавать свой первый уровень. Итак, для начала запустим SDK. После открытия у Вас появится диалоговое окно, через которое можно открыть существующий уровень или создать новый. Нажимаем на кнопку Новый и у Вас появится диалоговое меню создания Вашего уровня. В этом диалоговом окне есть следующие основные элементы:
Level Name: - Имя создаваемого уровня. Сюда вводим название вашего уровня; у меня, например, Test_1.
Heightmap Resolution: – Размер вашего уровня. Здесь вы можете выбрать размер вашего уровня.
Meters per unit: – Количество метров в одной единице размера вашей карты. По умолчанию стоит 2, но можно изменить на другое.
Terrain Size: – Указывает на размер создаваемой карты в метрах. Это общее показание того, что у Вас получится.
После того как выбрали нужные параметры, нажимаем ОК. Далее у вас откроется еще одно окно, которое генерирует текстуру по умолчанию для вашего уровня. Выбираем тот размер, который вам нужен, и нажимаем OK.

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

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

Прежде чем генерировать карту, желательно установить максимальную высоту земли, чтобы горы не были слишком пиковые, или наоборот слишком плоские. Это значение определяет высоту земли, а не самого уровня, так как объекты, которые Вы можете ставить на поверхность земли, могут быть выше этого значения. Также при использовании карты высоты при генерации местности это значение будет являться максимальным для белого цвета (255.255.255 белый), а минимальным значением будет ноль (0.0.0 черный).

Теперь сгенерируем сам уровень. В этом же диалоговом окне Terrain Editor заходим в меню Tools и выбираем из списка Generate Terrain. У Вас откроется диалоговое окно, где можно задать параметры генерации уровня. Задаем необходимые параметры и нажимаем OK.

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

Теперь, если вам необходимо скорректировать сгенерированную карту, вы это можете легко сделать с помощью кистей, которые находятся в там же в Terrain Editor. С правой стороны окна в свитке Modify Terrain есть четыре вкладки. Это, грубо говоря, четыре разные кисти со своими функциями.
Flatten: Это кисть высоты. Задаете нужную высоту и она поднимает ландшафт на эту высоту или опускает.
Smooth: Позволяет сглаживать резкие заломы на переходах от скал к равнине.
Rise/Lower: Позвозволяет наращивать или углублять высоту земли от текущей высоты на тот шаг высоты, который вы установите.
Pick Height: Позволяет брать высоту прямо с поверхности создаваемой земли, просто кликнув пипеткой по нужному участку.

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

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

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

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

Итак, для начала открываем диалоговое окно Layers Terrain Texture, нажав на кнопку Texture, которая находится в главном меню SDK.

В открывшемся окне кликаем по Add Layer и создаем новый слой, после чего его переименовываем, чтобы потом не запутаться, ибо слоев у нас может быть очень много. Для того, чтобы переименовать слой, кликаем дважды на надписи New Layer и вводим туда название нашего слоя, например Трава (Grass). Затем изменим текстуру этого слоя. Кликаем по надписи Change Layer Texture, откроется диалоговое окно, в нем открываем папку Terrain, которая находится в папке Textures, и выбираем нужный Вам файл, например grass.dds.

Теперь зададим нашей текстуре свойства материала земли, то есть, проще говоря, назначим ей материал и соответствующие свойства. Для этого кликаем по пути, указывающим путь к материалу Materials/material_terrain_default. Откроется диалоговое окно редактора материалов. Там выбираем папку materials а потом папку Terrain и в ней выбираем нужный Вам материал, например grass_5. Не закрывая окно редактора материалов, возвращаемся в диалоговое окно Terrain Texture и кликаем по строчке Assign material (Назначить материал). После этого можно смело закрывать диалоговые окна.

Теперь переходим к более интересному и творческому процессу: к раскрашиванию нашего уровня тем материалом, который мы создали. Итак, переходим к нашему основному меню RollupBar | закладка Terrain | свиток Layer Painter. Внизу свитка будет список наших слоев. Выбираем созданный нами слой Grass и переходим к цветовой палитре, чтобы задать оттенок нашей травы. Если вы хотите сочную и зеленую, задавайте более яркий зеленый цвет. Я, например, задам желтый цвет, чтобы трава казалась слегка пожелтевшей или выгоревшей. После того как выбрали нужный цвет, нажимаем OK и закрываем цветовую палитру. Теперь нажимаем на кнопочку Save Layer, чтобы наш цвет сохранился при переключении между слоями.

Далее в этом же свитке настраиваем кисть, ее размер и жесткость. Хочу обратить Ваше внимание на два параметра в разделе Layers прямо над списком Ваших слоев. Эти параметры позволяют настроить кисть так, что она будет рисовать только там, где это нужно. Например, на ровных участках мы настроим так, чтобы рисовалась трава, а на крутых участках можно рисовать, например, скалы. При этом кисть будет рисовать только в тех местах, где позволяют параметры, даже если вы будете водить кистью, к примеру, рисующей скалы, по участкам травы.

Параметр Altitude. Он отвечает за то, на какой высоте от уровня моря кисть может красить, и на какой высоте не может. Первое значение указывает начальную высоту покраски, то есть с какой высоты она начинает красить, второй параметр ставит ограничение высоты, до которой можно красить.
Параметр Slope(deg.). Этот параметр отвечает за то, на каких наклонах можно красить. Например, трава не может расти на склоне в 90%. Таким образом, если у вас есть перпендикулярные скалы, то там кисть красить не будет. Первый параметр указывает, с какого угла наклона можно красить, второй параметр отвечает за то, по какой угол наклона можно красить. На рисунке стоят мои параметры, подобранные экспериментально. Также стоит заметить, что после настройки углов и высот покраски, вам нужно нажать кнопку Save Layer, иначе настройки сбросятся сразу же, как только вы переключитесь на другой слой.

Теперь, собственно, берем кисть и просто водим по нашей земле и наслаждаемся процессом! Если вы все сделали правильно, результат должен быть примерно такой:

На этом все, удачи в творчестве и читайте далее!
Вопросы, отзывы и предложения оставляйте в комментариях.
Если вам понравился урок, поделитесь с друзьями!