Миграция с CryENGINE 2 на CryENGINE 3

Материал из CryWiki Russia

Перейти к: навигация, поиск

Содержание

Импорт контента из CryENGINE 2

CryENGINE 3 получила множество технических усовершенствований по сравнению с CryENGINE 2 в отношении производительности и качества рендеринга. Несмотря на многочисленные изменения, в основном все ассеты, которые были созданы для CryENGINE 2 все еще могут быть загружены в CryENGINE 3. Единственный вид ассетов, который требует особого ухода — текстуры. Есть несколько технических усовершенствований в CryENGINE 3, которые требуют многие из существующих текстур перекомпилировать. Как правило, Resource Compiler позаботиться о преобразовании, но это требует, чтобы все текстуры были доступны в виде файлов TIFF.

Описание Resource Compiler

Resource Compiler (RC) является важной частью ассетопровода в CryENGINE. RC принимает исходные текстуры, которые хранятся в формате TIFF и компилирует их в оптимизированный для платформы формат, который может быть загружены в движок эффективным способом. В этом процессе текстуры могут быть сжаты для уменьшения требований к памяти.

Обновления нормалей карты

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

HDR-кодирование

CryENGINE 3 использует специальную кодировку для хранения High Dynamic Range изображений, как Environment Cube Map. Альфа-канал карты Environment хранит множитель, определяющий яркость пикселов хранящихся в каналах RGB. Если альфа-канал не указан, будет стандартный альфа-канал 1/16.0. Однако существующие карты Environment без альфа-канала часто имеют значение альфы 1,0 (белый), так что они будут очень яркими. Эта проблема может быть преодолена путем перекомпиляции карты Environment, которые будут происходить автоматически, если RC найдет исходные TIFF-текстуры.

Цветовое пространство sRGB

В отличии от CryENGINE 2, CryENGINE 3 может выполнять рендеринг с коррекцией гаммы. Многие текстуры, например, диффузные карты, будь то нарисованные или сфотографированные, как правило, хранятся в sRGB пространстве. Движок может конвертировать эти текстуры в линейном пространстве, прежде чем делать любые операции освещения или затенения. Однако, не все текстуры хранятся в sRGB пространстве (например, карты нормалей). Должна ли текстура быть интерпретирована как sRGB определено в предустановки TIFF. Чтобы применить настройки хранения, все текстуры необходимо перекомпилировать в RC.

Если текстуры не перекомпилировать, сцена будет выглядеть слишком ярко, так как цвета хранящиеся в диффузной карте не корректно интерпретируются движком. Быстрый обходной путь — отключить sRGB рендеринг. Это можно сделать, установив консольную переменную r_UseSRGB в 0. Пожалуйста, обратите внимание, что переключение между sRGB и не-sRGB во время выполнения будет работать только в D3D9, так что лучше поставить установку в файл system.cfg.

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

Изменения текстур ландшафта

CryENGINE 3 хранит текстуры ландшафта по-другому, чем раньше, так что требуется регенерировать текстуры ландшафта. Кроме того, детальные текстуры ландшафта обрабатывается специальным образом по отношению к sRGB (sRGB отключен для них). Это требуется для изменения предустановки детальной карты ландшафта TIFF на TerrainDiffuseHighPassed, так что будут применены правильные настройки.