User:Nescius/sandbox/test/awd/1/2/3/4/5: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 1: | Line 1: | ||
{{ | {{langsp|title=$texturegroup}} | ||
{{improve|перевод ужасный. Во первых переведены команды, "name"... и т.д. которые на самом деле не должны быть переведены (так как это исходные команды и они на английском. Имеется тавтология, некоторые предложения просто смысл не имеют}} | |||
{{toc-right}} | |||
Она позволяет модели иметь несколько [[skin|скинов]], состоящих из одного или нескольких материалов.<br> | |||
Скины используются в моделях для добавления вариантов их внешнего вида без создания новых моделей. | |||
[[File:Plasticcrate01.jpg|723x111px|frameless|left]]{{cls}} | |||
== Синтаксис == | |||
{{ent:ru|$texturegroup}} <имя> | |||
[[ | { | ||
{ "<стандартный материал>" } //Скин 0 (стандартный) | |||
{ "<новый материал>" } //Скин 1 | |||
[...] | |||
} | |||
; имя | |||
: Имя группы текстур. {{bug|[[StudioMDL_(Source)/ru|StudioMDL]] требует имя, но оно никак не используется. Обычно группы текстур называют <code>skinfamilies</code>.}} | |||
; стандартный материал | |||
: Название [[material/ru|материала]] ([[VMT/ru|VMT]]) на референс модели. | |||
; новый материал | |||
: Название [[material/ru|материала]] ([[VMT/ru|VMT]]), который будет заменять материал выше. | |||
У моделей с несколькими материалами <code>$texturegroup</code> принимает несколько материалов за строку. При таком использовании первый скин будет указывать заменяющиеся материалы. Если какой-либо материал не указан, то его замена не произойдет, даже если его указать в следующих строках. | |||
{{ent:ru|$texturegroup}} <имя> | |||
{ | |||
{ "<стандартный материал 1>" "<стандартный материал 2>" [...] } //Скин 0 (стандартный) | |||
{ "<новый материал 1>" "<новый материал 2>" [...] } //Скин 1 | |||
[...] | |||
} | |||
[[StudioMDL_(Source)/ru|StudioMDL]] позволяет использовать до 32 уникальных материалов на модели. Этот лимит встроен в компилятор, но его ''можно'' увеличить используя пропатченный [[StudioMDL_(Source)/ru|StudioMDL]]. | |||
{{tip|Если нужно заменить основную текстуру в скине, можно скопировать изначальный материал и изменить его название и его параметр {{ent:ru|$basetexture}}}} | |||
{{bug|Вы должны добавить пробелы между кривыми скобками <code>{}</code> и названием материала. <code>{skin_0}</code> работать не будет, в отличие от <code>{ skin_0 }</code>.}} | |||
== Примеры == | |||
{{ent:ru|$texturegroup}} rockcliff_cluster01 | |||
{ | |||
{ rockcliff02a } | |||
{ rockcliff02b } | |||
{ rockcliff02c } | |||
} | |||
{{ent:ru|$cdmaterials}} models\bots\sniper models\effects | |||
{{ent:ru|$texturegroup}} skinfamilies | |||
{ | |||
{ sniper_bot_red sniper_bot_head_red } | |||
{ sniper_bot_blue sniper_bot_head_blue } | |||
{ invulnfx_red invulnfx_red } | |||
{ invulnfx_blue invulnfx_blue } | |||
} | |||
{{ent:ru|$cdmaterials}} models\player\hvyweapon | |||
{{ent:ru|$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 } | |||
} | |||
== Использование нескольких текстурных групп == | |||
Использование более, чем одной <code>$texturegroup</code> разрешено, но '''не''' рекомендуется. Поведение нескольких групп текстур как минимум неинтуитивно. | |||
{{bug|Количество скинов определяется ''только'' первой группой текстур. Это значит, что для того, чтобы получить доступ к другим текстурным группам количество скинов должно превышать 31 (32 в [[HLMV/ru|HLMV]]).}} | |||
{{bug|$texturegroup не воспринимаются отдельно друг от друга, группы текстур разделяются на части по 32 скина. Не более чем 32 скина могут быть использованы на текстурной группе кроме первой.}} | |||
{{bug|Каждый материал, изменяемый группой текстур, должен быть указан в первом скине первой группы текстур. Получается, все группы текстур должны иметь одно количество материалов в их первом скине, чтобы материалы не перемешались.}} | |||
Из-за всех этих проблем несмотря на то, что указано в синтаксисе, использование нескольких <code>$texturegroup</code> команд на самом деле не позволит несколько состояний скина, в отличии от {{ent:ru|$bodygroup}}. | |||
Если модель требует несколько состояний текстур, то они должны быть сделаны настройкой скинов в подобной манере: | |||
{{ent:ru|$texturegroup}} skinfamilies | |||
{ | |||
{ <состояние 1> <подсостояние 1> } | |||
{ <состояние 1> <подсостояние 2> } | |||
{ <состояние 2> <подсостояние 1> } | |||
{ <состояние 2> <подсостояние 2> } | |||
[...] | |||
} | |||
== Замена материала материалом с таким же именем в другой папке == | |||
<code>..</code> выводит путь поиска материала на директорию выше, тем самым позволяя вам использовать материалы из другой папки, как {{ent:ru|$popd}}.<br> | |||
В таком случае добавление новых строк {{ent:ru|$cdmaterials}} не требуется.<br> | |||
Если Вы просто хотите использовать другой материал, не имеющий то же самое имя, Вы можете просто использовать ещё одну строку <code>$cdmaterials</code>. | |||
Пример из {{l4d2|2}}: | |||
{{ent:ru|$cdmaterials}} "models\c2m5_helicopter_extraction\" | |||
{{ent:ru|$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" | |||
} | |||
== Больше информации == | |||
* Скины также могут изменять {{ent:ru|$bumpmap}}, {{ent:ru|$surfaceprop}} и другие параметры [[VMT/ru|VMT]]. Также для оптимизации можно использовать {{ent:ru|$lod}} и [[LOD Models|LOD модели]]. | |||
* Все альтернативные текстуры должны иметь ту же [[UV_Map|развёртку]]. | |||
* Хоть [[StudioMDL_(Source)/ru|StudioMDL]] и имеет встроенный лимит в 32 уникальных материала, он технически поддерживает до 1024 скинов до тех пор, пока они состоят из 32 материалов. | |||
* {{tf2}} Почти каждая покрашенная под цвет команды модель имеет как минимум 2 скина. Обычно первый скин для команды RED, а второй скин для команды BLU. | |||
== See also == | |||
* [[Multiple Skins for a Single Model|Несколько скинов на одной модели]] | |||
* {{ent:ru|$cdmaterials}} | |||
* {{ent:ru|$renamematerial}} | |||
* {{ent:ru|$bodygroup}} - То же самое, что и {{ent:ru|$texturegroup}}, но для частей модели. | |||
Revision as of 08:10, 4 July 2024
Она позволяет модели иметь несколько скинов, состоящих из одного или нескольких материалов.
Скины используются в моделях для добавления вариантов их внешнего вида без создания новых моделей.
Синтаксис
$texturegroup <имя> { { "<стандартный материал>" } //Скин 0 (стандартный) { "<новый материал>" } //Скин 1 [...] }
- имя
- Имя группы текстур.
- стандартный материал
- Название материала (VMT) на референс модели.
- новый материал
- Название материала (VMT), который будет заменять материал выше.
У моделей с несколькими материалами $texturegroup принимает несколько материалов за строку. При таком использовании первый скин будет указывать заменяющиеся материалы. Если какой-либо материал не указан, то его замена не произойдет, даже если его указать в следующих строках.
$texturegroup <имя> { { "<стандартный материал 1>" "<стандартный материал 2>" [...] } //Скин 0 (стандартный) { "<новый материал 1>" "<новый материал 2>" [...] } //Скин 1 [...] }
StudioMDL позволяет использовать до 32 уникальных материалов на модели. Этот лимит встроен в компилятор, но его можно увеличить используя пропатченный StudioMDL.
{} и названием материала. {skin_0} работать не будет, в отличие от { skin_0 }. [todo tested in ?]Примеры
$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 разрешено, но не рекомендуется. Поведение нескольких групп текстур как минимум неинтуитивно.
Из-за всех этих проблем несмотря на то, что указано в синтаксисе, использование нескольких $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 модели.
- Все альтернативные текстуры должны иметь ту же развёртку.
- Хоть StudioMDL и имеет встроенный лимит в 32 уникальных материала, он технически поддерживает до 1024 скинов до тех пор, пока они состоят из 32 материалов.
Почти каждая покрашенная под цвет команды модель имеет как минимум 2 скина. Обычно первый скин для команды RED, а второй скин для команды BLU.
See also
- Несколько скинов на одной модели
- $cdmaterials
- $renamematerial
- $bodygroup - То же самое, что и $texturegroup, но для частей модели.