User:Nescius/sandbox/test/awd/1/2/3/4/5: Difference between revisions

From Valve Developer Community
< User:Nescius‎ | sandbox/test‎ | awd‎ | 1‎ | 2‎ | 3/4
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{langsp|title=$texturegroup}}
* <nowiki>{{FULLPAGENAME}}</nowiki> = {{FULLPAGENAME}}
{{improve|перевод ужасный. Во первых переведены команды, "name"... и т.д. которые на самом деле не должны быть переведены (так как это исходные команды и они на английском. Имеется тавтология, некоторые предложения просто смысл не имеют}}
* <nowiki>{{PAGENAME}}</nowiki> = {{PAGENAME}}
{{toc-right}}
* <nowiki>{{BASEPAGENAME}}</nowiki> = {{BASEPAGENAME}}
Она позволяет модели иметь несколько [[skin|скинов]], состоящих из одного или нескольких материалов.<br>
* <nowiki>{{ROOTPAGENAME}}</nowiki> = {{ROOTPAGENAME}}
Скины используются в моделях для добавления вариантов их внешнего вида без создания новых моделей.
* <nowiki>{{SUBPAGENAME}}</nowiki> = {{SUBPAGENAME}}
[[File:Plasticcrate01.jpg|723x111px|frameless|left]]{{cls}}
* <nowiki>{{SUBJECTPAGENAME}}</nowiki> = {{SUBJECTPAGENAME}}
== Синтаксис ==
* <nowiki>{{#titleparts: {{PAGENAME}} | 1 | 2 }}</nowiki> = {{#titleparts: {{PAGENAME}} | 1 | 2 }}
 
[https://www.mediawiki.org/wiki/Help:Magic_words magic]
{{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}}, но для частей модели.

Latest revision as of 06:35, 7 July 2024

  • {{FULLPAGENAME}} = User:Nescius/sandbox/test/awd/1/2/3/4/5
  • {{PAGENAME}} = Nescius/sandbox/test/awd/1/2/3/4/5
  • {{BASEPAGENAME}} = Nescius/sandbox/test/awd/1/2/3/4
  • {{ROOTPAGENAME}} = Nescius
  • {{SUBPAGENAME}} = 5
  • {{SUBJECTPAGENAME}} = User:Nescius/sandbox/test/awd/1/2/3/4/5
  • {{#titleparts: {{PAGENAME}} | 1 | 2 }} = sandbox

magic