Погода

Сегодня и завтра ветрено и прохладно, возможны кратковременные дожди или затяжные ливни. К середине недели станет суше.

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

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

Комментарии администратора

Вот краткое описание основных погодных условий для владельцев серверов:

weather.load - загружает определенный тип погоды

weather.reset выполняется сброс к динамической погоде

weather.report выводит текущую динамическую погоду

В настоящее время существуют следующие типы погоды, которые могут быть загружены таким образом:

  • Очистить
  • Пыль
  • Туман
  • Облачность
  • Сильный дождь
  • RainMild
  • Шторм

Примером является weather.load Fog

Что касается влияния на игровой процесс, владельцы серверов также могут регулировать степень намокания игроков под дождём и снегом:

  • weather.wetness_rain
  • weather.wetness_snow
Команды настройки погоды, вводимые с клиента, будут влиять только на локальную погоду для администраторов. Чтобы изменить погоду на сервере, нужно добавить к этим командам префикс "sv". Например: "sv weather.load Clear"

Параметры вероятности

При использовании динамической погоды по умолчанию владельцы серверов могут индивидуально настраивать вероятность каждого типа погоды:

  • weather.clear_chance
  • weather.dust_chance
  • weather.fog_chance
  • weather.overcast_chance
  • weather.storm_chance
  • weather.rain_chance

Подробные описания

Если всего этого по-прежнему недостаточно для настройки вашего конкретного сервера, вы также можете настроить каждый отдельный параметр погодной системы. Обратите внимание, что отрицательные значения (-1) указывают на то, что значение не перезаписывается и используется то, что в данный момент выводит динамическая погодная система. Эти команды необходимо вводить с консоли сервера — в противном случае используйте sv для команд сервера, которые будут воспроизводиться на клиенте.

  • weather.rain - Сколько должно идти дождя
  • weather.wind - Насколько сильный ветер (в основном визуальный, влияет на определенную растительность)
  • weather.thunder - Сколько здесь грома / молнии
  • weather.rainbow - Можно настроить принудительное включение радуги
  • weather.fog - Сколько там тумана
  • weather.atmosphere_rayleigh - Интенсивность рассеяния Рэлея (определяет цвет неба — поэкспериментируйте с этим параметром)
  • weather.atmosphere_mie - Интенсивность рассеяния Ми (определяет цвет неба — поэкспериментируйте с ней)
  • weather.atmosphere_brightness - Общая яркость неба
  • weather.atmosphere_contrast - Общий контраст неба
  • weather.atmosphere_directionality - Коэффициент направленности, определяющий размер свечения вокруг солнца
  • weather.cloud_size - Масштаб слоев облачности (не влияет на рекламные щиты облачности)
  • weather.cloud_opacity - Непрозрачность слоев облаков и рекламных щитов
  • weather.cloud_coverage - Сколько неба покрыто слоями облаков
  • weather.cloud_sharpness - Насколько четки облака, образованные слоями облаков
  • weather.cloud_coloring - Определяет смешивание рассеянного света от неба и прямого солнечного света
  • weather.cloud_attenuation - Какими темными должны быть облака, когда они становятся гуще
  • weather.cloud_scattering - Сколько солнечного света должны рассеивать облака (заставляет их цвести)
  • weather.cloud_brightness - Общая яркость облаков