Modding:WorldGen Configuration/ru: Difference between revisions

From Vintage Story Wiki
(Created page with "=== Y-пороги ===")
(Created page with "Вы можете пробовать и ошибаться очень быстро, без необходимости перезапускать игру каждый раз,...")
 
(5 intermediate revisions by the same user not shown)
Line 49: Line 49:
=== Y-пороги ===
=== Y-пороги ===


Imagine you had a side view of a mountain and you could make it wider and thinner at any given elevation. This is approximately how the y-threshold system works. terrainYKeyPositions are the relative (0=bottom, 1=top of the world) coordinates and terrainYKeyThresholds define how much Percent of terrain should be solid blocks (0 = always solid, 1 = always air), or in other words it's density. We could also make a graph of this:
Представьте, что у вас есть вид на гору сбоку, и вы можете сделать ее шире и тоньше на любой заданной высоте. Примерно так работает система y-порога. TerrainYKeyPositions — это относительные (0 = дно, 1 = вершина мира) координаты, а TerrainYKeyThresholds определяют, сколько процентов ландшафта должно быть сплошными блоками (0 = всегда твердый, 1 = всегда воздух), или, другими словами, его плотность. Мы также можем построить график этого:


[[File:Densitygraph.png]]
[[File:Densitygraph.png]]


In this example at maximum world height the density is 0, so there will always be air blocks. In the middle we have a jump where the y-position changes, but not the density, so this will create cliffs in the mountain. On the lower end the opposite happens. The Y-Position changes very little but it's density increases a lot. If that position happens to be at the sealevel we would get flat beaches. The default sealevel y-position is 0.43
В этом примере на максимальной высоте мира плотность равна 0, поэтому всегда будут воздушные блоки. Посередине у нас есть прыжок, где изменяется положение по оси Y, но не плотность, так что это создаст обрывы в горе. На нижнем конце происходит обратное. Y-позиция меняется очень мало, но ее плотность сильно увеличивается. Если это положение окажется на уровне моря, мы получим плоские пляжи. Положение Y на уровне моря по умолчанию равно 0,43.
And below a certain y-position the density is always 1. If we would set that to a lower value, we would get very deep lakes.
И ниже определенного y-положения плотность всегда равна 1. Если бы мы установили это значение на более низкое значение, мы получили бы очень глубокие озера.


The amount of configurable Y-Thresholds is arbitrary you may use any quantity, just make sure both lists have the same amount of elements. However, it wouldn't make sense to configure more than 256 thresholds for a world height of 256 blocks.
Количество настраиваемых Y-порогов произвольно, вы можете использовать любое количество, просто убедитесь, что оба списка имеют одинаковое количество элементов. Однако не имеет смысла настраивать более 256 порогов для высоты мира в 256 блоков.


You can build such graph using the new [http://tyron.at/vs/landformcreator.html world gen tool]
Вы можете построить такой график, используя новый [http://tyron.at/vs/landformcreator.html инструмент генерации мира]


=== Testing Landforms ===
=== Тестирование форм рельефа ===


You can trial&error landforms very quickly without the need to restart the game every time you made changes to the landforms.json
Вы можете пробовать и ошибаться очень быстро, без необходимости перезапускать игру каждый раз, когда вы вносите изменения в landforms.json.
<ol>
<ол>
<li><code>/wgen autogen 0</code> - disables automatic generation of chunks</li>
<li><code>/wgen autogen 0</code> — отключает автоматическую генерацию фрагментов</li>
<li><code>/wgen del 10</code> - delete all chunks with a radius 10 chunks (Warning: Cannot be undone!)</li>
<li><code>/wgen del 10</code> - удалить все фрагменты радиусом 10 фрагментов (Внимание: нельзя отменить!)</li>
<li><code>/wgen regen 5</code> - Reloads the landforms.json then deletes and regenerates all chunks with a radius of 5 chunks</li>
<li><code>/wgen regen 5</code> – перезагружает файл landforms.json, затем удаляет и создает заново все фрагменты с радиусом 5 фрагментов.</li>
</ol>
</ol>
{{Navbox/modding|Vintage Story}}
{{Navbox/modding|Vintage Story}}

Latest revision as of 05:54, 21 September 2022

Эта страница проверялась в последний раз для версии Vintage Story 1.15.

Other languages:

== Рельеф ==

Формы рельефа определяют форму местности. Давайте посмотрим на существующую форму рельефа.

{
	"code": "landforms",
	"variants": 
	[
		{
			"code":  "humongous mountain",
			"comment": "humongous mountains with caverns in them",
			"hexcolor": "#5BC184",
			"weight": 2,
			"useClimateMap": false,
			"terrainOctaves":          [0, 0, 0, 0, 1,   1, 1, 1, 0.6, 0.2],
			"terrainOctaveThresholds": [0, 0, 0, 0, 0.5, 0, 0,   0,   0, 0],
			"terrainYKeyPositions":    [0, 0.33, 0.37, 0.42, 0.43, 0.5, 0.6, 0.7, 0.9, 0.97, 1],
			"terrainYKeyThresholds":   [1,    1, 0.87, 0.84, 0.7, 0.94, 1, 1, 0.1, 0.05, 0]
		},
	]
}


В работе есть 2 системы, которые позволяют вам контролировать форму ландшафта — октавы и Y-пороги.

Октавы

Если вы знаете шум перлина, вы знаете, что это такое, но краткое объяснение низких октав даст вам очень гладкую местность, тогда как высокие октавы дадут вам пересеченную / хаотичную местность. Вы можете свободно смешивать матч между ними. Примеры:

  • terrainOctaves: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0] даст вам очень постепенно меняющийся ландшафт
  • terrainOctaves: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1] дало бы вам очень пересеченную и хаотичную местность

Пороги октавы

Они действуют как вычитатель октав. Это позволяет вам, например, создать плоскую местность с несколькими редкими неровностями, установив что-то вроде этого:

terrainOctaves: [1, 1, 1, 0, 0, 0, 1, 0, 0, 0],
terrainOctaveThresholds: [0, 0, 0, 0, 0, 0, 0.7, 0, 0, 0],

Это приводит к тому, что 7-я октава активна только 30% времени, так как большая ее часть вычитается.

Примечание. Количество октав всегда фиксировано и равно 10. Вы не можете настроить меньше или больше 10.

Y-пороги

Представьте, что у вас есть вид на гору сбоку, и вы можете сделать ее шире и тоньше на любой заданной высоте. Примерно так работает система y-порога. TerrainYKeyPositions — это относительные (0 = дно, 1 = вершина мира) координаты, а TerrainYKeyThresholds определяют, сколько процентов ландшафта должно быть сплошными блоками (0 = всегда твердый, 1 = всегда воздух), или, другими словами, его плотность. Мы также можем построить график этого:

Densitygraph.png

В этом примере на максимальной высоте мира плотность равна 0, поэтому всегда будут воздушные блоки. Посередине у нас есть прыжок, где изменяется положение по оси Y, но не плотность, так что это создаст обрывы в горе. На нижнем конце происходит обратное. Y-позиция меняется очень мало, но ее плотность сильно увеличивается. Если это положение окажется на уровне моря, мы получим плоские пляжи. Положение Y на уровне моря по умолчанию равно 0,43. И ниже определенного y-положения плотность всегда равна 1. Если бы мы установили это значение на более низкое значение, мы получили бы очень глубокие озера.

Количество настраиваемых Y-порогов произвольно, вы можете использовать любое количество, просто убедитесь, что оба списка имеют одинаковое количество элементов. Однако не имеет смысла настраивать более 256 порогов для высоты мира в 256 блоков.

Вы можете построить такой график, используя новый инструмент генерации мира

Тестирование форм рельефа

Вы можете пробовать и ошибаться очень быстро, без необходимости перезапускать игру каждый раз, когда вы вносите изменения в landforms.json. <ол>

  • /wgen autogen 0 — отключает автоматическую генерацию фрагментов
  • /wgen del 10 - удалить все фрагменты радиусом 10 фрагментов (Внимание: нельзя отменить!)
  • /wgen regen 5 – перезагружает файл landforms.json, затем удаляет и создает заново все фрагменты с радиусом 5 фрагментов.
  • Icon Sign.png

    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 ItemEntityBlockBlock BehaviorsBlock ClassesBlock EntitiesBlock Entity BehaviorsWorld properties
    Workflows & Infrastructure Modding Efficiency TipsMod-engine compatibilityMod ExtensibilityVS Engine
    Additional Resources Community Resources Modding API Updates Programming Languages List of server commandsList of client commandsClient startup parametersServer startup parameters
    Example ModsAPI DocsGitHub Repository