HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Пакетный конвертор текстур для S.T.A.L.K.E.R
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32134
Нанёс повреждений: 392 ед.

Рейтинг



Пакетный конвертор текстур для S.T.A.L.K.E.R

Цитата:
Техническая информация

В своё время на форуме было сломано немало копий в жарких спорах на предмет того, как же правильно переконвертить "зелёные" нормалки сталкера в привычный "синий" формат. Большинство утверждало, что надо просто свапнуть каналы, кое-кто говорил, что даже со всеми свапами получается ерунда. Всё дело в том, что в сталкере не просто свапнуты каналы. Бамп в сталкере хранится в двух текстурах, с суффиксами _bump и _bump#. Вы пытались извлечь его из одной и разумеется получалась ерунда. Вот код шейдера для понимания (shaders\r2\sload.h):

C++ Source Code:
1
S.normal = Nu.wzyx + (NuE.xyz - 1.0h);  // (Nu.wzyx - .5h) + (E-.5)
2
S.gloss = Nu.x*Nu.x;
3
S.gloss = Nu.x*Nu.x;
4
S.height = NuE.z;


Самое смешное, что авторы сталкера налажали в своём же собственном шейдере. Nu - это у нас пиксель из texture_bump, a NuE соответственно из texture_bump#. Во первых в трёхкомпонентную нормаль они пытаются записать четыре компонента. По умолчанию последний компонент - т.е. X у нас не пишется вовсе, т.к. для него нехватает места. Следовательно нормаль расположена в порядке: альфа - X, синий - Y, зелёный - Z. красный - это вообще спекуляр-мапа и не имеет к бампу отношения. NuE.xyz - это ошибка диффузии. DXT корёжит нормалки и этим никого не удивишь. GSC придумала записывать разницу ошибки в отдельную текстуру. Довольно топорное решение, но ведь и GSC это не Crytek. Как придумали, так и сделали. А дальше самое смешное - вместо того чтобы взять хейтмапу из альфа-канала (компонента w), они берут Z-компоненту диффузии ошибки нормали и используют её как хейтмапу.

Можете сами открыть любую _bump# текстуру и посмотреть как выглядит альфа и как B-канал.



Пакетный конвертор текстур под названием stalker2tga переделан из maketex и работает в обратную сторону - из dds текстур создаёт tga. Интерфейс по тому же принципу кнопки "сделать круто". Достаточно распаковать gamedata из паков сталкера, положить программку в gamedata\textures, запустить её и подождать пока она сама управится.

Обратите внимание, что хейтмапа сохраняется в альфа-канал глосс-мапы.

Update at 17.05.2019
- исправлен баг детектирования альфа-канала в DXT3.

Вложение: stalker2tga.zip (27.5 кб)
Этот файл был скачан 333 раз.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 178977

Старое сообщение 17-05-2019 09:09
-
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



А зачем, простите, нам тулзы для Сталкера?

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

Сообщить модератору | | IP: Записан
Сообщение: 178993

Старое сообщение 17-05-2019 11:12
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32134
Нанёс повреждений: 392 ед.

Рейтинг



Тулза не для сталкера, тулза для того чтобы использовать нормалмапы из сталкера, например в параное.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 178997

Старое сообщение 17-05-2019 11:44
-
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Цитата:
Дядя Миша писал:
Тулза не для сталкера, тулза для того чтобы использовать нормалмапы из сталкера, например в параное.


То есть, чтобы воровать модели из Сталкера в Параною, я так это понял?

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

Сообщить модератору | | IP: Записан
Сообщение: 178999

Старое сообщение 17-05-2019 12:05
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 10:28. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Пакетный конвертор текстур для S.T.A.L.K.E.R
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024