Штампы, текстуры ландшафта и прочее

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

Штампы


Общие требования

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

Требования к штампам:

  1. Размеры степени 2 (как и любые другие текстуры)
  2. Нельзя использовать текстуры, в которых слишком много пустого места – не расходуйте память зря! Особенно это касается всяких узких элементов типа бордюров дороги
  3. Большие размеры (512х512 и выше) – стараться не использовать без особой нужды
  4. Чаще всего штампы аморфны, поэтому нужно максимально маскировать прямоугольность текстуры
  5. Рамка 100% черного по краям альфа-канала не меньше 6 пикселей! Это нужно для корректной фильтрации. Рамку можно создать автоматически при сохранении в dds (см.параметры сохранения в Photoshop)
  6. Чем прозрачней края штампа, тем естественнее он сливается с ландшафтом
  7. Строчка с масштабом в .def (даже «Scale 1») влияет на размер штампа в игре. Рекомендуется не писать ее вообще, если не предполагается менять масштаб
  8. Качество штампов должно совпадать с разрешением и качеством текстур ландшафта
  9. Если нужен такой-же-штамп-но-другой-по-цвету – используется технология тексмодов. Не следует создавать множество подобных сущностей
  10. При необходимости создать штамп с какими-либо эффектами (блики, отражения, бамп) – следует обратиться к примерам, имеющимся в игре, а также проконсультироваться с соответствующим специалистом. Следует помнить, что любое усложнение штампа приводит к замедлению его отрисовки!
  11. При переводе в формат DDS не всегда стоит задавать ручным MIP Unsharp Mask. От этого они начинают отличаться от текстур земли по качеству и четкости. Всегда сверяйтесь с финальной картинкой в игре, чтобы штамп не выглядел чужеродным, а смотрелся частью ландшафта.
  12. Фон для штампов должен получаться путем многократного наложения текстуры самой на себя (ликвидация transparency) после определения маски прозрачности в альфа-канале.

Автоматическое объединение штампов

Новая версия игры включает в себя совмещение штампов в большие текстуры. В связи с этим неизбежны проблемы с порядком отрисовки штампов. Для этого введен новый параметр «order» в группе параметров «stamp», там же теперь находится параметр «decal». Чем больше значение order, тем позже (а значит визуально выше) рисуется штамп. Не стоит увлекаться большим разнообразием значений order – это ведет к увеличению числа проходов отрисовки. Зачастую достаточно значений 0 (по умолчанию) и 1. Обратите внимание на возможные ошибки с отрисовкой штампов в процессе игры.

Важно: для штампов со спекуляром не действует order.



Текстуры ландшафта


К текстурам, наносимым на поверхность земли, можно предъявить следующие требования:

  1. Так же, как для штампов, нельзя делать текстуры, очень мало отличающиеся по цвету, тону или фактуре – для этого можно воспользоваться легкой подкраской земли. Не загружайте память лишними данными!
  2. Не используйте яркие тона, близкие к белому. Освещение в игре умножает интенсивность текстуры на 2, из-за чего возникает эффект перезасвеченной фотографии – слишком неестественный чисто-белый цвет.
  3. Необходимо стараться ликвидировать «грядки» – эффект видимого повторения текстуры, покрывающей большую площадь земли. При этом нужно максимально соблюдать предполагаемую фактуру, т.к. устранение «грядок» ведет к потере характерных деталей на текстуре и превращает их в шум.
  4. Помимо предыдущего пункта, на текстуре не должно быть уникальных деталей (какой-нибудь камешек, щепка и т.п.) – для создания таких особенностей используются штампы. Текстуры ландшафта должны создавать всего лишь равномерный фон.
  5. Обязательно соблюдение масштаба деталей текстуры! Исходя из плотности 34 пикселя на метр, нужно создавать мелкие элементы такими, чтобы цветы, камни и т.п. не казались слишком большими
  6. Цветовая палитра текстур ландшафта должна быть приближенной к реальности, но вместе с этим, не должна быть слишком яркой, чтобы не отвлекать на себя внимание. Земля должна оставаться фоном, на котором разворачиваются действия. В то же время нельзя делать текстуры слишком невыразительными и бледными.
  7. MIP-уровни для текстур ландшафта должны обязательно соблюдать правило, описанное в Фильтрация: дальние MIP следует поправить так, чтобы картинка на дальних планах не «рябила». Очень эффективно будет работать постепенное «растворение» деталей. Таким образом, например, трава вблизи будет детализированной, а вдалеке превратится в более-менее равномерный «зеленый ковер» (при этом в сплошной цвет можно превратить только самые дальние MIP).
  8. Текстуры ландшафта накладываются на геометрию земли особым образом, поэтому эффекты бампа, отражения и т.п. – воспроизвести на земле не получится. Опять же, для этого существуют штампы и специальные модели.



Вода


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

По принципу, сходному с bump-mapping, материал на патче воды использует карту нормалей (normal map) для искажения отражаемой кубической текстуры окружения (та же энвира, которая участвует в имитации отражений на стеклах). Отличие от обычного бампа состоит в том, что используется не статическая карта нормалей, а так называемая volume-текстура, содержащая в себе несколько normal-map-слоев, представляющих последовательно меняющуюся водную поверхность.

Наибольшая трудность состоит в создании зацикленного правильного шума (он должен быть наподобие Noise типа Turbulence в 3dsmax). Заготавливаются 16 кадров 256х256 зацикленного слабого шума нужной конфигурации (чтобы результат рендера с таким шумом в качестве бампа, напоминал реальные волны на воде). После этого используется специальная утилита для создания volume-текстуры с картами нормалей (обратитесь к специалисту).

Пример материала для воды ниже (см. entity\landscape\water\water8b\water.mtl):

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Для основной текстуры желательно создать текстурную анимацию, чтобы волны не стояли на месте, а медленно сдвигались в каком-то направлении (см.п.3.5). Лучше придерживаться уже существующей скорости (см. entity\landscape\water\water8b\water8b.mdl):

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения