Modding:Конфигурация WorldGen

From Vintage Story Wiki
This page is a translated version of the page Modding:WorldGen Configuration and the translation is 100% complete.

Эта страница проверялась в последний раз для версии 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.