Общие требования к текстурам моделей
Общие требования к текстурам моделей
Общие требования к текстурам моделей.
- Все текстуры приводятся к размеру степени 2 (4, 8, 16, 32, 64, 128, 256, 512, 1024).
- В игровые ресурсы помещаются текстуры, переведённые в формат DDS.
- Текстурам присваиваются осмысленные имена на английском языке (перевод русского значения).
Выбор формата DDS
Крайне не рекоммедуется использовать форматы без сжатия (те, которые не DXT1-DXT5), поскольку такие текстуры не сожмутся даже при включенной опции компресси текстур.Подбирайте формат следующим образом:
- Если текстура не содержит альфы вообще -- это практически 100% кандидат на формат DXT1.
- Если текстура с однобитной альфой, то стоит попробовать DXT1 и только при неудовлетворительном качестве при отрисовке в игре (черные пиксели по краям при удалении обекта от камеры) используем формат DXT3.
- Если альфа полная -- формат DXT3 или DXT5, смотрим по плавности альфы.
- Если ни один из сжатых форматов не дал удовлетворительного
результата (это может быть на текстурах с хорошо просматриваемым градиентом), тогда оставляем формат A8R8G8B8 (не перепутайте с A8B8G8R8, а то цвета получатся "немного" не те). Только не выбирайте формат R8G8B8 (даже если альфа не нужна) -- его все-равно прийдется конвертировать при загрузке, поскольку далеко не всякий акселератор поддерживает такой формат.
Если вы выберете формат, который не поддерживается напрямую игрой -- скорее всего такая текстура загрузится, но будет выдано предупреждение про неверный фрмат цвета (например при использовании R8G8B8).
И еще, обращайте внимание на предупреждения про файлы текстур с одинаковыми именами но разными расширениями! Эти предупреждения выдаются не от нечего делать, а от того, что вы можете до синих веников редактировать текстуру и удивляться, почему не видно изменений в игре, а будет использоваться совершенно другая текстура с тем же именем, но другим расширением.
Текстуры растительности
- Текстура для куста рисуется размером не менее 256 х 256 px.
- Необходимый минимум текстур для одного вида :
- базовая текстура
- #autlate (осенняя, почти без листьев)
- #bare (голые ветки)
- #burned (горелые голые ветки)
- #win (заснеженные ветки)
- #win3 (слегка заснеженные ветки, производный от #win)
- Начиная с базовой текстуры по #burned, тексмоды используются для имитации горения. Если будет создан тексмод #aut (осенний с жёлтыми листиками), то он тоже включится в процесс горения. #*Внимательно следите за изменением внешнего вида на этих тексмодах, чтобы при горении на уже голом кусте не появились листья.
- Правила названия необязательных тексмодов:
- осенние тексмоды называем #aut, #aut1, #aut2....
- осенние тексмоды с остатками листьев, тёмные и почти голые называем #autlate, #autlate1, #autlate2...
- тексмоды с почками и маленькими листиками, цветами называем #spring, #spring1...
- тексмоды с поломанными ветками называем #broken
- тексмод #crushed зарезервирован для случая наезда техникой на куст, используется движком.
- зимние тексмоды называем #win, #win1... Тексмод #win3 зарезервирован для случая осыпания снега с кустика и дерева, используется движком. Зимние тексмоды с #win по #win2 морфируют в #win3, поэтому не делайте кардинальных различий в их внешнем виде. Линейка выше #win3 свободна для использования.
- Тексмоды для цветущих растений с вариантами цвета можно именовать либо цифрами #1,#2,#3... (если иx немного и это оттенки одного цвета), либо названием цвета #red, #blue – если цвета хорошо различимы.
- Не назывйте тексмоды например #a1cc4n даже временно – вы сами через неделю внятно не ответите, что там нарисовано, а картограф и вовсе проигнорирует такое название.
- При создании тексмода учитывайте что он будет морфировать при горении и наезде по основной линейке тексмодов, не делайте тексмодов кардинально отличных от базовой текстуры.
- Если нужно создать иной вид растения, создайте новую модель.
- Формат текстуры и МИП-уровни
- В AdobePhotoshop рисуйте текстуру растительности слоями – это очень сильно облегчит её переделку.
- Рекомендую выделять отдельно слой фона, слой со стволом, по одному слою для каждой ветки. Очень удачным решением будет разместить ветки каждую в отдельную папку со слоями, где по слоям будут разделены ветки, крона, слой с тенью-светом и корректирующие цвет слои.
- Текстуры растений требуют корректировки МИП-уровней, для этого текстуру сохраняем в незапакованный dds и открываем в AdobePhotoshop c МИП-уровнями. На МИП-уровнях при необходимости корректируем базовый слой и особое внимание уделяем альфа-каналу. В альфа-канале редактируем 1, 2 и 3 МИП обязательно, остальные МИПы должны быть более-менее прорисованы. По 3 МИПу отрисовывается тень в игре, прорисовывать его можно не столь же плотным как сама текстура, а более редким, но чётким.
- Для зимних текмодов может понадобится цветокоррекция базового слоя и вы сделаете МИПы разными по цвету, тону, контрастности. Сохраните в своей рабочей папке файл в незапакованном формате с коректирующими слоями, например в PSD и дайте файлу соответсвующее название.
Текстуры земли
Текстуры ландшафта размещаются в папке resource\texture\land\... (далее тематический каталог). На сегодня все текстуры имеют размер 512х512 px. Они представляют собой непрозрачное изображение ландшафного покрытия, переводятся в формат DXT 1. MIP-уровни, следующие за основным, сглаживаются до усреднения деталей.
Круговое повторение рисунка краёв текстуры:
Один из самых простых способов - применение фильтра Offset в Adobe Photoshop. Текстура сдвигается по кругу на выбранную дистанцию, затем «клонирующей кистью» или другими способами несовпадающий шов сравнивается. После достижения хорошего результата текстура вновь сдвигается до первоначального положения.
Создание текстуры штампа (stamp)
- Штамп представляет собой полигон, покрытый текстурой с прозрачными краями, который в игровом редакторе размещается на поверхности земли (land).
- Общие требования к размерам обязательны. Рисунок внутри текстуры подбирается по необходимому размеру, оставшаяся свободная область заливается маской alpha-chanel. Alpha-chanel не должен повторять форму квадрата,прямоугольника. Приветствуется ассиметрия.
- Для бордюров, дорог и вытянутых штампов, которые в карте заведомо будут повторяться много раз лучше использовать узкий и длинный формат(Например, бордюр 64х512), т.к. количество штампов влияет на производительность.
- Штампам может быть назначено значение order .Чем больше значение order, тем позже (а значит визуально выше) рисуется штамп. Не стоит увлекаться большим разнообразием значений "order" -- это ведет к увеличению числа проходов. Для штампов-спекуляров не действует order(в игре).
- Фон для штампов универсальных используется на пол-тона темнее среднего цвета штампа.
- Маска alpha-chanel на основном и последующих MIP-уровнях должна быть не меньше 6 px от краёв текстуры (иначе в редакторе появляется чёрная рамка вокруг штампа). Маска alpha-chanel рисуется с постепенным ослаблением от краёв к центру текстуры. Текстура штампа переводится в формат DXT 3 (полная альфа).
- Качество штампов должно совпадать с разрешением и качеством текстур.
- Если нужен такой штамп, но другой по цвету - используется технология тексмодов.
- Строчка со скейлом(даже "Scale 1") влияет на размер штампа в игре. Рекомендуется не писать ее в дефе без нужды.
Штамп участка бордюра
Штам лужи с MIP-уровнями (обычный вид и маска alpha-chanel)
Штампы могут содержат specular и bump.
Образец спекулярногo штампа - pool77a.Файл *.mtl выглядит так:
{material bump {diffuse "pool77a" ; - в кавычках имя штампа {Axis 32 32} {AlphaChannel 1} } {specular "pool77a_s"} ; - имя спекулярной текстуры {color "255 255 255 50"} ; - настройка спекуляра {Blend blend} }
Образец бампового штампа - снежная дорога.Файл *.mtl выглядит так:
{material bump {diffuse "track_snow2a" {Axis 128 256} {AlphaChannel 1} } {bump "track_snow2a_b"} ; - имя бамповой текстуры {Blend blend} }
Образец обычного штампа - trace_waves1.Файл *.mtl выглядит так:
{material simple ; - обратить внимание {diffuse "trace_waves1" {Axis 256 128} {AlphaChannel 1} } {Blend blend} }
Создание текстуры «заливочной» травы для карты.
- Текстура сохраняется в общую папку resource\texture\common\flora в формате dxt3 без прорисовки МИП-уровней.
- В файл resource\set\grass.set вносится структура будующего набора, например
{"grass_win" ;имя набора {models ;перечень моделей (выбираются равновероятно)
{"new_grass0c2" "win1"}
{"new_grass0c2" "win"} } {dencity 1} ;плотность шт./кв.м }
- Вносится название тексмода в файл resource\texture\summer.etf в раздел grass alpha_channel uncompressed.
Текстуры строений и антуража.
- Для больших моделей, например жилого дома, создаётся несколько отдельных текстур (окна, внешние стены, внутренние стены, крыша, обломки камня, балки), которые размещаются в тематических каталогах папки texture. Lightmap создаётся и сохраняется отдельной текстурой для облегчения применения общих тексмодов.
- Текстуры целых окон сохраняются обычно в формате DXT 3 и содержат полную альфу. Дополнительно для окон рисуется текстура в виде чёрно-белой маски для определения области отражения стёкол. Эта текстура должна иметь такое же название, что и само окно, с _mask. Например : wibdow1a и window1a_mask.
- Крыши строений создаются набором: целая крыша (напр. roof1), крыша разрушенная (напр. roof1_x), крыша сгоревшая (напр. roof1#burned$), крыша целая заснеженная (напр. roof1#win), крыша разрушенная заснеженная (напр. roof1_x#win). Текстура целой крыши может иметь любое число цветовых тексмодов, для каждого из которых создаётся вышеописанный набор.
- Текстуры внешних стен, окон, вывесок и проч. должны иметь заснеженные тексмоды.
- Текстуры внутренних стен, печей, занавесок, внутренних дверей и проч. не должны иметь заснеженных тексмодов. Если для текстурирования модели используются одни и те же текстуры как внутри, так и снаружи, то необходимо разделить материалы. Один из вариантов: в ресурсах создаётся ссылочный файл на текстуру и к нему такой же зимний тексмод. Эта «текстура» прописывается в материал внутренных отделок.
- Материал, отрабражаемый на текстуре, должен подходить к назначенным модели свойствам. Так, например, металл не должен гореть, а солома и дерево гореть должны. Поэтому для базовой текстуры одного материала не рисуются тексмоды другого материала.
Комментарии
Отправить комментарий