Admin (обсуждение | вклад) (→Подключение) |
Admin (обсуждение | вклад) (→Слои генерации) |
||
Строка 70: | Строка 70: | ||
},</syntaxhighlight> | },</syntaxhighlight> | ||
− | + | Рассмотрим каждую часть кода подробнее:<ul><li class="mw_paragraph">range - диапазон высоты, в котором работает генерация. В данном примере ландшафт будет генерироваться на высоте 0-80 блоков. Единственный обязательный параметр.</li><li class="mw_paragraph">noise - описание [https://ru.wikipedia.org/wiki/Шум_Перлина шума Перлина], лежащего в основе генерации Подробнее в разделе [#h17sjgmldkil1on4brwi27i3pubts6s Карты шума]. Таких шумов может несколько, в таком случае их следует записывать в виде массива и они будут накладываться.</li><li class="mw_paragraph">heights - сродни noise, но накладывается поверх шума. Имеет такой же формат. Используется для генерации мелких биомов (речки, горы)<div class="mw-parser-output"></div><div class="mceNonEditableOverlay"></div></li><li class="mw_paragraph">gradient - описание функции [https://ru.wikipedia.org/wiki/Градиент градиента], которая будет применена к шуму. Отвечает за то, как примерно будет выглядеть ландшафт. Задается в виде набора точек. Между точками интерполируется (соединяется плавной кривой).</li><li class="mw_paragraph"><br class="single_linebreak"/></li></ul></div><h3 class="mw_paragraph" id="h17sjgmldkil1on4brwi27i3pubts6s">Карты шума</h3> |
Dimensions - библиотека, значительно упрощающая процесс создания измерений. В этой документации будут описаны ее основные возможности и функционал.
Для подключения данной библиотеки используется следующая строка:
IMPORT("dimensions");
Для генерации измерения используется объектDimension. В конструктор передаются параметры, связанные с измерением в следующем формате:
var dim007 = new Dimension({
name: "dim007", // Название измерения
generation: { //Генерация
layers: [
//Слои генерации
],
decoration: {
}
},
environment: {
},
callbacks: {
// Основные коллбеки измерения
// Здесь приведены все коллбеки измерений, ненужные можно опустить.
tick: function() {
},
generateChunk: function(chunkX, chunkZ) {
// Генерация чанка
},
loaded: function() {
// Загрузка измерения
},
loaded: function() {
// Выгрузка измерения
}
});
Основной единицей генерации является слой. Слоев может быть несколько и каждый из них отвечает за отдельную часть генерации ландшафта: различные биомы, слой бедрока, метеориты, парящие в воздухе. Каждый слой представляет из себя json-объект следующего содержания:
{
range: [0, 80],
noise: {
octaves: {
count: 4,
weight: 0.6,
scale: [1, 0.4, 1]
}
},
gradient: [[-1, 0.8], [-0.6, 0.5], [-0.2, 0.2], [0.2, 0.9], [0.6, 0.7], [1, 0.1]],
terrain: {
base: 1,
cover: {
height: 4,
top: 2,
block: 3
},
}
},