Уроки по CryENGINE®3

CryENGINE®Free SDK Version: 3.5.4

Начало работы с CryENGINE®3

Установка CryENGINE®Free SDK

Итак, Вы решили освоить CryENGINE®3 и создать свою супер игру. Для начала Вам необходим сам CryENGINE®Free SDK. Переходим на официальный сайт, чтобы СКАЧАТЬ его.
Когда откроется сайт, нажимаем эту на большую кнопку и сохраняем архив.

Обращаю внимание на то, что скачиваться будет самая последняя и свежая версия CryENGINE®Free SDK.
Скачанный архив распаковываем на диск С: в папку Cryengine как на картинке ниже (это мой путь, Ваш путь и название папки может быть совершенно другим).

На этом собственно установка CryENGINE®Free SDK закончена, с чем я Вас и поздравляю!

Теперь, чтобы двигаться дальше, кратко рассмотрим структуру каталогов CryENGINE®Free SDK, чтобы знать, что и где находится, и иметь общее представление об их структуре, а также узнать, где находятся файлы запуска редактора.

Структура каталогов в CryENGINE®Free SDK

Cryengine
Корневой каталог Cryengine, куда мы распаковали архив, содержит подкаталоги, которые показаны на изображении выше. Также он содержит конфигурационные файлы system.cfg и editor.cfg которые используются для настройки консольных переменных. В дальнейшем, в ходе нашей работы, здесь еще появится лог-файл.

Bin32 и Bin64
Папки Bin32 и Bin64 содержат 32- и 64-разрядные исполняемые файлы SDK, это Editor.exe для запуска редактора и Launcher.exe для запуска игры, а также необходимые движку DLL-файлы. Каталог Bin32 содержит подкаталог rc. RC — это Resource Compiler. Служит для преобразования исходных ассетов в оптимизированный формат, например в DDS для TIFF-текстур. RC может вызываться движком по требованию. В каталоге для 64-разрядной версии Resource Compiler отсутствует.

Code
В этой папке хранится исходный код C++, а также различные решения и файлы проекта.

Editor
Папка Editor содержит в себе те необходимые ресурсы, которые используются самим SDK. Это различные шаблоны, иконки, настройки и прочие UI данные.

Engine
В папке Engine содержится множество распространяемых файлов, которые требуются рендереру и другим системам. В прошлой версии движка CryENGINE®2 все эти файлы хранились в папке Game, теперь они перенесены в один отдельный каталог, что упрощает техническое обслуживание при использовании нескольких различных папок Game.
Engine\Config: Содержит текстовые файлы конфигурации для установки различных параметров движка для низких\высоких конфигураций ПК, консолей.
Engine\Fonts: Содержит стандартный шрифт TrueType, который используется самим движком, проще говоря, шрифт консоли.
Engine\Shaders: Здесь хранятся двоичные файлы шейдеров и все исходные коды.
Engine\Shaders\EngineAssets:Здесь содержатся текстуры, требуемые шейдерами, а также основные материалы.

GameSDK
В этой папке содержатся все игровые данные и ассеты. Название этой папки с игрой можно изменить или использовать несколько папок одновременно, которые будут находится в корневом каталоге CryENGINE. Папка с игрой и DLL игры, которые будут использоваться, могут быть настроены консольными переменными sys_game_folder и sys_dll_game, которые могут быть установлены в system.cfg. В конце урока я расскажу, как сменить папку проекта игры.
Game\Levels: Все уровни игры должны быть в этом каталоге.

PAK-файлы
Большую часть контента Game хранят в себе PAK-файлы. Исключение составляют лишь файлы уровней, которые должны храниться за пределами PAK-файлов. По сути PAK-файл — это обычный архив, который можно просмотреть с помощью WinRar. Для создания PAK-Файлов рекомендуется использовать Resource Compiler. Описанные ниже папки хранятся в PAK-файлах. Далее идет имя PAK-файла и его содержание

Animations.pak содержит каталоги:
Animations: Анимации и файлы Animation Graph.
Objects:

GameData.pak содержит каталоги:
Difficulty:
Libs: Множество XML-файлов данных для поддержки различных игровых систем.
Materials: Глобальные MTL-файлы материалов, используемые уровнем.
Prefabs: XML-файлы префабов, созданные в SDK.

Music.pak: содержит каталоги:
Music: содержит файлы с музыкой к игре.

Objects.pak: содержит каталоги:
Objects: содержит файлы статических объектов и персонажей вместе с материалами и текстурами для этих объектов.

Scripts.pak: содержит каталоги:
Scripts: здесь находятся Lua-скрипты для классов и скриптовых сущностей, таких как ИИ и других игровых систем.
Entities: содержит в себе ent-файлы, указывающие системе сущностей, какие классы скриптовых сущностей должны быть зарегистрированы.

Sounds.pak: содержит каталоги:
Sounds: Здесь хранятся все звуки.

Textures.pak: содержит каталоги:
Textures: Все другие текстуры, требуемые для игровых уровней или объектов.

Videos.pak: содержит каталоги:
Videos: содержит видео файлы игры.

TestResults
Эта папка используется для размещения пользователями файлов, которые могут быть созданы при использовании консольных команд, таких как SaveLevelStats.

Tools
Здесь находятся инструменты для экспорта моделей и текстур в CryENGINE®Free SDK, а также различные дополнительные инструменты для сторонних программ.

User
Этот каталог создается во время работы редактора SDK или непосредственно движка CryENGINE для хранения файлов, сгенерированных CryENGINE или редактором SDK. Также тут хранятся профили пользователей, различные временные файлы.

Запуск CryENGINE®Free SDK

Итак, теперь запустим сам редактор. Для этого удобно на рабочем столе создать ярлык для запуска. Кликаем ПКМ (Правой Кнопкой Мыши) на рабочем столе, создаем ярлык и указываем путь к файлу запуска как на изображении ниже. Прошу обратить внимание на то, что тем, у кого система 32-разрядная, нужно поменять папку в пути с bin64 на bin32.

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

После авторизации у Вас запустится редактор, с чем я Вас и поздравляю! Теперь Вы можете создавать свою игру!

Как изменить папку проекта в CryENGINE®Free SDK

Для того чтобы сменить Рабочую папку проекта, Вам необходимо открыть корневую папку Cryengine, куда мы распаковали архив SDK, и там открыть файл system.cfg в текстовом редакторе. (Можно в блокноте. Я, к примеру, использую Notepad++.) Ищем строчку sys_game_folder = Gamesdk и меняем название папки c Gamesdk на свою, например Mygame, после сохраняем изменения в файле и закрываем его.

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

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