Modding:Textures/ru: Difference between revisions
(Created page with "Как только у вас есть правильно наложенная текстура, вы можете назначить ее вашей сущности:") |
Mirotworez (talk | contribs) No edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | |||
{{GameVersion|1.15}} | |||
__FORCETOC__ | __FORCETOC__ | ||
Перед настройкой текстур рекомендуется сначала прочитать страницы [[Basic Item]], [[Basic Block]] и [[Basic Entity]] чтобы понять это руководство. | Перед настройкой текстур рекомендуется сначала прочитать страницы [[Basic Item/ru|базовые предметы]], [[Basic Block/ru|базовые блоки]] и [[Basic Entity/ru|базовые сущности]] чтобы понять это руководство. | ||
Line 129: | Line 131: | ||
<code>texture: { base: "path to texture map" }</code> | <code>texture: { base: "path to texture map" }</code> | ||
=== | === Альтернативные текстуры сущностей === | ||
После определения первой текстуры вы также можете добавить альтернативы к той же сущности. Давайте посмотрим на Волка для примера: | |||
Line 137: | Line 139: | ||
texture: { base: "entity/wolf/wolf1", alternates: [ { base: "entity/wolf/wolf2" }, { base: "entity/wolf/wolf2" }, {...} ] } | texture: { base: "entity/wolf/wolf1", alternates: [ { base: "entity/wolf/wolf2" }, { base: "entity/wolf/wolf2" }, {...} ] } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Каждая последующая альтернатива должна быть пронумерована (начиная с 1). | |||
{{Navbox/modding|Vintage Story}} | {{Navbox/modding|Vintage Story}} |
Latest revision as of 13:04, 14 June 2022
Эта страница проверялась в последний раз для версии Vintage Story 1.15.
Перед настройкой текстур рекомендуется сначала прочитать страницы базовые предметы, базовые блоки и базовые сущности чтобы понять это руководство.
Текстурирование предмета
Плоское текстурирование
Текстурирование ваших предметов и блоков в vintage story довольно простое, но есть некоторые вещи, которые следует учитывать при использовании форм. Начнем с использования плоской текстуры для элемента:
texture: { base: "item/resource/texture" }
Если у вашего элемента есть вариация, вы также можете использовать его в текстурах, даже без функции byType:
texture: { base: "path to texture/texture-{variant}" }
Текстурирование формы
Если ваш элемент отображается с пользовательской формой, используя shape: { base: "path to shape" }
вы можете управлять его текстурами, используя множественную версию "textures". Для этого необходимо использовать один и тот же идентификатор "#texture" который используется на каждой стороне куба формы.
Давайте посмотрим на пример. Сначала мы рассмотрим несколько кубов в форме JSON:
{
"name": "Cube_1",
"from": [ 0.5, 0.0, 2.0 ],
"to": [ 5.5, 1.0, 2.5 ],
"rotationOrigin": [ 1.0, 0.0, -1.0 ],
"faces": {
"north": { "texture": "#metal", "uv": [ 0.0, 0.0, 5.0, 1.0 ] },
"east": { "texture": "#metal", "uv": [ 7.0, 3.0, 7.5, 4.0 ] },
"south": { "texture": "#metal", "uv": [ 1.0, 2.0, 6.0, 3.0 ] },
"west": { "texture": "#metal", "uv": [ 7.0, 0.0, 7.5, 1.0 ] },
"up": { "texture": "#metal", "uv": [ 0.0, 3.0, 5.0, 3.5 ] },
"down": { "texture": "#metal", "uv": [ 0.0, 0.0, 5.0, 0.5 ] }
}
}
{
"name": "Cube_2",
"from": [ 0.5, 0.0, 2.0 ],
"to": [ 5.5, 1.0, 2.5 ],
"rotationOrigin": [ 1.0, 0.0, -1.0 ],
"faces": {
"north": { "texture": "#wood", "uv": [ 0.0, 0.0, 5.0, 1.0 ] },
"east": { "texture": "#wood", "uv": [ 7.0, 3.0, 7.5, 4.0 ] },
"south": { "texture": "#wood", "uv": [ 1.0, 2.0, 6.0, 3.0 ] },
"west": { "texture": "#wood", "uv": [ 7.0, 0.0, 7.5, 1.0 ] },
"up": { "texture": "#wood", "uv": [ 0.0, 3.0, 5.0, 3.5 ] },
"down": { "texture": "#wood", "uv": [ 0.0, 0.0, 5.0, 0.5 ] }
}
}
Теперь мы можем назначить ссылки #texture из нашего элемента или блока JSON, используя этот формат, который также может использовать варианты в обычном формате:
textures: {
"metal": {base: "path to metal texture" },
"wood": {base: "path to wood texture" }
},
Это полезный метод, поскольку как «металл», так и «дерево» могут быть назначены нескольким кубам в форме JSON.
Воксилезированная текстура формы
Если вы решили, что хотите, чтобы вариации элемента не отображались с использованием формы JSON, вы можете использовать свойство "voxelizeTexture" при определении формы. Давайте посмотрим, что делает JSON с красным мясом:
shapebytype: {
"redmeat-vintage": { base: "item/empty", voxelizeTexture: true },
"*": { base: "item/food/meat/red" },
},
texturesbytype: {
"redmeat-raw": {
"meat": {base: "item/food/meat/raw" }
},
"redmeat-cooked": {
"meat": {base: "item/food/meat/cooked" }
},
"redmeat-cured": {
"meat": {base: "item/food/meat/cured" }
},
"redmeat-vintage": {
"item/empty": { base: "item/food/meat/vintage" }
}
},
Здесь мы видим, что только «винтажный» вариант будет отображаться как обычная вокселизированная текстура элемента, в то время как остальные будут использовать форму красного мяса и применять к ней свою текстуру.
Текстурирование блока
Простой блок
Блоки текстурированы немного по-другому, так как по умолчанию они имеют общую форму куба. Это означает, что они не используют единственный «текстурный» метод, а вместо этого всегда используют версию множественных «текстур»:
textures: {
all: {base: "path to texture*"}
},
Текстурирование других граней блоков
При назначении текстур «all» будет давать каждой стороне одну и ту же текстуру, но мы можем легко настроить каждую сторону, особенно если мы хотим использовать некоторые варианты поведения блоков, такие как "Pillar"
или "HorizontalOrientable"
:
textures: {
up: { base: "path to top texture" },
down: { base: "path to bottom texture" },
south: { base: "path to back texture" },
north: { base: "path to front texture" },
west: { base: "path to left texture" },
east: { base: "path to right texture" },
},
Имейте в виду, что если вы используете поведения "Pillar"
или "HorizontalOrientable"
, вам потребуются направленные варианты для каждого (например, updown, northsouth, eastwest и т. Д. ) и вам, скорее всего, придется организовать его, используя функциональность ByType. Прекрасным примером этого является бревна (Pillar) и алтарь (HorizontalOrientable) JSONS.
Текстурирование сущности
Основная текстура сущности
Все сущности используют фигуру, но обычно они применяются с использованием одной текстуры карты сущностей, которая по сути представляет собой файл текстуры с каждой стороной куба, нанесенной на нее. Делать это вручную было бы невероятно утомительно, и лучше всего это сделать с помощью редактора Vintage Story Model Builder здесь.
Как только у вас есть правильно наложенная текстура, вы можете назначить ее вашей сущности:
texture: { base: "path to texture map" }
Альтернативные текстуры сущностей
После определения первой текстуры вы также можете добавить альтернативы к той же сущности. Давайте посмотрим на Волка для примера:
texture: { base: "entity/wolf/wolf1", alternates: [ { base: "entity/wolf/wolf2" }, { base: "entity/wolf/wolf2" }, {...} ] }
Каждая последующая альтернатива должна быть пронумерована (начиная с 1).
Wondering where some links have gone?
The modding navbox is going through some changes! Check out Navigation Box Updates for more info and help finding specific pages.
Modding | |
---|---|
Modding Introduction | Getting Started • Пакет тем |
Content Modding | Content Mods • Developing a Content Mod • Basic Tutorials • Intermediate Tutorials • Advanced Tutorials • Content Mod Concepts |
Code Modding | Code Mods • Setting up your Development Environment |
Property Overview | Item • Entity • Block • Block Behaviors • Block Classes • Block Entities • Block Entity Behaviors • World properties |
Workflows & Infrastructure | Modding Efficiency Tips • Mod-engine compatibility • Mod Extensibility • VS Engine |
Additional Resources | Community Resources • Modding API Updates • Programming Languages • List of server commands • List of client commands • Client startup parameters • Server startup parameters Example Mods • API Docs • GitHub Repository |