Основы редактора планет в Spaceflight Simulator

В этой статье даются основы о том, как редактировать файлы небесных тел в текущей версии Spaceflight Simulator (1.5.10.2)
Aka наследие от Артура Сафиуллина

Ого! Оглавление исчезло! Навигация перешла в другие главы!

Расположение файлов

Имейте в виду, что для МОБИЛЬНОЙ версии потребуется заранее приобрести дополнение с планетами

-

Формат файла контента

Где оно в МОБИЛЬНОЙ версии игры

Особенности

Где оно в КОМПЬЮТЕРНОЙ версии игры

Планетарные системы

Именная папка с 3 папками: «Heightmap Data», «Planet Data», «Texture Data», с 3 конфигами: Import_Settings.txt, Space_Center_Data.txt, Version.txt

.../Android/data/com.StefMorojna.SpaceflightSimulator/files/Custom Solar Systems

Требуется дополнение с планетами на МОБИЛЬНОЙ версии игры

[папка установки]\Spaceflight Simulator Game\Spaceflight Simulator_Data\Custom Solar Systems

Для начала работы с новой системой планет переименуйте из указанного выше расположения папку "Example"(не беспокойтесь об потере этой папки, она восстанавливается перезаходом в игру)

Глоссарий ко всей этой статье

Небесное тело = НТ
Планетарная система, система планет = СП
Числовое значение = ЧЗНАЧ
Значение true или false = T/F
Название текстуры из папки Texture Data = ТЕКСТУРА

Файловая структура систем планет

Поверхностные объяснения того, что обозначает каждая папка и текстовая конфигурация в папке каждой СП

Основы редактора планет в Spaceflight Simulator, image #1
  1. Heightmap Data — В этой папке хранятся «формы», из которых создаётся ландшафт или же рельеф.
    —»—» Научим вас это редактировать в следующей статье «—«—
  2. Planet Data — В этой папке хранятся конфигурации НТ, в которых упасены все их параметры.
    —»—» Жми сюда для быстрого перехода к этому обучению «—«—
  1. Texture Data — В этой папке хранятся все текстуры к перечисленному: атмосферам, кольцам, небесным телам, поверхностям НТ.
    —»—» Жми сюда для быстрого перехода к этому обучению «—«—
  2. Import_Settings.txt — Это конфигурация целой СП.
    —»—» Жми сюда для быстрого перехода к этому обучению «—«—
  3. Space_Center_Data.txt — Это конфигурация местоположения космического центра, в первую очередь местоположение стартовой площадки.
    —»—» Жми сюда для быстрого перехода к этому обучению «—«—
  1. Version.txt — Тут указана версия игры, в которой создана папка Example с системой. Этот файл хоть и не имеет ценности, рекомендуется(автором статьи) его сохранить в целостности.

Planet Data

»» Перейти в главу навигации ««

Принципы построения файловой структуры этой папки

Что вы ожидаете увидеть в папке Example
Что вы ожидаете увидеть в папке Example

Игра считывает с этой папки конфигурации НТ.
Эти конфигурации должны быть формата «.txt».
Название конфигурации определяет название НТ в игре.
Названия файлов нужны для создания орбит одних тел вокруг других.

Ньюансы:

Названия всех(на данный момент их четырнадцать) изначально созданных НТ из папки Example установливается файлом перевода игры.

Иерархия строк в файле конфигурации небесного тела

Для начала разберём иерархию строчек в файле конфигурации любого НТ. Обязательные группы строк напрямую необходимы для существования НТ, а независимые группы строк являются не обязательным дополнением к ним.
И кстати, все группы строк можно перемешивать в любом порядке(не только в варианте предложенным игрой) и СП от этого не сломается.
Внизу будут указаны и малые группы строк, это группы строк, которые являются частью обязательной или независимой групп строк.

Обязательные группы строк:

"BASE_DATA": — Отвечает за размер, цвет на карте, гравитацию, камеру.
—»—» Жми сюда для быстрого перехода к информации про это «—«—

"ORBIT_DATA": — Отвечает за параметры орбиты, эта группа строк не нужна только для того, что является центром системы планет.
—»—» Жми сюда для быстрого перехода к информации про это «—«—

Независимые группы строк:

"ATMOSPHERE_PHYSICS_DATA": — Отвечает за физические параметры атмосферы, например её плотность.
—»—» Жми сюда для быстрого перехода к информации про это «—«—

"ATMOSPHERE_VISUALS_DATA": — Отвечает за текстуру атмосферы и её текстуру её облаков.
—»—» Жми сюда для быстрого перехода к информации про это «—«—

"TERRAIN_DATA": — Отвечает за текстуру НТ, поверхности, рельеф, прорисовку, осязаемость поверхности, камни на поверхности. При отсутствии группы строк даёт всему НТ чисто белую текстуру, ровный и неосязаемый рельеф.
—»—» Жми сюда для быстрого перехода к информации про это «—«—

"POST_PROCESSING": — Фильтры для камеры, оттенки, резкость, интенсивность звёзд - всё сюда.
—»—» Жми сюда для быстрого перехода к информации про это «—«—

"ACHIEVEMENT_DATA": — Определяет, какие достижения будут, а какие не будут.
—»—» Жми сюда для быстрого перехода к информации про это «—«—

"LANDMARKS": — Редактирование именованных точек, являющихся достопримечательностями на НТ.
—»—»
Жми сюда для быстрого перехода к информации про это «—«—

Возьмём из папки Planet Data файл(слегка изменённый) Earth.txt и разберём каждую её строку:

{
 "version": "1.5",
 "BASE_DATA": {
 "radius": 315000.0,
 "radiusDifficultyScale": {},
 "gravity": 9.8,
 "gravityDifficultyScale": {},
 "timewarpHeight": 25000.0,
 "velocityArrowsHeight": 5000.0,
 "mapColor": {
 "r": 0.45,
 "g": 0.68,
 "b": 1.0,
 "a": 1.0
 },
 "significant": true,
 "rotateCamera": true
 },

"version": Показывает версию игры при которой был создан конфиг небесного тела.
—> Значение этой строчки никогда не меняйте, иначе у вас СП поломается <—
+Эта строка обязательна для всех конфигов НТ+

"BASE_DATA": «←→»

  • "radius": Радиус небесного тела в метрах. Радиус - это значение длины между поверхностью планеты и её центром. Это значение - высота поверхности.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "radiusDifficultyScale": Множитель параметра указанного выше в соответствии с сложностью игры.
    —> Это 1-й тип значения зависимого от сложности игры, не забудьте связанный с ними ньюанс <—
    +Именно эта малая группа строк не обязательна для "BASE_DATA":+
  • "gravity": ускорение силы тяжести в метрах в секунду в квадрате (м/с2) (или же просто значение силы гравитации планеты)
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "gravityDifficultyScale": Множитель параметра указанного выше в соответствии с сложностью игры.
    —> Это 2-й тип значения зависимого от сложности игры, не забудьте связанный с ними ньюанс <—
    +Именно эта малая группа строк не обязательна для "BASE_DATA":+
  • "timewarpHeight": Высота(от поверхности) в метрах, начиная с которой можно значительно сильнее ускорять время.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "velocityArrowsHeight": Высота(от поверхности) в метрах, начиная с которой показывается вертикальная и горизонтальная скорость ракеты при посадке.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
    +Именно это значение не обязательно для "BASE_DATA":+
  • "mapColor": Цвет планеты, который вы видите при осмотре карты. строчка "а": указывает прозрачность, остальные строчки - цвета RGB(Red, Green, Blue). При удалении всей строчки там будет значение { "r": 0.5, "g": 0.5, "b": 0.5, "a": 1.0}
    —> Это значение цветовое, не забудьте связанный с ними ньюанс <—
    +Именно эта малая группа строк не обязательна для "BASE_DATA":+
  • "significant": Скрывает название и орбиту НТ если не сфокусироваться на ней, пример работы скрытия - Captured Asteroid.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
    +Именно это значение не обязательно для "BASE_DATA":+
  • "rotateCamera": Будет ли вращаться камера относительно поверхности при высоте ниже чем у "timewarpHeight":
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
    +Именно это значение не обязательно для "BASE_DATA":+
Пример "BASE_DATA":
Пример "BASE_DATA":
"ATMOSPHERE_PHYSICS_DATA": {
"height": 30000.0,
"density": 0.005,
"curve": 10.0,
"curveScale": {},
"parachuteMultiplier": 1.0,
"upperAtmosphere": 0.333,
"heightDifficultyScale": {},
"shockwaveIntensity": 1.0,
"minHeatingVelocityMultiplier": 1.0,
"hasOxyden": true
},

"ATMOSPHERE_PHYSICS_DATA": «←→»

  • "height": Высота(от поверхности) до какой работает физика атмосферы в метрах.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "density": Плотность атмосферы у поверхности, значение 0.005 равно плотности 1 атмосферы. При значении 0 наслаждайтесь вакуумом.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "curve": Отвечает за градиент плотности атмосферы в зависимости с высотой, значение 10 - атмосфера равномерно теряет плотность с высотой, значение <7 означает, что атмосфера вначале исчезает медленнее, затем исчезает быстрее, а кривая >13 означает, что атмосфера вначале исчезает быстрее, затем медленнее. При значении 0 у атмосферы одинаковая плотность на каждой высоте, которая потом резко обрывается вакуумом.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "curveScale": Множитель параметра указанного выше в соответствии с сложностью игры.
    —> Это 2-й тип значения зависимого от сложности игры, не забудьте связанный с ними ньюанс <—
    +Именно эта малая группа строк не обязательна для "ATMOSPHERE_PHYSICS_DATA":+
  • "parachuteMultiplier": Множитель максимальной высоты раскрытия парашютов, значение 1.0 = 2500 метров
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
    +Именно это значение не обязательно для "ATMOSPHERE_PHYSICS_DATA":+
  • "upperAtmosphere": Множитель конца высоты плотных слоёв атмосферы. Эта высота = значение "height": умноженное на этот множитель. Диапазон этого ЧЗНАЧ - 0.0-1.0, при значении 1 - плотная атмосфера начнётся сразу с входа в атмосферу.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "heightDifficultyScale": Множитель параметра высоты "height": физической и визуальной(текстуры) атмосферы.
    —> Это 3-й тип значения зависимого от сложности игры, не забудьте связанный с ними ньюанс <—
    +Именно эта малая группа строк не обязательна для "ATMOSPHERE_PHYSICS_DATA":+
  • "shockwaveIntensity": Множитель силы тряски камеры при горении в атмосфере.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
    +Именно это значение не обязательно для "ATMOSPHERE_PHYSICS_DATA":+
  • "minHeatingVelocityMultiplier": Множитель минимальной скорости сгорания в атмосфере. Допустим у вас плотность атмосферы 0.005, тогда если вы тут в значении укажете 2.0, то вы будете гореть в ней как в атмосфере с плотностью 0.01
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
    +Именно это значение не обязательно для "ATMOSPHERE_PHYSICS_DATA":+
  • "hasOxyden": будет ли у НТ кислород, когда добавят кислород в игру, наличие этой строчки не обязательно, но может использоваться в будущих обновлениях с космонавтами. Автор узнал об этой строчке через эту статью.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
    +Именно это значение не обязательно для "ATMOSPHERE_PHYSICS_DATA":+
Пример "ATMOSPHERE_PHYSICS_DATA":
Пример "ATMOSPHERE_PHYSICS_DATA":
"ATMOSPHERE_VISUALS_DATA": {
"GRADIENT": {
"positionZ": 4000,
"height": 45000.0,
"texture": "Atmo_Earth"
},
"CLOUDS": {
"texture": "Earth_Clouds",
"startHeight": 1200.0,
"width": 40845.87,
"height": 36000.0,
"alpha": 0.1,
"velocity": 2.0
},
"FOG": {
"keys": [
{
"color": {
"r": 0.461872876,
"g": 0.463235319,
"b": 0.3644572,
"a": 0.09803922
},
"distance": 500.0
},
{
"color": {
"r": 0.647058845,
"g": 0.848739564,
"b": 0.891,
"a": 0.117647059
},
"distance": 3000.0
},
{
"color": {
"r": 0.647058845,
"g": 0.848739564,
"b": 1.0,
"a": 0.416
},
"distance": 30000.0
}
]
}
},

"ATMOSPHERE_VISUALS_DATA": «←→»

  • "GRADIENT": Малая группа строк отвечающая за текстуру атмосферы.
    +Про изменение текстуры атмосферы есть отдельная статья.+
  1. "pozitionZ": Насколько текстура уходит вниз/вверх относительно поверхности.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  2. "height": Высота(от поверхности) до какой растянута текстура атмосферы в метрах. Высота в зависимости от сложности игры зависит от "heightDifficultyScale": из "ATMOSPHERE_PHYSICS_DATA":
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  3. "texture": выбор текстуры для атмосферы.
    —> Это значение ТЕКСТУРА, не забудьте связанный с ними ньюанс <—
    +У нас есть особый архив с ранее недоступными ванильными текстурами для НТ+
  • "CLOUDS": Малая группа строк отвечающая за текстуру облаков.
  1. "texture": Выбор текстуры для облаков.
    —> Это значение ТЕКСТУРА, не забудьте связанный с ними ньюанс <—
    +У нас есть особый архив с ранее недоступными ванильными текстурами для НТ+
  2. "startHeight": Высота в метрах от поверхности, с которой начинается текстура облаков.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  3. "width": Ширина текстуры облаков в метрах.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  4. "height": Высота текстуры облаков в метрах.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  5. "alpha": Насколько текстура облаков прозрачная в диапазоне 0.0-1.0, 1.0 - прозрачная как сама текстура, 0.0 - невидимая.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  6. "velocity": Скорость движения облаков в метрах в секунду, положительное значение = движение облаков по часовой стрелке.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "FOG": Малая группа строк отвечающая за туман, который используется для покрытия части или всей планеты или всей поверхности планеты из-за наличия атмосферы.
  1. "keys": Ещё одна малая группа строк делающая тоже самое что малая группа строк выше. Строки 1.1. и 1.2. можно дублировать, чтобы например при отдалении туман постепенно рассеялся или поменял свой оттенок.
    +Именно содержимое этой малой группы строк не обязательно для "ATMOSPHERE_VISUALS_DATA":+

1.1. "color": Цвет накладываемый на текстуру планеты, который вы видите в режиме полёта. строчка "а": указывает прозрачность, остальные строчки - цвета RGB(Red, Green, Blue). При удалении всей строчки там будет значение { "r": 0.0, "g": 0.0, "b": 0.0, "a": 0.0}
—> Это значение цветовое, не забудьте связанный с ними ньюанс <—

1.2. "distance": Показывает, на сколько уменьшить масштаб в режиме карты, чтобы увидеть туман.
—> Это значение числовое, не забудьте связанный с ними ньюанс <—

Атмосфера Венеры в пример "ATMOSPHERE_VISUALS_DATA":
Атмосфера Венеры в пример "ATMOSPHERE_VISUALS_DATA":
"TERRAIN_DATA": {
"TERRAIN_TEXTURE_DATA": {
"planetTexture": "Earth",
"planetTextureCutout": 1.0,
"surfaceTexture_A": "Blured",
"surfaceTextureSize_A": {
"x": 20.0,
"y": 8.0
},
"surfaceTexture_B": "None",
"surfaceTextureSize_B": {
"x": -1.0,
"y": -1.0
},
"terrainTexture_C": "Blured",
"terrainTextureSize_C": {
"x": 100.0,
"y": 30.0
},
"surfaceLayerSize": 40.0,
"minFade": 0.0,
"maxFade": 1.0,
"shadowIntensity": 6.0,
"shadowHeight": 15.0
},
"terrainFormulaDifficulties": {
"Normal": [
"OUTPUT = AddHeightMap(Perlin,19030.8016515536, 35)",
"OUTPUT = AddHeightMap(Perlin,2452.54445075783, 5)",
"OUTPUT = AddHeightMap(Perlin,1319.46891450771, 1)"
]
},
"textureFormula": [],
"verticeSize": 4.0,
"collider": true,
"flatZones": [
{
"height": 18.0,
"angle": 1.5707,
"width": 900.0,
"transition": 200.0
}
],
 "rocks": {
"rockType": "Rock Round",
"rockDensity": 0.9,
"minSize": 0.12,
"maxSize": 0.32,
"powerCurve": 2.5,
"maxAngle": 45.0
}
},

"TERRAIN_DATA": «←→»

  • "TERRAIN_TEXTURE_DATA": Малая группа строк с параметрами отвечающими за текстуры НТ, текстуры её поверхности, тени и блики поверхности.
  1. "planetTexture": Выбор текстуры для всей планеты.
    —> Это значение ТЕКСТУРА, не забудьте связанный с ними ньюанс <—
    +У нас есть особый архив с ранее недоступными ванильными текстурами для НТ+
  2. "planetTextureCutout": ЧЗНАЧ определяющий насколько обрезано от исходного изображения. Если значение в диапазоне 0-1, то текстура будет обрезаться. а если значение >1, то текстура будет расширяться по типу копирования. А если значение отрицательное, то текстура перевернётся.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  3. "surfaceTexture_A": Выбор текстуры для 1 слоя текстуры у поверхности.
    —> Это значение ТЕКСТУРА, не забудьте связанный с ними ньюанс <—
    +У нас есть особый архив с ранее недоступными ванильными текстурами для НТ+
  4. "surfaceTextureSize_A": Определение в метрах размеров текстуры А из строчки выше. Это значение заполняется строчкой { "x": ЧЗНАЧ, "y": ЧЗНАЧ }. Если вы хотите чтобы у поверхности не была текстура то ставим строчке выше значение "Ice", и строчку размеров текстуры заполняем только значениями -1.0
    —> Эти значения числовые, не забудьте связанный с ними ньюанс <—
  5. "surfaceTexture_B": Выбор текстуры для 2 слоя текстуры у поверхности.
    —> Это значение ТЕКСТУРА, не забудьте связанный с ними ньюанс <—
    +У нас есть особый архив с ранее недоступными ванильными текстурами для НТ+
  6. "surfaceTextureSize_B": Определение в метрах размеров текстуры А из строчки выше. Это значение заполняется строчкой { "x": ЧЗНАЧ, "y": ЧЗНАЧ }. Если вы хотите чтобы у поверхности не была текстура то ставим строчке выше значение "Ice", и строчку размеров текстуры заполняем только значениями -1.0
    —> Эти значения числовые, не забудьте связанный с ними ньюанс <—
  7. "surfaceTexture_C": Выбор текстуры для 3 слоя текстуры у поверхности.
    —> Это значение ТЕКСТУРА, не забудьте связанный с ними ньюанс <—
    +У нас есть особый архив с ранее недоступными ванильными текстурами для НТ+
  8. "surfaceTextureSize_C": Определение в метрах размеров текстуры А из строчки выше. Это значение заполняется строчкой { "x": ЧЗНАЧ, "y": ЧЗНАЧ }. Если вы хотите чтобы у поверхности не была текстура то ставим строчке выше значение "Ice", и строчку размеров текстуры заполняем только значениями -1.0
    —> Эти значения числовые, не забудьте связанный с ними ньюанс <—
  9. "surfaceLayerSize": Глубина 1 и 2 слоя текстур поверхности в метрах.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  10. "minFade": Минимальное значение затухания текстур рельефа
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  11. "maxFade": Максимальное значение затухания текстур рельефа
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  12. "shadowIntensity": Насколько темны тени и ярки блики на склонах рельефа.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  13. "shadowHeight": Насколько длинны тени и блики на склонах рельфа.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "textureFormula": Эта малая группа строк отвечает за подстройку текстур под ландшафт, лучше оставьте её значение пустым, автор этой статьи не знает, как с этой строкой работать.
    —> Автор этой статьи никогда не расскажет про эту строку <—
  • "verticeSize": Значение этой строки отвечает за качество прорисовки ландшафта, чтобы вы не ездили по пустоте, так как ландшафт не прогрузился. Однако это значение пропорционально с качеством затрагивает лаги в игре. Значение 10.0 и более применимо к большим планетам с плавным ландшафтом, это оптимизированно. Значение в диапазане 3.0-0.15 делает неровный ландшафт детализированным даже на большом отдалении.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "collider": Значение отвечающие на осязаемость ваших построек с поверхностью, отлючайте это значение, если вы делаете звезду или газового гиганта.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
    +Именно это значение не обязательно для "TERRAIN_DATA":+
  • "flatZones": Эта малая группа строк отвечает за ровные поверхности на ландшафте, именно она делает ровную поверхность для стартовой площадки. Строки этой малой группы строк можно дублировать, чтобы у вас было несколько платформ
    +Именно эта малая группа строк не обязательна для "TERRAIN_DATA":+
  1. "height": Высота(относительно поверхности) ровной платформы в метрах, Значение может быть отрицательным.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  2. "angle": Градус НТ на котором будет установлена платформа, для справки: 1.5707 = 90°(оригинальное местоположение стартовой площадки), 0.0 = 0°(крайняя правая точка НТ), 3.1414 = 180°(крайняя левая точка НТ).
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  3. "width": Ширина платформы в метрах, при отрицательном или нулевом значении платформы не будет.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  4. "transition": Ширина основания платформы в метрах, чем больше значение тем плавнее будет переход от платформы к поверхности.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "rocks": Эта малая группа строк создаёт на поверхности малые или большие камушки, смотря как их создать.
    +Именно эта малая группа строк не обязательна для "TERRAIN_DATA":+
  1. "rockType": Отвечает за то какой формы будут камни(круглые или квадратные соответственно), все доступные варианты для этого значения: "Rock Round", "Rock Square".
  2. "rockDensity": Отвечает за плотность взаиморасположения камней, больше значении → камни лежат плотнее.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  3. "minSize": Минимальный размер камней в метрах.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  4. "maxSize": Максимальный размер камней в метрах.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  5. "powerCurve": Соотношение встречаемости маленьких камней к большим, при значении «1» малые и крупные камни будут в одинаковом соотношении. При значении >1 малых камней будет в столько раз больше чем крупных. При значении от «0» до «1» больших камней будет больше мелких.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  6. "maxAngle": Максимальный градус угла наклона каждого камня относительно рельефа(максимальное значение это «45» и числа кратные ему).
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
1 Пример
2 Пример
3 Пример
1 of 3
1 Пример
"TERRAIN_DATA":
"POST_PROCESSING": {
"keys": [
{
"height": 0.0,
"shadowIntensity": 1.35,
"starIntensity": 0.0,
"hueShift": 0.0,
"saturation": 0.95,
"contrast": 1.2,
"red": 1.03,
"green": 1.02,
"blue": 1.0
},
{
"height": 7000.0,
"shadowIntensity": 1.5,
"starIntensity": 0.0,
"hueShift": 0.0,
"saturation": 0.95,
"contrast": 1.2,
"red": 1.0,
"green": 1.0,
"blue": 1.0
},
{
"height": 25000.0,
"shadowIntensity": 1.75,
"starIntensity": 0.0,
"hueShift": 0.0,
"saturation": 0.95,
"contrast": 1.2,
"red": 1.0,
"green": 1.0,
"blue": 1.0
},
{
"height": 40000.0,
"shadowIntensity": 1.75,
"starIntensity": 0.0,
"hueShift": 0.0,
"saturation": 0.95,
"contrast": 1.2,
"red": 1.0,
"green": 1.0,
"blue": 1.0
},
{
"height": 50000.0,
"shadowIntensity": 1.75,
"starIntensity": 1.0,
"hueShift": 0.0,
"saturation": 0.95,
"contrast": 1.2,
"red": 1.0,
"green": 1.0,
"blue": 1.0
}
]
},

"POST_PROCESSING": «←→»

  • "keys": Малая группа строк в которой хранятся фильтры на камеру игрока. Строки этой малой группы строк можно дублировать, чтобы например при отдалении ракеты игрока от НТ на камеру накладывались разные фильтры.
    +Именно содержимое этой малой группы строк не обязательна для "POST_PROCESSING":+
  1. "height": Начиная с какой высоты от поверхности на камеру игрока наложатся данные фильтров из строк ниже.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  2. "shadowIntensity": Насколько тёмными будут тени на аппарате, при отрицательном значении даёт вместо теней свечение. При значении 0 все текстуры становятся плоскими.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  3. "starIntensity": Насколько будут яркими звёзды на заднем фоне.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  4. "hueShift": Изменение оттенков и ракеты и планеты.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  5. "saturation": Насыщенность цветов всей ракеты.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  6. "contrast": Контраст цветов всей ракеты.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  7. "red": ЧЗНАЧ в диапазоне 0.0-1.0, относится к RGB(Red, Green, Blue).
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  8. "green": ЧЗНАЧ в диапазоне 0.0-1.0, относится к RGB(Red, Green, Blue).
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  9. "blue": ЧЗНАЧ в диапазоне 0.0-1.0, относится к RGB(Red, Green, Blue).
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
Пример "POST_PROCESSING":
Пример
"POST_PROCESSING":
"ORBIT_DATA": {
"parent": "Sun",
"semiMajorAxis": 7480000000.0,
"smaDifficultyScale": {},
"eccentricity": 0.0,
"argumentOfPeriapsis": 0.0,
"direction": 1,
"multiplierSOI": 2.5,
"soiDifficultyScale": {}
},

"ORBIT_DATA": «←→»

  • "parent": НТ, вокруг которого вращается ваше НТ(имя файла того НТ, а не его название в игре). Значение пишется в "двойных скобках".
  • "semiMajorAxis": Параметр орбиты также известный как большая полуось, это расстояние в метрах, на котором тело находится от центра основного тела.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "smaDifficultyScale": Множитель параметра указанного выше в соответствии с сложностью игры.
    —> Это 1-й тип значения зависимого от сложности игры, не забудьте связанный с ними ньюанс <—
    +Именно эта малая группа строк не обязательна для "ORBIT_DATA":+
  • "eccentricity": Насколько эллиптична орбита. ЧЗНАЧ находится в диапазоне 0.0-1.0. Значение 0.0 означает, что орбита идеально круглая; более высокие числа делают орбиту эллиптической(более овальной по форме); при значении 1.0 - орбита вдруг становится в форме палки.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "argumentOfPeriapsis": Указывает, где НТ находится на своей орбите. При создании мира все НТ начинают вращаться на орбитах начиная со своего перигелия(перицентра). ЧЗНАЧ находится в диапазоне 0.0-360.0.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "direction": Единственный ЧЗНАЧ, пока ещё не принимающий десятичные значения. Этот параметр в будущем будет определять скорость вращения НТ по орбите, при значении 0 НТ будет статичен; при значении -1 НТ будет вращаться по ретроградной орбите(против часовой стрелки). При значении 1 вращение по орбите происходит по часовой стрелке.
  • "multiplierSOI": Для реалистичного значения параметра сохраните значение на 1.0, этот параметр влияет на размеры сферы влияния планет.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "soiDifficultyScale": Множитель параметра выше в соответствии с сложностью игры.
    —> Это 2-й тип значения зависимого от сложности игры, не забудьте связанный с ними ньюанс <—
    +Именно эта малая группа строк не обязательна для "ORBIT_DATA":+
Пример "ORBIT_DATA":
Пример "ORBIT_DATA":
"ACHIEVEMENT_DATA": {
"Landed": false,
"Takeoff": true,
"Atmosphere": true,
"Orbit": true,
"Crash": true
},

"ACHIEVEMENT_DATA": «←→»

  • "Landed": Определяет, будет ли даваться достижение за посадку на это НТ.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
  • "Takeoff": Определяет, будет ли даваться достижение за взлёт с этого НТ.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
  • "Atmosphere": Определяет, будет ли даваться достижение за горение в атмосфере и вход в плотные слои атмосферы этого НТ.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
  • "Orbit": Определяет, будет ли даваться достижение за выход на низкую или высокую орбиту вокруг этого НТ.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
  • "Crash": Определяет, будет ли даваться достижение за уничтожение деталей на этом НТ.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
Пример "ACHIEVEMENT_DATA":
Пример "ACHIEVEMENT_DATA":
"LANDMARKS": [
{
"name": "Caloris Planitia",
"angle": 169.85,
"startAngle": 154.0,
"endAngle": 185.5
},
{
"name": "Borealis Planitia",
"angle": 72.0,
"startAngle": 64.0,
"endAngle": 79.0
}
]
}

"LANDMARKS": «←→»

  • "name": Название достопримечательности, значение пишется в двойных скобках.
  • "angle": Значение градуса где будет располагаться конкретно точка указанной выше достопримечательности. ЧЗНАЧ в диапазоне 0.0-360.0.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "startAngle": Значение начального градуса, где будет даваться достижение за посещение достопримечательности. ЧЗНАЧ в диапазоне от -360.0 до 360.0.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "endAngle": Значение конечного градуса, где будет даваться достижение за посещение достопримечательности. ЧЗНАЧ в диапазоне от -360.0 до 360.0.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
Пример
Нулевой градус оказывается справа, а не сверху.
1 of 2
Пример "LANDMARKS":

Ньюансы:

Запятые — Не забывайте добавлять запятые в конце строк, исключая заключительные строки перед завершающей кавычкой в группе строк.
Группа строк — Строка, у которой после двоеточия стоит кавычка, не забывайте, что кавычки должны быть завершены. У каждой подобной кавычки { после своей последней строки должна быть своя }, как у [ и этой ] кавычки.
Числовые значения — Это десятичные дроби, они пишутся в формате "1234.567" и не обязательно с наличием двойных кавычек, целая и дробная часть разделяются исключительно ТОЧКОЙ, а не запятой. И ЧЗНАЧ ничем(включая пробелы) не должны делить разряды целого и дробного числа. Если наличие дробной части не нужно, то тогда всегда удаляем дробную часть вместе с точкой, СП от этого не сломается. Если значения не должно быть вы можете попробовать использовать значение "NaN" вместо нуля.
Цветовое значение — Это значение заполняется строчкой { "r": ЧЗНАЧ, "g": ЧЗНАЧ, "b": ЧЗНАЧ, "a": ЧЗНАЧ }, все ЧЗНАЧ находятся в диапазоне 0.0-1.0, для перевода диапазона 0-255 в 0.0-1.0 умножьте 1/255 на значение цвета из диапазона 0-255. При удалении соедржимого скобок значение "a": автоматически будет равно 0.0
ТЕКСТУРА — В это значение в "двойных кавычках" пишется название файла без формата из папки Texture Data, текстура должна быть изображением с одним из указанных форматов: .png, .jpg, .bmp, .tga, .tiff.
1-й тип значения со сложностью игры — Это значение заполняется строчкой { "Normal": ЧЗНАЧ, "Hard": ЧЗНАЧ, "Realistic": ЧЗНАЧ }, при удалении содержимого скобок или всей строки игра автоматически будет использовать значение: { "Normal": 1, "Hard": 2, "Realistic": 20 }
2-й тип значения со сложностью игры — Это значение заполняется строчкой { "Normal": ЧЗНАЧ, "Hard": ЧЗНАЧ, "Realistic": ЧЗНАЧ }, при удалении содержимого скобок или всей строки игра автоматически будет использовать значение: { "Normal": 1, "Hard": 1, "Realistic": 1 }
3-й тип значения со сложностью игры — Это значение заполняется строчкой { "Normal": ЧЗНАЧ, "Hard": ЧЗНАЧ, "Realistic": ЧЗНАЧ }, при удалении содержимого скобок или всей строки игра автоматически будет использовать значение: { "Normal": 1, "Hard": 1.6667, "Realistic": 3.3334 }

»» Перейти в начало главы по Planet Data ««

Texture Data

»» Перейти в главу навигации ««

Принципы построения файловой структуры этой папки

Что вы НЕ ожидаете увидеть в новосозданной папке Example, ибо там изначально пусто. Это содержимое этой папки из системы Addon 2.03
Что вы НЕ ожидаете увидеть в новосозданной папке Example, ибо там изначально пусто. Это содержимое этой папки из системы Addon 2.03

Игра считывает с этой папки текстуры для конфигураций НТ.
Эти текстуры могут быть указанных форматов: .png, .jpg, .bmp, .tga, .tiff.
Название текстуры определяет название для текстуры для содержимого файла конфигурации НТ.

Ньюансы:

Все скрытые текстуры используемые ванильной системой можно достать по инструкции из этой статьи, но можно скачать эти текстуры как заранее заготовленные.
У нас также есть дополнительная статья про текстуры!

Import_Settings.txt

»» Перейти в главу навигации ««

{
"includeDefaultPlanets": false,
"includeDefaultHeightmaps": true,
"includeDefaultTextures": true,
"hideStarsInAtmosphere": true
}
  • "includeDefaultPlanets": Определяет, будут ли в СП НТ из ванильной СП.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
  • "includeDefaultHeightmaps": Определяет, будут ли в СП «формы», из которых создаётся ландшафт или же рельеф из ванильной СП.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
  • "includeDefaultTextures": Определяет, будут ли в СП текстуры НТ из ванильной СП.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—
  • "hideStarsInAtmosphere": Определяет, будут ли скрываться звёзды на заднем фоне если войти в атмосферу любого НТ в СП.
    —> Это значение T/F, что это - объяснено в глоссарии к статье<—

Space_Center_Data.txt

»» Перейти в главу навигации ««

{
"address": "Earth",
"angle": 90.0,
"position_LaunchPad": {
"horizontalPosition": 365.0,
"height": 26.2
}
}
  • "address": НТ, на котором располагается космический центр(имя файла того НТ, а не его название в игре). Значение пишется в "двойных скобках".
  • "angle": Положение космического центра на НТ, значение в диапазоне 0.0-360.0. При значении 0.0 космический центр находится с правого края НТ; при значении 90.0 космический центр будет располагаться с верхнего края НТ.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  • "position_LaunchPad": Малая группа строк с параметрами определяющими положение космического центра
  1. "horizontalPosition": Смещение космического центра влево или вправо от исходного местоположения. Отрицательные значения помещают космический центр левее.
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
  2. "height": Смещение космического центра вверх или вниз от исходного местоположения. Отрицательные значения помещают космический центр вниз. Имейте в виду формулу: высота космического центра + 8.2
    —> Это значение числовое, не забудьте связанный с ними ньюанс <—
Пример Space_Center_Data.txt
Пример
Space_Center_Data.txt

Ньюанс:

Числовые значения — Это десятичные дроби, они пишутся в формате "1234.567" и не обязательно с наличием двойных кавычек, целая и дробная часть разделяются исключительно ТОЧКОЙ, а не запятой. И ЧЗНАЧ ничем(включая пробелы) не должны делить разряды целого и дробного числа. Если наличие дробной части не нужно, то тогда всегда удаляем дробную часть вместе с точкой, СП от этого не сломается. Если значения не должно быть вы можете попробовать использовать значение "NaN" вместо нуля.

Теперь вы сможете такие небесные тела построить, чтобы со мной поспорить! А то автору надоело жить и не горевать без конкуренции. Поддержать автора можно установкой Addon 2.03

547 views·7 shares