Создание, описание особенностей и объяснение работы карт рельефа — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Создание, описание особенностей и объяснение работы карт рельефа — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
м (оформление)
(Допиливаю, допиливаю)
Строка 1: Строка 1:
 +
W.I.P Дописиваю как состав статьи со стилем изложения, так и исправляю возможные опечатки (конец писался глубокой ночью)
 +
 
В этой статье я постараюсь рассказать и объяснить создание правильных карт bump и bump# с помощью Adobe Photoshop и X-ray SDK.
 
В этой статье я постараюсь рассказать и объяснить создание правильных карт bump и bump# с помощью Adobe Photoshop и X-ray SDK.
 
<span style="color:#FFFFFF">ТАК ВЕРСТАЮТ ТОЛЬКО МУДАКИ</span>
 
<span style="color:#FFFFFF">ТАК ВЕРСТАЮТ ТОЛЬКО МУДАКИ</span>
Строка 34: Строка 36:
 
==Работа в фотошопе==
 
==Работа в фотошопе==
 
Здесь также понадобится NormalMapFilter от nVidia, полагаю, у вас он уже установлен, так как он идет в комплекте с dds плагином.
 
Здесь также понадобится NormalMapFilter от nVidia, полагаю, у вас он уже установлен, так как он идет в комплекте с dds плагином.
 +
Все файлы сохраняются в tga 24 bits/pixel или 32 bits/pixel в зависимости от того, используется ли альфа-канал. Перед сохранением следует перевести изображение из 16-битного в 8-битное.
  
===Вариант 1: Карта высот===
+
===Карта высот===
  
 
На карте высот белым цветом обозначены выпуклости, черным - впадины. Если бамп делается для текстур окружения, то можно начать работу с оригинальной текстуры, если же бамп делается для персонажа, то такой способ обычно неприемлем, зачастую из-за камуфляжа, который никак не должен сказываться на рельефе ткани.
 
На карте высот белым цветом обозначены выпуклости, черным - впадины. Если бамп делается для текстур окружения, то можно начать работу с оригинальной текстуры, если же бамп делается для персонажа, то такой способ обычно неприемлем, зачастую из-за камуфляжа, который никак не должен сказываться на рельефе ткани.
По сут, создание карты высот - процесс творческий, могу дать лишь несколько советов:
+
По сути, создание карты высот - процесс творческий, могу дать лишь несколько советов:
 
*Над картой высот работа должна проводиться строго в 16bits, причем с самого начала до финального экспорта в SDK[[Изображение:16bits.PNG|160px|thumb|right|Перевод в 16-битное изображение]]
 
*Над картой высот работа должна проводиться строго в 16bits, причем с самого начала до финального экспорта в SDK[[Изображение:16bits.PNG|160px|thumb|right|Перевод в 16-битное изображение]]
 
*Качественного результата не будет, если просто взять и засунуть диффуз в генератор, над текстурой придется тщательно поработать.
 
*Качественного результата не будет, если просто взять и засунуть диффуз в генератор, над текстурой придется тщательно поработать.
Строка 46: Строка 49:
 
<span style="color:#FFFFFF">Пример сделан прямо во время написания статьи</span>
 
<span style="color:#FFFFFF">Пример сделан прямо во время написания статьи</span>
  
====Вариант 1.1: Metro 2033====
+
====Metro 2033====
  
 +
[[Изображение:Metro_example.png|300px|thumb|left|Пример получаемой карты нормалей из Metro 2033]]
 +
<br clear="all" />
 
В метро вместо карт нормалей, как обычно бывает в большинстве игр, используется карта высот - файлы с постфиксом _bump. Они есть только в том случае, если вы распаковывали игру самостоятельно, большая часть сборщиков "Архивов моделей" их в архив не добавляет.
 
В метро вместо карт нормалей, как обычно бывает в большинстве игр, используется карта высот - файлы с постфиксом _bump. Они есть только в том случае, если вы распаковывали игру самостоятельно, большая часть сборщиков "Архивов моделей" их в архив не добавляет.
 
"Состав" карты высот Метро 2033:
 
"Состав" карты высот Метро 2033:
Строка 55: Строка 60:
 
Alpha - карта высот</pre>
 
Alpha - карта высот</pre>
  
===Вариант 2: Карта нормалей===
+
==SDK==
 +
===Карта нормалей===
 +
 
 +
При наличии уже готовой карты нормалей, изготовленной вами, из другой игры, zBrush или любой другой программы высокополигонального 3d моделирования, остается только добавить ее в SDK.
 +
Параметры:
 +
*'''0.4''':
 +
Type: 2D Texture, Format: 32 bit (8:8:8:8), MipMap Filter: Kaiser (здесь уже по желанию, я всегда использую Kaiser)
 +
[[Изображение:0.4_nmap.png|150px|thumb|left]]
 +
<br clear="all" />
 +
*'''0.5/0.6, 0.7''':
 +
Type: Normal Map, MipMap Filter: Kaiser
 +
[[Изображение:0.5-0.7_nmap.png‎|150px|thumb|left]]
 +
<br clear="all" />
 +
===Bump===
 +
 
 +
С использованием отдельной карты нормалей bump карта изготавливается очень просто:
 +
RGB - серый цвет, 128,128,128
 +
Alpha - Specular Map
 +
Параметры добавления в SDK не зависят от версии:
 +
Type: Bump Map, в Special Normal Map указываем добавленную ранее карту нормалей
 +
{|
 +
|-
 +
|[[Изображение:Bump_st.png‎|150px|thumb|left|В фотошопе]]||[[Изображение:0.4_bump.png|150px|thumb|left|Добавление в SDK]]
 +
|}
 +
<br clear="all" />
 +
 
 +
Если же вдруг возникло желание обойтись без дополнительной карты нормалей, то добавление в SDK и каналы меняются:
 +
RGB - карта высот
 +
Alpha - Specular Map
 +
Это единственный вариант, когда параметр Virtual height действительно влияет на интенсивность получаемого бампа.
 +
{|
 +
|-
 +
|[[Изображение:Bump_map_wo_n.png|200px|thumb|left|В фотошопе]]||[[Изображение:Bump_wo_n_sdk.png|150px|thumb|left|Добавление в SDK]]
 +
|}

Версия 22:37, 25 ноября 2012

W.I.P Дописиваю как состав статьи со стилем изложения, так и исправляю возможные опечатки (конец писался глубокой ночью)

В этой статье я постараюсь рассказать и объяснить создание правильных карт bump и bump# с помощью Adobe Photoshop и X-ray SDK. ТАК ВЕРСТАЮТ ТОЛЬКО МУДАКИ

Теория

Для начала попытаюсь объяснить структуру карт bump и bump#, а также, что же собой они представляют. Всё ниженаписанное не обязательно верно на все 100%.

bump

Карта bump представляет собой обычную карту нормалей в формате A(BGR) (типично для формата сжатия DXT5_nm). Разработчики использовали такой порядок по очень простой причине - DXT компрессия гораздо меньше "портит" текстуру, так как альфа-канал не подвергается компресии и остается практически в исходном виде.

Каналы:

Каналы в карте bump
R - Specular map - карта интенсивности блика
G - ось Z - указывает нормали в глубину от поверхности
B - ось Y - указывает нормали вверх и вниз (вертикальные)
Alpha - ось X - указывает нормали влево и вправо (горизонтальные)

bump#

Bump# - очень интересная карта, назначение которой для многих непонятно. Так как нагуглить какую-либо информацию насчет правильного названия мне не удалось, я называю ее просто "Normal error map". Не знаю, используются ли подобные технологии в других играх, но встретить ее где-либо, кроме сталкера, мне не удалось. Эта карта "фиксит" ошибки сжатия DXT у бампа и генерируется только с помощью СДК, поэтому всякие непонятные действия некоторых пользователей, вроде вставки вместо нее обычной или обесцвеченной карты нормалей, а также описанного в статье Argus'a заливания серым со вставкой в альфа-канал карты высот, использовать нельзя. Выглядит как серое зашумленное изображение.

Каналы:

R - ошибки оси X карты нормалей
G - ошибки оси Y карты нормалей
B - ошибки оси Z карты нормалей
Alpha - карта высот; не используется

Для сравнения:

C bump#
Без bump#, заметны артефакты

Работа в фотошопе

Здесь также понадобится NormalMapFilter от nVidia, полагаю, у вас он уже установлен, так как он идет в комплекте с dds плагином. Все файлы сохраняются в tga 24 bits/pixel или 32 bits/pixel в зависимости от того, используется ли альфа-канал. Перед сохранением следует перевести изображение из 16-битного в 8-битное.

Карта высот

На карте высот белым цветом обозначены выпуклости, черным - впадины. Если бамп делается для текстур окружения, то можно начать работу с оригинальной текстуры, если же бамп делается для персонажа, то такой способ обычно неприемлем, зачастую из-за камуфляжа, который никак не должен сказываться на рельефе ткани. По сути, создание карты высот - процесс творческий, могу дать лишь несколько советов:

  • Над картой высот работа должна проводиться строго в 16bits, причем с самого начала до финального экспорта в SDK
    Перевод в 16-битное изображение
  • Качественного результата не будет, если просто взять и засунуть диффуз в генератор, над текстурой придется тщательно поработать.
  • Не обязательно пытаться показать на карте высот все детали и рельеф сразу, их можно добавить позднее, когда будет сгенерирована карта нормалей.
Пример добавления деталей


Пример сделан прямо во время написания статьи

Metro 2033

Пример получаемой карты нормалей из Metro 2033


В метро вместо карт нормалей, как обычно бывает в большинстве игр, используется карта высот - файлы с постфиксом _bump. Они есть только в том случае, если вы распаковывали игру самостоятельно, большая часть сборщиков "Архивов моделей" их в архив не добавляет. "Состав" карты высот Метро 2033:

R - пустой канал
G - Specular map - карта интенсивности блика
B - пустой канал
Alpha - карта высот

SDK

Карта нормалей

При наличии уже готовой карты нормалей, изготовленной вами, из другой игры, zBrush или любой другой программы высокополигонального 3d моделирования, остается только добавить ее в SDK. Параметры:

  • 0.4:

Type: 2D Texture, Format: 32 bit (8:8:8:8), MipMap Filter: Kaiser (здесь уже по желанию, я всегда использую Kaiser)

0.4 nmap.png


  • 0.5/0.6, 0.7:

Type: Normal Map, MipMap Filter: Kaiser

0.5-0.7 nmap.png


Bump

С использованием отдельной карты нормалей bump карта изготавливается очень просто: RGB - серый цвет, 128,128,128 Alpha - Specular Map Параметры добавления в SDK не зависят от версии: Type: Bump Map, в Special Normal Map указываем добавленную ранее карту нормалей

В фотошопе
Добавление в SDK


Если же вдруг возникло желание обойтись без дополнительной карты нормалей, то добавление в SDK и каналы меняются: RGB - карта высот Alpha - Specular Map Это единственный вариант, когда параметр Virtual height действительно влияет на интенсивность получаемого бампа.

В фотошопе
Добавление в SDK
Другие места
LANGUAGE