Файл формата .thm
Материал из S.T.A.L.K.E.R. Inside Wiki
Содержание
Что это такое и зачем они нужны?
Эти файлы могут использоваться во всех частях Сталкера (в ТЧ реже - чтобы дать конкретной текстуре параметры, не затрагивая textures.ltx). В ТЧ работают начиная с версии 1.0004. Используются для выставления параметров текстур — bump, detail и прочее. Имеют вид название_текстуры.thm и название_текстуры_bump.thm для bump текстур. Без них игра не подставляет текстуре нужные параметры и следовательно они получаются «плоские», хуже чем на статическом освещении. Для сравнения приведу картинки
Как их создать? Какие параметры нужны?
Для создания этих файлов нужен официальный СДК версии 0.5/0.6/0.7. С версией 0.4 есть нюанс (о нём примечании). Для начала, скачайте эту программу dds2tgaLE (373 KБ) и установите её в папку import вашего СДК. Она нужна для быстрого перевода текстур из формата DDS в TGA, нужный СДК. Теперь, допустим, мы хотим сделать файл .thm для текстуры prop_plitka_lab. Копируем текстуру prop_plitka_lab и prop_plitka_lab_bump в папку import, запускаем файл START.BAT — заместо dds мы получили tga текстуры. Теперь, в нашем случае, копируем их в папку rawdata\textures\prop. Далее заходим в Level Editor, щёлкаем по кнопке Images и выбираем пункт Check New Textures
В появившемся окошке жмём ОК и видим появившееся окно с текстурами которые вы добавили. На этом скриншоте отмечено то, что нам понадобится изменять (я уже поставил)
Итак, в секции Bump в параметре Mode ставим Use — для различных текстур, а Use parallax — для текстур типа кирпичной кладки, кафеля (как в данной текстуре) и тп. В параметре Texture выбираем тестуру bump — prop_plitka_lab_bump. В секции Detalis в параметрах Use as Diffuse и/или Use as Bump (R2) ставим галочку. Как расставить эти параметры грамотно? Обратимся к textures.ltx. Ищем нашу текстуру в нём, первое что находится:
prop\prop_plitka_lab = detail\detail_tile_det2, 6.000000, usage[diffuse_or_bump]
Значит ставим галочки в параметрах Use as Diffuse и Use as Bump (R2). В параметре Texture под этими пунктами выбираем текстуру detail\detail_tile_det2, предварительно сделав импорт этой текстуры в СДК. И в параметре Scale ставим 6.0. Ищем по файлу дальше, видим:
prop\prop_plitka_lab = bump_mode[use:prop\prop_plitka_lab_bump], material[1.50]
Здесь пишется bump-текстура и «material», это степень наложения bump на текстуру - чем больше, тем рельефнее. Только в СДК поставить выше значения 1.0 не получится (не страшно). Вот что ещё находим:
prop\prop_plitka_lab = 0
Здесь выставлен тип текстуры. Смотря по СДК и файлу textures.ltx, я понял так:
- 0 — 2D Texture
- 1 — Cube Map
- 2 — Bump Map
- 3 — Normal Map
- 4 — Terrain
По textures.ltx всё. Жмём ОК и ищем полученные изображения и их .thm файлы в папке СДК\…\gamedata\textures\… Кстати, когда будете копировать готовые thm файлы, не забудьте скопировать не только prop_plitka_lab и prop_plitka_lab_bump, но и prop_plitka_lab_bump#. Уже можно их опробовать в игре
Примечание по СДК 0.4
В СДК версии 0.4 создаются файлы thm, больше размером и с другим форматом, чем в ЧН/ЗП. Поэтому они не работают в них. Но есть способ как превратить эти файлы для ЧН/ЗП (из формата СДК 0.4 перевести в современный): переделать их с помощью утилиты — thmParser, как использовать описано внутри.
Примечание по ошибке thm
Иногда после процессов редактирования текстуры, бампа, thm в игре можно встретить баг: определенная текстура покрывается непонятной сеткой, немного напоминающей шахматную доску. Причиной этому может быть:
- отсутствие бапма, которого привязывает к текстуре thm
- неправильное название бампа (возможно, по невнимательности допустили ошибку)
- thm-файл устаревший, там указан другой бамп (могли забыть перебросить новый thm из СДК)
Лечение: проверяем наличие бампа, его название. Если что, прогоняем привязку текстуры к бампу через СДК еще один раз, получаем новый thm, копируем с заменой обновленные файлы из СДК в геймдату
Автор статьи: Ork
За помощь и поддержку спасибо XaK и BuS777
Дополнил: FantomICW