Штампы, текстуры ландшафта и прочее
Штампы, текстуры ландшафта и прочее
Штампы
Общие требования
Штампы – это текстуры, проецируемые непосредственно на поверхность земли в игре. Служат для создания сложных плоских деталей (лужи, мусор, обломки, клумбы, следы от взрывов, мостовая и т.п.)
Требования к штампам:
- Размеры степени 2 (как и любые другие текстуры)
- Нельзя использовать текстуры, в которых слишком много пустого места – не расходуйте память зря! Особенно это касается всяких узких элементов типа бордюров дороги
- Большие размеры (512х512 и выше) – стараться не использовать без особой нужды
- Чаще всего штампы аморфны, поэтому нужно максимально маскировать прямоугольность текстуры
- Рамка 100% черного по краям альфа-канала не меньше 6 пикселей! Это нужно для корректной фильтрации. Рамку можно создать автоматически при сохранении в dds (см.параметры сохранения в Photoshop)
- Чем прозрачней края штампа, тем естественнее он сливается с ландшафтом
- Строчка с масштабом в .def (даже «Scale 1») влияет на размер штампа в игре. Рекомендуется не писать ее вообще, если не предполагается менять масштаб
- Качество штампов должно совпадать с разрешением и качеством текстур ландшафта
- Если нужен такой-же-штамп-но-другой-по-цвету – используется технология тексмодов. Не следует создавать множество подобных сущностей
- При необходимости создать штамп с какими-либо эффектами (блики, отражения, бамп) – следует обратиться к примерам, имеющимся в игре, а также проконсультироваться с соответствующим специалистом. Следует помнить, что любое усложнение штампа приводит к замедлению его отрисовки!
- При переводе в формат DDS не всегда стоит задавать ручным MIP Unsharp Mask. От этого они начинают отличаться от текстур земли по качеству и четкости. Всегда сверяйтесь с финальной картинкой в игре, чтобы штамп не выглядел чужеродным, а смотрелся частью ландшафта.
- Фон для штампов должен получаться путем многократного наложения текстуры самой на себя (ликвидация transparency) после определения маски прозрачности в альфа-канале.
Автоматическое объединение штампов
Новая версия игры включает в себя совмещение штампов в большие текстуры. В связи с этим неизбежны проблемы с порядком отрисовки штампов. Для этого введен новый параметр «order» в группе параметров «stamp», там же теперь находится параметр «decal». Чем больше значение order, тем позже (а значит визуально выше) рисуется штамп. Не стоит увлекаться большим разнообразием значений order – это ведет к увеличению числа проходов отрисовки. Зачастую достаточно значений 0 (по умолчанию) и 1. Обратите внимание на возможные ошибки с отрисовкой штампов в процессе игры.
Важно: для штампов со спекуляром не действует order.
Текстуры ландшафта
К текстурам, наносимым на поверхность земли, можно предъявить следующие требования:
- Так же, как для штампов, нельзя делать текстуры, очень мало отличающиеся по цвету, тону или фактуре – для этого можно воспользоваться легкой подкраской земли. Не загружайте память лишними данными!
- Не используйте яркие тона, близкие к белому. Освещение в игре умножает интенсивность текстуры на 2, из-за чего возникает эффект перезасвеченной фотографии – слишком неестественный чисто-белый цвет.
- Необходимо стараться ликвидировать «грядки» – эффект видимого повторения текстуры, покрывающей большую площадь земли. При этом нужно максимально соблюдать предполагаемую фактуру, т.к. устранение «грядок» ведет к потере характерных деталей на текстуре и превращает их в шум.
- Помимо предыдущего пункта, на текстуре не должно быть уникальных деталей (какой-нибудь камешек, щепка и т.п.) – для создания таких особенностей используются штампы. Текстуры ландшафта должны создавать всего лишь равномерный фон.
- Обязательно соблюдение масштаба деталей текстуры! Исходя из плотности 34 пикселя на метр, нужно создавать мелкие элементы такими, чтобы цветы, камни и т.п. не казались слишком большими
- Цветовая палитра текстур ландшафта должна быть приближенной к реальности, но вместе с этим, не должна быть слишком яркой, чтобы не отвлекать на себя внимание. Земля должна оставаться фоном, на котором разворачиваются действия. В то же время нельзя делать текстуры слишком невыразительными и бледными.
- MIP-уровни для текстур ландшафта должны обязательно соблюдать правило, описанное в Фильтрация: дальние MIP следует поправить так, чтобы картинка на дальних планах не «рябила». Очень эффективно будет работать постепенное «растворение» деталей. Таким образом, например, трава вблизи будет детализированной, а вдалеке превратится в более-менее равномерный «зеленый ковер» (при этом в сплошной цвет можно превратить только самые дальние MIP).
- Текстуры ландшафта накладываются на геометрию земли особым образом, поэтому эффекты бампа, отражения и т.п. – воспроизвести на земле не получится. Опять же, для этого существуют штампы и специальные модели.
Вода
Как было упомянуто в Патчи ландшафта и воды, водоемы в игре создаются при помощи патчей. Для создания эффекта реалистичной воды на данный момент используется следующая технология.
По принципу, сходному с 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):
Комментарии
Отправить комментарий