Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

Ru/$texturegroup: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
No edit summary
m (Multipage removal)
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{lang|$texturegroup|$title=$texturegroup}}{{toc-right}}
{{LanguageBar|title = $texturegroup}}
{{This is a|c0|name=$texturegroup}} Она позволяет модели иметь несколько [[skin|скин]]ов, состоящих из одного или нескольких материалов.<br>
{{this is a|QC command|name=$texturegroup}}
Обычно скины используются в пропах чтобы добавить вариативности к их внешнему виду без создания новых моделей.
{{improve|перевод ужасный. Во первых переведены команды, "name"... и т.д. которые на самом деле не должны быть переведены (так как это исходные команды и они на английском. Имеется тавтология, некоторые предложения просто смысл не имеют}}
{{toc-right}}
Она позволяет модели иметь несколько {{L|skin|скинов}}, состоящих из одного или нескольких материалов.<br>
Скины используются в моделях для добавления вариантов их внешнего вида без создания новых моделей.
[[File:Plasticcrate01.jpg|723x111px|frameless|left]]{{cls}}
[[File:Plasticcrate01.jpg|723x111px|frameless|left]]{{cls}}
== Синтаксис ==
== Синтаксис ==
Line 13: Line 16:


; имя
; имя
: Имя текстурной группы. {{bug:ru|Имя требуется [[studiomdl/ru|StudioMDL]], но никак не используется. Обычно текстурные группы называют <code>skinfamilies</code>.}}
: Имя группы текстур. {{bug|{{L|StudioMDL_(Source)|StudioMDL}} требует имя, но оно никак не используется. Обычно группы текстур называют <code>skinfamilies</code>.}}
; стандартный материал
; стандартный материал
: Название [[material/ru|материала]] ([[VMT/ru|VMT]]) на референс модели.
: Название {{L|material|материала}} ({{L|VMT}}) на референс модели.
; новый материал
; новый материал
: Название [[material/ru|материала]] ([[VMT/ru|VMT]]), который будет заменять материал выше.
: Название {{L|material|материала}} ({{L|VMT}}), который будет заменять материал выше.




У моделей с несколькими материалами <code>$texturegroup</code> принимает несколько материалов за строку. При таком использовании первый скин будет как заголовок таблицы. Только указанные там материалы будут заменены в последующих скинах.
У моделей с несколькими материалами <code>$texturegroup</code> принимает несколько материалов за строку. При таком использовании первый скин будет указывать заменяющиеся материалы. Если какой-либо материал не указан, то его замена не произойдет, даже если его указать в следующих строках.


  {{ent:ru|$texturegroup}} <имя>
  {{ent:ru|$texturegroup}} <имя>
Line 29: Line 32:
  }
  }


[[Studiomdl/ru|StudioMDL]] позволяет использование до 32 уникальных материалов на модели. Этот лимит встроен в компилятор, но его ''можно'' увеличить использует пропатченный StudioMDL.
{{L|StudioMDL_(Source)|StudioMDL}} позволяет использовать до 32 уникальных материалов на модели. Этот лимит встроен в компилятор, но его ''можно'' увеличить используя пропатченный {{L|StudioMDL_(Source)|StudioMDL}}.
{{tip:ru|Если вы просто хотите использовать разные текстуры на каждом скине просто скопируйте ваш оригинальный материал (VMT) (например: <code>skin_0.vmt</code>), дайте ему другое имя (например: <code>skin_1.vmt</code>) и измените там текстуры, которые вам нужно заменить.}}
{{tip|Если нужно заменить основную текстуру в скине, можно скопировать изначальный материал и изменить его название и его параметр {{ent:ru|$basetexture}}}}
{{bug:ru|Вы должны добавить пробелы между кривыми скобками <code>{}</code> и названием материала. <code>{skin_0}</code> работать не будет, но зато <code>{ skin_0 }</code> будет.}}
{{bug|Вы должны добавить пробелы между кривыми скобками <code>{}</code> и названием материала. <code>{skin_0}</code> работать не будет, в отличие от <code>{ skin_0 }</code>.}}


== Примеры ==
== Примеры ==
Line 68: Line 71:


== Использование нескольких текстурных групп ==
== Использование нескольких текстурных групп ==
Использование более, чем одной <code>$texturegroup</code> разрешено, но '''не''' рекомендуется. Поведение нескольких текстурных групп как минимум не интуитивно.
Использование более, чем одной <code>$texturegroup</code> разрешено, но '''не''' рекомендуется. Поведение нескольких групп текстур как минимум неинтуитивно.
{{bug:ru|Количество скинов определяется ''только'' первой текстурной группой. Это значит, что для того, чтобы получить доступ к другим текстурным группам количество скинов должно превышать 31 (32 в [[HLMV/ru|HLMV]]).}}
{{bug|Количество скинов определяется ''только'' первой группой текстур. Это значит, что для того, чтобы получить доступ к другим текстурным группам количество скинов должно превышать 31 (32 в {{L|HLMV}}).}}
{{bug:ru|Они не воспринимаются отдельными друг от друга, текстурные группы разделяются на части по 32 скина. Не более чем 32 скина могут быть использованы на текстурной группе кроме первой.}}
{{bug|$texturegroup не воспринимаются отдельно друг от друга, группы текстур разделяются на части по 32 скина. Не более чем 32 скина могут быть использованы на текстурной группе кроме первой.}}
{{bug:ru|Каждый материал, изменяемый текстурной группой должен быть указан в первом скине первой текстурной группы. Получается, все текстурные группы должны иметь одно количество материалов в их первом скине, чтобы материалы не перемешались.}}
{{bug|Каждый материал, изменяемый группой текстур, должен быть указан в первом скине первой группы текстур. Получается, все группы текстур должны иметь одно количество материалов в их первом скине, чтобы материалы не перемешались.}}
Из-за всех этих проблем не смотря на то, что синтаксис говорит, использование нескольких <code>$texturegroup</code> команд на самом деле не позволит несколько состояний скина, в отличии от {{ent:ru|$bodygroup}}.
Из-за всех этих проблем несмотря на то, что указано в синтаксисе, использование нескольких <code>$texturegroup</code> команд на самом деле не позволит несколько состояний скина, в отличии от {{ent:ru|$bodygroup}}.


Если модель требует несколько состояний текстур, то они должны быть сделаны настройкой скинов в подобной манере:
Если модель требует несколько состояний текстур, то они должны быть сделаны настройкой скинов в подобной манере:
Line 85: Line 88:


== Замена материала материалом с таким же именем в другой папке ==
== Замена материала материалом с таким же именем в другой папке ==
Для того, чтобы заменить материал материалом с таким же именем из другой папки добавьте ".." перед новым материалом и после него добавить название папки, где лежит новый материал.<br>
<code>..</code> выводит путь поиска материала на директорию выше, тем самым позволяя вам использовать материалы из другой папки, как {{ent:ru|$popd}}.<br>
".." поднимает вас на директорию выше позволяя вам зайти в другую папку, как {{ent:ru|$popd}}.<br>
В таком случае добавление новых строк {{ent:ru|$cdmaterials}} не требуется.<br>
В таком случае не требуется добавление новых строк {{ent:ru|$cdmaterials}}.<br>
Если Вы просто хотите использовать другой материал, не имеющий то же самое имя, Вы можете просто использовать ещё одну строку <code>$cdmaterials</code>.
Если вы просто хотите использовать другой материал, не имеющий тоже самое имя вы можете просто использовать ещё одну строку <code>$CDMaterials</code>.


Пример из {{l4d2|2}}:
Пример из {{l4d2|2}}:
Line 101: Line 103:


== Больше информации ==
== Больше информации ==
* Скины также могут изменять {{ent:ru|$bumpmap}}, {{ent:ru|$surfaceprop}} и др. опции в [[VMT/ru|VMT]]. Также для оптимизации, смотрите {{ent:ru|$lod}} и [[LOD Models|LOD модели]].
* Скины также могут изменять {{ent:ru|$bumpmap}}, {{ent:ru|$surfaceprop}} и другие параметры {{L|VMT}}. Также для оптимизации можно использовать {{ent:ru|$lod}} и {{L|LOD Models|LOD модели}}.
* Все альтернативные текстуры должны иметь ту же [[UV map|UV]] разметку.
* Все альтернативные текстуры должны иметь ту же {{L|UV_Map|развёртку}}.
* Хоть [[studiomdl:ru|StudioMDL]] и имеет встроенный лимит в 32 уникальных материала, он технически поддерживает до 1024 скинов до тех пор, пока они состоят из 32 материалов.
* Хоть {{L|StudioMDL_(Source)|StudioMDL}} и имеет встроенный лимит в 32 уникальных материала, он технически поддерживает до 1024 скинов до тех пор, пока они состоят из 32 материалов.
* {{tf2}} Почти каждая покрашенная под цвет команды модель имеет как минимум 2 скина. Обычно стандартный скин для RED и второй скин для BLU.
* {{tf2}} Почти каждая покрашенная под цвет команды модель имеет как минимум 2 скина. Обычно первый скин для команды RED, а второй скин для команды BLU.


== See Also ==
== See also ==
* [[Multiple Skins for a Single Model|Несколько скинов на одной модели]]
* {{L|Multiple Skins for a Single Model|Несколько скинов на одной модели}}
* {{ent:ru|$cdmaterials}}
* {{ent:ru|$cdmaterials}}
* {{ent:ru|$renamematerial}}
* {{ent:ru|$renamematerial}}
* {{ent:ru|$bodygroup}} - То же, что и {{ent:ru|$texturegroup}}, но для частей модели
* {{ent:ru|$bodygroup}} - То же самое, что и {{ent:ru|$texturegroup}}, но для частей модели.


[[Category:QC Commands:ru|texturegroup]]
{{ACategory|QC Commands|texturegroup}}

Latest revision as of 03:52, 12 July 2024

English (en)Français (fr)Русский (ru)Translate (Translate)

$texturegroup - это QC команда(en), доступно для всех игр на движке Source Source.

Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality because:
перевод ужасный. Во первых переведены команды, "name"... и т.д. которые на самом деле не должны быть переведены (так как это исходные команды и они на английском. Имеется тавтология, некоторые предложения просто смысл не имеют
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
Она позволяет модели иметь несколько скинов(en), состоящих из одного или нескольких материалов.

Скины используются в моделях для добавления вариантов их внешнего вида без создания новых моделей.

Plasticcrate01.jpg

Синтаксис

$texturegroup <имя>
{
	{ "<стандартный материал>" } //Скин 0 (стандартный)
	{ "<новый материал>"       } //Скин 1
 	[...]
}
имя
Имя группы текстур.
Icon-Bug.pngБаг:StudioMDL(en) требует имя, но оно никак не используется. Обычно группы текстур называют skinfamilies.  [нужно проверить в ?]
стандартный материал
Название материала(en) (VMT(en)) на референс модели.
новый материал
Название материала(en) (VMT(en)), который будет заменять материал выше.


У моделей с несколькими материалами $texturegroup принимает несколько материалов за строку. При таком использовании первый скин будет указывать заменяющиеся материалы. Если какой-либо материал не указан, то его замена не произойдет, даже если его указать в следующих строках.

$texturegroup <имя>
{
	{ "<стандартный материал 1>" "<стандартный материал 2>" [...] } //Скин 0 (стандартный)
	{ "<новый материал 1>"       "<новый материал 2>"       [...] } //Скин 1
	[...]
}

StudioMDL(en) позволяет использовать до 32 уникальных материалов на модели. Этот лимит встроен в компилятор, но его можно увеличить используя пропатченный StudioMDL(en).

Tip.pngСовет:Если нужно заменить основную текстуру в скине, можно скопировать изначальный материал и изменить его название и его параметр $basetexture
Icon-Bug.pngБаг:Вы должны добавить пробелы между кривыми скобками {} и названием материала. {skin_0} работать не будет, в отличие от { skin_0 }.  [нужно проверить в ?]

Примеры

$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 разрешено, но не рекомендуется. Поведение нескольких групп текстур как минимум неинтуитивно.

Icon-Bug.pngБаг:Количество скинов определяется только первой группой текстур. Это значит, что для того, чтобы получить доступ к другим текстурным группам количество скинов должно превышать 31 (32 в HLMV(en)).  [нужно проверить в ?]
Icon-Bug.pngБаг:$texturegroup не воспринимаются отдельно друг от друга, группы текстур разделяются на части по 32 скина. Не более чем 32 скина могут быть использованы на текстурной группе кроме первой.  [нужно проверить в ?]
Icon-Bug.pngБаг:Каждый материал, изменяемый группой текстур, должен быть указан в первом скине первой группы текстур. Получается, все группы текстур должны иметь одно количество материалов в их первом скине, чтобы материалы не перемешались.  [нужно проверить в ?]

Из-за всех этих проблем несмотря на то, что указано в синтаксисе, использование нескольких $texturegroup команд на самом деле не позволит несколько состояний скина, в отличии от $bodygroup.

Если модель требует несколько состояний текстур, то они должны быть сделаны настройкой скинов в подобной манере:

$texturegroup skinfamilies
{
	{ <состояние 1> <подсостояние 1> }
	{ <состояние 1> <подсостояние 2> }
	{ <состояние 2> <подсостояние 1> }
	{ <состояние 2> <подсостояние 2> }
	[...]
}

Замена материала материалом с таким же именем в другой папке

.. выводит путь поиска материала на директорию выше, тем самым позволяя вам использовать материалы из другой папки, как $popd.
В таком случае добавление новых строк $cdmaterials не требуется.
Если Вы просто хотите использовать другой материал, не имеющий то же самое имя, Вы можете просто использовать ещё одну строку $cdmaterials.

Пример из Left 4 Dead 2 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(en). Также для оптимизации можно использовать $lod и LOD модели(en).
  • Все альтернативные текстуры должны иметь ту же развёртку(en).
  • Хоть StudioMDL(en) и имеет встроенный лимит в 32 уникальных материала, он технически поддерживает до 1024 скинов до тех пор, пока они состоят из 32 материалов.
  • Team Fortress 2 Почти каждая покрашенная под цвет команды модель имеет как минимум 2 скина. Обычно первый скин для команды RED, а второй скин для команды BLU.

See also