Общие требования к текстурам моделей

Материал из BestWay wiki
Перейти к: навигация, поиск

Общие требования к текстурам моделей.

  • Все текстуры приводятся к размеру степени 2 (4, 8, 16, 32, 64, 128, 256, 512, 1024).
  • В игровые ресурсы помещаются текстуры, переведённые в формат DDS.
  • Текстурам присваиваются осмысленные имена на английском языке (перевод русского значения).

Выбор формата DDS

Крайне не рекоммедуется использовать форматы без сжатия (те, которые не DXT1-DXT5), поскольку такие текстуры не сожмутся даже при включенной опции компресси текстур.Подбирайте формат следующим образом:

  1. Если текстура не содержит альфы вообще -- это практически 100% кандидат на формат DXT1.
  2. Если текстура с однобитной альфой, то стоит попробовать DXT1 и только при неудовлетворительном качестве при отрисовке в игре (черные пиксели по краям при удалении обекта от камеры) используем формат DXT3.
  3. Если альфа полная -- формат DXT3 или DXT5, смотрим по плавности альфы.
  4. Если ни один из сжатых форматов не дал удовлетворительного

результата (это может быть на текстурах с хорошо просматриваемым градиентом), тогда оставляем формат A8R8G8B8 (не перепутайте с A8B8G8R8, а то цвета получатся "немного" не те). Только не выбирайте формат R8G8B8 (даже если альфа не нужна) -- его все-равно прийдется конвертировать при загрузке, поскольку далеко не всякий акселератор поддерживает такой формат.

Если вы выберете формат, который не поддерживается напрямую игрой -- скорее всего такая текстура загрузится, но будет выдано предупреждение про неверный фрмат цвета (например при использовании R8G8B8).

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

Текстуры растительности

  1. Текстура для куста рисуется размером не менее 256 х 256 px.
  2. Необходимый минимум текстур для одного вида :
    • базовая текстура
    • #autlate (осенняя, почти без листьев)
    • #bare (голые ветки)
    • #burned (горелые голые ветки)
    • #win (заснеженные ветки)
    • #win3 (слегка заснеженные ветки, производный от #win)
    • Начиная с базовой текстуры по #burned, тексмоды используются для имитации горения. Если будет создан тексмод #aut (осенний с жёлтыми листиками), то он тоже включится в процесс горения. #*Внимательно следите за изменением внешнего вида на этих тексмодах, чтобы при горении на уже голом кусте не появились листья.
  3. Правила названия необязательных тексмодов:
    • осенние тексмоды называем #aut, #aut1, #aut2....
    • осенние тексмоды с остатками листьев, тёмные и почти голые называем #autlate, #autlate1, #autlate2...
    • тексмоды с почками и маленькими листиками, цветами называем #spring, #spring1...
    • тексмоды с поломанными ветками называем #broken
    • тексмод #crushed зарезервирован для случая наезда техникой на куст, используется движком.
    • зимние тексмоды называем #win, #win1... Тексмод #win3 зарезервирован для случая осыпания снега с кустика и дерева, используется движком. Зимние тексмоды с #win по #win2 морфируют в #win3, поэтому не делайте кардинальных различий в их внешнем виде. Линейка выше #win3 свободна для использования.
    • Тексмоды для цветущих растений с вариантами цвета можно именовать либо цифрами #1,#2,#3... (если иx немного и это оттенки одного цвета), либо названием цвета #red, #blue – если цвета хорошо различимы.
    • Не назывйте тексмоды например #a1cc4n даже временно – вы сами через неделю внятно не ответите, что там нарисовано, а картограф и вовсе проигнорирует такое название.
  4. При создании тексмода учитывайте что он будет морфировать при горении и наезде по основной линейке тексмодов, не делайте тексмодов кардинально отличных от базовой текстуры.
    • Если нужно создать иной вид растения, создайте новую модель.
  5. Формат текстуры и МИП-уровни
    • В AdobePhotoshop рисуйте текстуру растительности слоями – это очень сильно облегчит её переделку.
    • Рекомендую выделять отдельно слой фона, слой со стволом, по одному слою для каждой ветки. Очень удачным решением будет разместить ветки каждую в отдельную папку со слоями, где по слоям будут разделены ветки, крона, слой с тенью-светом и корректирующие цвет слои.
    • Текстуры растений требуют корректировки МИП-уровней, для этого текстуру сохраняем в незапакованный dds и открываем в AdobePhotoshop c МИП-уровнями. На МИП-уровнях при необходимости корректируем базовый слой и особое внимание уделяем альфа-каналу. В альфа-канале редактируем 1, 2 и 3 МИП обязательно, остальные МИПы должны быть более-менее прорисованы. По 3 МИПу отрисовывается тень в игре, прорисовывать его можно не столь же плотным как сама текстура, а более редким, но чётким.
    • Для зимних текмодов может понадобится цветокоррекция базового слоя и вы сделаете МИПы разными по цвету, тону, контрастности. Сохраните в своей рабочей папке файл в незапакованном формате с коректирующими слоями, например в PSD и дайте файлу соответсвующее название.


Текстуры земли

Текстуры ландшафта размещаются в папке resource\texture\land\... (далее тематический каталог). На сегодня все текстуры имеют размер 512х512 px. Они представляют собой непрозрачное изображение ландшафного покрытия, переводятся в формат DXT 1. MIP-уровни, следующие за основным, сглаживаются до усреднения деталей.

Круговое повторение рисунка краёв текстуры:

Один из самых простых способов - применение фильтра Offset в Adobe Photoshop. Текстура сдвигается по кругу на выбранную дистанцию, затем «клонирующей кистью» или другими способами несовпадающий шов сравнивается. После достижения хорошего результата текстура вновь сдвигается до первоначального положения.

1 шаг

2 шаг


3 шаг


Создание текстуры штампа (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} }



Создание текстуры «заливочной» травы для карты.

  1. Текстура сохраняется в общую папку resource\texture\common\flora в формате dxt3 без прорисовки МИП-уровней.
  2. В файл resource\set\grass.set вносится структура будующего набора, например

{"grass_win" ;имя набора {models ;перечень моделей (выбираются равновероятно)

		 {"new_grass0c2" "win1"}

{"new_grass0c2" "win"} } {dencity 1} ;плотность шт./кв.м }

  1. Вносится название тексмода в файл resource\texture\summer.etf в раздел grass alpha_channel uncompressed.


Текстуры строений и антуража.

  1. Для больших моделей, например жилого дома, создаётся несколько отдельных текстур (окна, внешние стены, внутренние стены, крыша, обломки камня, балки), которые размещаются в тематических каталогах папки texture. Lightmap создаётся и сохраняется отдельной текстурой для облегчения применения общих тексмодов.
  2. Текстуры целых окон сохраняются обычно в формате DXT 3 и содержат полную альфу. Дополнительно для окон рисуется текстура в виде чёрно-белой маски для определения области отражения стёкол. Эта текстура должна иметь такое же название, что и само окно, с _mask. Например : wibdow1a и window1a_mask.
  3. Крыши строений создаются набором: целая крыша (напр. roof1), крыша разрушенная (напр. roof1_x), крыша сгоревшая (напр. roof1#burned$), крыша целая заснеженная (напр. roof1#win), крыша разрушенная заснеженная (напр. roof1_x#win). Текстура целой крыши может иметь любое число цветовых тексмодов, для каждого из которых создаётся вышеописанный набор.
  4. Текстуры внешних стен, окон, вывесок и проч. должны иметь заснеженные тексмоды.
  5. Текстуры внутренних стен, печей, занавесок, внутренних дверей и проч. не должны иметь заснеженных тексмодов. Если для текстурирования модели используются одни и те же текстуры как внутри, так и снаружи, то необходимо разделить материалы. Один из вариантов: в ресурсах создаётся ссылочный файл на текстуру и к нему такой же зимний тексмод. Эта «текстура» прописывается в материал внутренных отделок.
  6. Материал, отрабражаемый на текстуре, должен подходить к назначенным модели свойствам. Так, например, металл не должен гореть, а солома и дерево гореть должны. Поэтому для базовой текстуры одного материала не рисуются тексмоды другого материала.