Астероидные поля
🔌
Астероидные поля
Предупреждение

Эта страница находится в процессе разработки!

На этой странице может быть недостающая, неполная или неверная информация, так как она всё ещё находится в разработке! Относитесь к информации на ней с долей скепсиса и не стесняйтесь вносить свои предложения и исправлять ошибки!

💨 Оглавление

🔭 Обзор

Эти файлы управляют свойствами зон астероидных полей, определенными в файлах Система.

💨 Ванильные примеры

  • DATA\SOLAR\ASTEROIDS\br01_cornwall_rock_asteroid_field.ini
  • DATA\SOLAR\ASTEROIDS\ku03_ohka_dust_field.ini
  • DATA\SOLAR\ASTEROIDS\li01_badlands_asteroids.ini

⚡ Синтаксис

Не все блоки обязательны.

🔭 TexturePanels

Это требуется только в том случае, если в этом файле используется группа или рекламный щит.

[TexturePanels]
file = PATH
Параметр Информация
file Этот путь указывает на набор 2D-текстур, используемых для элементов полосы и рекламных щитов поля.

💨 Field (Поле)

Астероидные поля состоят из повторяющихся кубов, в которых расположены статичные астероиды. Этот блок можно пропустить, чтобы не создавать статичные астероиды.

[Field]
cube_size = INT
fill_dist = INT
diffuse_color = INT, INT, INT
ambient_color = INT, INT, INT0
ambient_increase = INT, INT, INT
tint_field = INT, INT, INT
empty_cube_frequency = FLOAT
max_alpha = FLOAT
Параметр Информация
cube_size Размер куба астероидов в метрах.
fill_dist Расстояние, с которого прорисовываются астероиды в игре.
diffuse_color
ambient_color
ambient_increase Значение RBG-света добавляется к существующему окружающему освещению, когда игрок находится в поле.
tint_field
empty_cube_frequency Процент вероятности от 0 до 1, при котором кубы будут появляться без астероидов внутри. 1 означает, что 100% кубов пусты.
max_alpha Значение от 0 до 1. По-видимому, используется только для газовых asteroids.

📎 Exclusion Zones (Зоны отчуждения)

Предупреждение

Обратите внимание, что определение исключения без соответствующей зоны в системном файле приведет к сбоям.

Зоны отчуждения можно использовать для изменения появления кубов, динамических астероидов и рекламных щитов. Обратите внимание, что кубы появляются на глобальной сетке, а зоны отчуждения должны быть достаточно большими, чтобы соприкасаться с кубом и оказывать на него влияние. Изменять можно только целые кубы астероидного поля, а не отдельные астероиды.

[Exclusion Zones]
exclusion = STRING
exclude_billboards = INT
exclude_dynamic_asteroids = INT
empty_cube_frequency = FLOAT
billboard_count = INT
Параметр Информация
exclusion Ссылается на псевдоним зоны, заданный в системном файле. В этой зоне не будут появляться случайно сгенерированные астероиды. Допускается несколько параметров exclusion.
exclude_billboards 1 вместо true. Непосредственно относится к предыдущему заданному exclusion. Определяет, используются ли в зоне отчуждения «рекламные щиты» — двумерные астероиды, которые исчезают по мере приближения к ним игрока.
exclude_dynamic_asteroids 1 для истина. Относится непосредственно к предыдущему исключению. Отключает создание динамических астероидов в пределах этого исключения.
empty_cube_frequency Перезаписывает поля empty_cube_frequency. Для обычных зон отчуждения это значение равно 1.
billboard_count Перезаписывает поля [AsteroidBillboards] count.

💨 Properties (Характеристики)

[properties]
flag = STRING
Параметр Информация
flag Это можно определить несколько раз. Похоже, что к полю применяется метка, неясно, для чего она используется. Возможно, связано с field_targeting пилотов NPC.

💨 Cube (Куб)

Куб определяет астероиды, которые создаются как статические объекты в этом поле в повторяющихся узорах. Этот блок можно опустить.

Сетка, по которой создаются кубы, связана с глобальной системой координат. Кубы смещены относительно центральной точки на половину своего размера (то есть внутренние углы центральных кубов касаются друг друга точно в точке 0 0 0).

Игра требует, чтобы [Cube] всегда существовал и был определён хотя бы один asteroid, даже если зона предназначена только для появления [DynamicAsteroids]. В противном случае в журнал клиента будет выведено сообщение WARNING: No material for asteroids in field not found, хотя текстуры загружаются корректно.

[Cube]
xaxis_rotation = INT, INT, INT, INT
yaxis_rotation = INT, INT, INT, INT
zaxis_rotation = INT, INT, INT, INT
asteroid = STRING, FLOAT, FLOAT, FLOAT, INT, INT, INT, mine
Параметр Информация
xaxis_rotation Переопределяет стандартные параметры поворота куба вокруг оси X (по умолчанию 0, 90, 180, 270). Принимает от 1 до 4 значений. Вращение всего куба и его содержимого происходит псевдослучайным образом вокруг этих значений. Комбинируется с любым другим значением по другой оси.
yaxis_rotation Переопределяет стандартные параметры поворота куба вокруг оси Y (по умолчанию 0, 90, 180, 270). Принимает от 1 до 4 значений. Вращение всего куба и его содержимого происходит псевдослучайным образом вокруг этих значений. Комбинируется с любым другим значением по другой оси.
zaxis_rotation Переопределяет стандартные параметры поворота куба вокруг оси Z (по умолчанию 0, 90, 180, 270). Принимает от 1 до 4 значений. Вращение всего куба и его содержимого происходит псевдослучайным образом вокруг этих значений. Комбинируется с любым другим значением по другой оси.
asteroid Строка (STRING) относится к записи [Asteroid] или [AsteroidMine]. Следующие три числа с плавающей точкой (FLOAT) задают относительное положение внутри куба. Диапазон для одного куба составляет от -1 до 1. Всё, что выходит за эти пределы, приводит к пересечению с соседними кубами. Последние три числа с целыми числами (INT) задают угол поворота астероидов в градусах. Окончание mine требуется только для [AsteroidMine], возможно, отмечая их как взрывоопасные.

💢 Band (Полоса)

Полоса визуально представляет собой многоугольную полосу вокруг зоны, создавая издалека впечатление большого замкнутого поля. Может быть опущена.

[Band]
render_parts = INT
shape = STRING
height = INT
offset_dist = INT
fade = FLOAT, FLOAT, FLOAT, FLOAT
texture_aspect = INT
color_shift = INT, INT, INT
ambient_intensity = INT
vert_increase = INT
cull_mode = INT
Параметр Информация
render_parts Кажется, не использовался.
shape Текстура, используемая для рендеринга на полосе.
height Высота полосы. Текстура масштабируется вместе с ней, фактически уменьшая количество граней полосы по мере её роста в зависимости от параметров texture_aspect и vert_increase.
offset_dist Смещение от края зоны, на которое полоса перемещается внутрь зоны или, если отрицательное значение, перемещается наружу.
fade Значения относительно height определяют диапазон видимости полосы. 1 равно height. Первые два значения определяют диапазон, в пределах которого полоса плавно затухает при приближении к ней (конец плавного затухания, начало плавного затухания). Последние два значения определяют диапазон, в пределах которого полоса плавно затухает при удалении (начало плавного затухания, конец плавного затухания).
texture_aspect Значение по умолчанию: 1. Также определяет ширину одной грани полосы относительно height. Более высокие значения растягивают грани полосы вместе с текстурой вдоль горизонтальной оси — эффективное растяжение текстуры уменьшит количество граней, с которыми отображается полоса.
color_shift
ambient_intensity
vert_increase Разделяет одну текстурированную поверхность полосы на несколько частей. Это эффективно повышает гладкость полосы, особенно для высоких значений texture_aspect или height.
cull_mode Определяет, какие стороны полосы отображаются.

0: Отображается внутренняя и внешняя часть полосы.
1: Отображается только внешняя часть полосы.
2: Отображается только внутренняя часть полосы.

📌 ExclusionBand (Полоса отчуждения)

Полоса отчуждения работает как обычные полосы, но специфична для зон отчуждения. Эти полосы видны всегда, а не только изнутри зоны отчуждения. Может быть пропущена. Примечание: в игре возникают проблемы с освещением на правильной стороне полосы, если источник света находится внутри зоны отчуждения — в этом случае внешняя сторона освещена, а внутренняя остаётся тёмной.

[Band]
zone = STRING
render_parts = INT
shape = STRING
height = INT
offset_dist = INT
fade = INT, FLOAT, INT, INT
texture_aspect = INT
color_shift = INT, INT, INT
ambient_intensity = INT
vert_increase = INT
cull_mode = INT
Параметр Информация
zone Название зоны, вокруг которой отображается эта полоса.
render_parts Кажется, не использовался.
shape Текстура, используемая для рендеринга на полосе.
height Высота полосы. Текстура масштабируется вместе с ней, фактически уменьшая количество граней полосы по мере её роста в зависимости от параметров texture_aspect и vert_increase.
offset_dist Смещение от края зоны, на которое полоса перемещается внутрь зоны или, если отрицательное значение, перемещается наружу.
fade Значения относительно height определяют диапазон видимости полосы. 1 равно height. Первые два значения определяют диапазон, в пределах которого полоса плавно затухает при приближении к ней (конец плавного затухания, начало плавного затухания). Последние два значения определяют диапазон, в пределах которого полоса плавно затухает при удалении (начало плавного затухания, конец плавного затухания).
texture_aspect Значение по умолчанию: 1. Также определяет ширину одной грани полосы относительно height. Более высокие значения растягивают грани полосы вместе с текстурой вдоль горизонтальной оси — эффективное растяжение текстуры уменьшит количество граней, с которыми отображается полоса.
color_shift
ambient_intensity
vert_increase Разделяет одну текстурированную поверхность браслета на несколько частей. Это эффективно повышает гладкость браслета, особенно для высоких значений texture_aspect или height.
cull_mode Определяет, какие стороны полосы отображаются.

0: Отображается внутренняя и внешняя часть полосы.
1: Отображается только внешняя часть полосы.
2: Отображается только внутренняя часть полосы.

⚡ AsteroidBillboards (Фиктивные астероиды)

Внутри зоны отображаются дешёвые спрайты с текстурами для визуализации астероидов, расположенных дальше. Может быть опущено.

[AsteroidBillboards]
count = INT
start_dist = INT
fade_dist_percent = FLOAT
shape = mine_rock_tri
color_shift = FLOAT, FLOAT, FLOAT
ambient_intensity = INT
size = INT, INT
Параметр Информация
count
start_dist
fade_dist_percent
shape
color_shift
ambient_intensity
size Диапазон между двумя значениями, определяющими размер отображаемых рекламных щитов.

💢 DynamicAsteroids (Динамические астероиды)

Динамические астероиды летают случайным образом внутри зоны. Они появляются на стороне клиента и всегда появляются вокруг камеры. Их можно использовать для создания зон добычи. Можно опустить. Можно ли определить несколько раз?

[DynamicAsteroids]
asteroid = STRING
count = INT
placement_radius = INT
placement_offset = INT
max_velocity = INT
max_angular_velocity = INT
color_shift = INT, INT, INT
Параметр Информация
asteroid
count
placement_radius
placement_offset
max_velocity
max_angular_velocity
color_shift

📌 LootableZone (Зона добычи)

В зонах добычи любой динамический астероид может сбрасывать товары при уничтожении. Этот блок можно определить несколько раз для нескольких зон добычи. Также его можно полностью пропустить.

[LootableZone]
zone = zone_bw03_img_cobalt_mining_area ;необязательный
asteroid_loot_container = STRING
asteroid_loot_commodity = STRING
dynamic_loot_container = STRING
dynamic_loot_commodity = STRING
asteroid_loot_count = INT, INT
dynamic_loot_count = INT, INT
asteroid_loot_difficulty = INT
dynamic_loot_difficulty = INT
Параметр Информация
zone Название зоны в поле астероидов, которой ограничена данная зона добычи. Опционально. Если не указано, зона добычи применяется ко всему полю астероидов.
asteroid_loot_container Название [LootCrate], созданного при падении чего-либо с астероида. Похоже, он не использовался.
asteroid_loot_commodity Название [Commodity], выпавшего в контейнере asteroid_loot_container. Похоже, он не использовался.
asteroid_loot_count Случайное количество единиц товара от INT до INT в контейнере с добычей. Похоже, не использовался.
asteroid_loot_difficulty Какой уровень сложности нужен, чтобы сбросить добычу с астероида? Кажется, не используется.
dynamic_loot_container Название [LootCrate], созданного при падении чего-либо с динамического астероида. Похоже, не используется.
dynamic_loot_commodity Название [Commodity], выпавшего в контейнере asteroid_loot_container. Похоже, он не использовался.
dynamic_loot_count Случайное количество единиц товара от INT до INT в контейнере с добычей. Похоже, не использовался.
dynamic_loot_difficulty Какой уровень сложности требуется, чтобы выбросить добычу с динамического астероида? Кажется, не используется.