Ru/$texturegroup: Difference between revisions
(Created page with "{{lang|$texturegroup|$title=$texturegroup}}{{toc-right}} {{This is a|c0|name=$texturegroup}} Она позволяет модели иметь несколько skin|ски...") |
No edit summary |
||
Line 112: | Line 112: | ||
* {{ent:ru|$bodygroup}} - То же, что и {{ent:ru|$texturegroup}}, но для частей модели | * {{ent:ru|$bodygroup}} - То же, что и {{ent:ru|$texturegroup}}, но для частей модели | ||
[[Category:QC Commands | [[Category:QC Commands:ru|texturegroup]] |
Revision as of 05:07, 8 December 2023
$texturegroup
- это c0, доступно для всех игр на движке Source. Она позволяет модели иметь несколько скинов, состоящих из одного или нескольких материалов.
Обычно скины используются в пропах чтобы добавить вариативности к их внешнему виду без создания новых моделей.
Синтаксис
$texturegroup <имя> { { "<стандартный материал>" } //Скин 0 (стандартный) { "<новый материал>" } //Скин 1 [...] }
- имя
- Имя текстурной группы. Template:Bug:ru
- стандартный материал
- Название материала (VMT) на референс модели.
- новый материал
- Название материала (VMT), который будет заменять материал выше.
У моделей с несколькими материалами $texturegroup
принимает несколько материалов за строку. При таком использовании первый скин будет как заголовок таблицы. Только указанные там материалы будут заменены в последующих скинах.
$texturegroup <имя> { { "<стандартный материал 1>" "<стандартный материал 2>" [...] } //Скин 0 (стандартный) { "<новый материал 1>" "<новый материал 2>" [...] } //Скин 1 [...] }
StudioMDL позволяет использование до 32 уникальных материалов на модели. Этот лимит встроен в компилятор, но его можно увеличить использует пропатченный StudioMDL. Template:Tip:ru Template:Bug:ru
Примеры
$texturegroup rockcliff_cluster01 { { rockcliff02a } { rockcliff02b } { rockcliff02c } }
$cdmaterials models\bots\sniper models\effects $texturegroup skinfamilies { { sniper_bot_red sniper_bot_head_red } { sniper_bot_blue sniper_bot_head_blue } { invulnfx_red invulnfx_red } { invulnfx_blue invulnfx_blue } }
$cdmaterials models\player\hvyweapon $texturegroup skinfamilies { { heavy_head_red eyeball_r eyeball_l hvyweapon_red hvyweapon_red_sheen } { heavy_head_blue eyeball_r eyeball_l hvyweapon_blue hvyweapon_blue_sheen } { heavy_head_red_invun eyeball_invun eyeball_invun hvyweapon_red_invun hvyweapon_red_invun } { heavy_head_blue_invun eyeball_invun eyeball_invun hvyweapon_blue_invun hvyweapon_blue_invun } { heavy_head_zombie eyeball_zombie eyeball_zombie heavy_red_zombie_alphatest heavy_red_zombie_alphatest_sheen } { heavy_head_zombie eyeball_zombie eyeball_zombie heavy_blue_zombie_alphatest heavy_blue_zombie_alphatest_sheen } { heavy_head_red_invun eyeball_invun eyeball_invun hvyweapon_red_zombie_invun hvyweapon_red_zombie_invun } { heavy_head_blue_invun eyeball_invun eyeball_invun hvyweapon_blue_zombie_invun hvyweapon_blue_zombie_invun } }
Использование нескольких текстурных групп
Использование более, чем одной $texturegroup
разрешено, но не рекомендуется. Поведение нескольких текстурных групп как минимум не интуитивно.
Template:Bug:ru
Template:Bug:ru
Template:Bug:ru
Из-за всех этих проблем не смотря на то, что синтаксис говорит, использование нескольких $texturegroup
команд на самом деле не позволит несколько состояний скина, в отличии от $bodygroup.
Если модель требует несколько состояний текстур, то они должны быть сделаны настройкой скинов в подобной манере:
$texturegroup skinfamilies { { <состояние 1> <подсостояние 1> } { <состояние 1> <подсостояние 2> } { <состояние 2> <подсостояние 1> } { <состояние 2> <подсостояние 2> } [...] }
Замена материала материалом с таким же именем в другой папке
Для того, чтобы заменить материал материалом с таким же именем из другой папки добавьте ".." перед новым материалом и после него добавить название папки, где лежит новый материал.
".." поднимает вас на директорию выше позволяя вам зайти в другую папку, как $popd.
В таком случае не требуется добавление новых строк $cdmaterials.
Если вы просто хотите использовать другой материал, не имеющий тоже самое имя вы можете просто использовать ещё одну строку $CDMaterials
.
Пример из Left 4 Dead 2:
$cdmaterials "models\c2m5_helicopter_extraction\" $texturegroup "skinfamilies" { { "helicopter_news_adj" "helicopter_news2" } //helicopter_news2 из models\c2m5_helicopter_extraction\ { "..\hybridPhysx\helicopter_news_adj" "..\hybridPhysx\helicopter_news2" } //helicopter_news2 из models/hybridPhysx { "..\hybridPhysx\helicopter_army" "..\hybridPhysx\helicopter_army2" } //Можно было просто использовать ещё одну строку $cdmaterials и использовать "helicopter_army2" }
Больше информации
- Скины также могут изменять $bumpmap, $surfaceprop и др. опции в VMT. Также для оптимизации, смотрите $lod и LOD модели.
- Все альтернативные текстуры должны иметь ту же UV разметку.
- Хоть StudioMDL и имеет встроенный лимит в 32 уникальных материала, он технически поддерживает до 1024 скинов до тех пор, пока они состоят из 32 материалов.
Почти каждая покрашенная под цвет команды модель имеет как минимум 2 скина. Обычно стандартный скин для RED и второй скин для BLU.
See Also
- Несколько скинов на одной модели
- $cdmaterials
- $renamematerial
- $bodygroup - То же, что и $texturegroup, но для частей модели