4.9 Звучащие текстуры В данной статье речь пойдет о том, как заставить текстуры в Counter-Strike звучать, т.е. когда игрок ходит по разным поверхностям, чтобы звуки шагов были разными, то же самое касается стрельбы: звуки попадания в дерево и металл должны различаться. Вот об этом и пойдет речь.
Статья (с некоторыми изменениями) публикуется с разрешения автора — PYaEe, http://www.cstrike.wallst.ru/. Благодарим PYaEe за прекрасную статью!
Прежде всего необходимо сказать — для того, чтобы текстура зазвучала, её имя должно быть прописано в файле materials.txt, который находится в папке «cstrike\sound». Проблема в том, что мы не можем изменять этот файл и распространять его вместе с картой, потому что на другой карте, созданной Васей Пупкиным — свои звучащие текстуры, и он тоже «обновит» materials.txt, а это означает, что Ваши текстуры звучать уже не будут.
Выход есть и он довольно простой. Как мы знаем, движок Half-Life, выбирая материал текстуры, учитывает только первые 12 знаков её названия. А максимальная длина названия текстуры — 15 знаков. Значит, у нас есть 3 знака в запасе. Этого хватит на любую карту — ведь используя, например, эти три знака для чисел, примерно так:
zvukitexturi001
zvukitexturi002
zvukitexturi003
... мы можем получить 999 разных текстур одного типа звучания. А ведь можно использовать ещё и буквы... Так что, этих трех символов нам хватит.
То есть, нам нужно найти в стандартном materials.txt названия текстур, которые составляют 12 или более символов. Оставляем 12 первых, а оставшиеся 3 находятся в нашем распоряжении. Мы облегчим Вам задачу, и скажем как именно нужно называть свои текстуры:
(Звёздочка означает Ваш символ)
Дерево: cstrike_CJ2B***
Металл: cstrike_CE2X***
Плитка: cstrike_FH4W***
Снег: только три варианта: snow; A_snow; znow1 (нет названия стандартной текстуры снега из 12 символов)
Стекло: GLASS_BRIGHT***
Электроника: LAB1_RADSCRN***
Грязь(песок, гравий): cstrike_FT2D***
Вентиляционная труба: Нет стандартных названий в 12 символов — так что используйте либо стандартную, либо называйте свою точно так же, как стандартную.
Жидкость или жидкая грязь: то же самое.
При этом, Вам совершенно не нужно производить никаких манипуляций с materials.txt — ни редактировать, ни распространять.
Для массовых переименований текстур Вам очень пригодится программа просмотра изображений ACDSee. Если Вы уже сделали много текстур, переведите их в BMP (программой Wally), сложите в какую-нибудь папку, потом запустите ACDSee, выберите, например, только деревянные текстуры, нажмите «Rename series» («Переименовать несколько»), в графе «Template» напишите cstrike_CJ2B###, а «Start at» поставьте 000. Запишите исходные и будущие названия текстур и жмите кнопку «OK».
Дальше запускаем Hammer/Worldcraft и активно юзаем «Replace textures»!
Важное замечание: текстуры будут звучать только, если они наложены на БРАШИ. Текстуры, наложенные на энтити-объекты (func_wall и пр.) звучать НЕ БУДУТ! Так что помните об этом, создавая, например, ящик с текстурой дерева. Если Вы превратите его в func_wall, то деревянного звука при попадании по ящику не будет...