Перейти к основному содержимому

Настройки движка

Not (yet) implemented feature

Некоторые функции, описанные в настоящем документе, более не поддерживаются, либо начнут поддерживаться в будущем.

Configuration variable (сокр. - cvar, жарг. - квар, пер. - конфигурационные переменные) - настройки движка, которые могут загружаться из файла и меняться через консоль во время работы движка. Представлены простыми текстовыми данными (переменными) в виде специальных имен. Могут иметь типы:

  • text - текстовые данные;
  • int - целочисленные значения;
  • float - значения с плавающей запятой;
  • bool - логические значения (true/false);
  • pointer - указатели.

Использование

Файлы настроек

Квары могут быть использованы в файлах для первоначальной конфигурации движка.

Структура конфигурационного файла

Структура файла простая: каждый квар пишется с новой строки, после имени квара следует пробельный символ, а затем само значение. Например строка r_stats 1 может являться содержимым файла конфигураций.

Также файл конфигураций поддерживает консольные команды, например: echo "Executing editor config file"

При загрузке файла в консоль будет выведено сообщение Executing editor config file.

Файлы настроек штатной сборки

В штатной сборке движок считывает следующие файлы настроек из корневой директории:

  • config_sys.cfg - начальные конфигурации движка (родительский конфиг);
  • config_game.cfg - общие конфигурации движка для игры;
  • config_game_user.cfg - конфигурации движка для игры, определяемые пользователем;
  • config_game_user_auto.cfg - конфигурации движка сохраненные посредством пользовательского интерфейса в игре;
  • config_editor.cfg - конфигурации движка для редакторов;
  • config_editor_user.cfg - конфигурации движка для редакторов, определяемые пользователем.

Порядок применения конфигураций для игры:

  1. config_sys.cfg
  2. config_game.cfg
  3. config_game_user_auto.cfg
  4. config_game_user.cfg

Порядок применения конфигураций для редакторов:

  1. config_sys.cfg
  2. config_editor.cfg
  3. config_editor_user.cfg

Команды консоли

Все квары (кроме указателей) могут быть использованы в качестве команд для консоли движка. Чтобы команда была принята, необходимо чтобы движок (билд или редактор) были запущены. Для осуществления команды необходимо ввести имя квара, пробел и значение для квара, например следующая строка отключит показ статистики: r_stats 0

Если ввести просто имя квара без указания значения, то будет выведена информация об этом кваре.

Правила именования

Все имена кваров пишутся только в нижнем регистре, в качестве пробела используется _ (нижний пробел). Каждый квар должен иметь префикс группы, к которой он относится.

Префиксы:

  • r_ - все, что связано с рендером непосредственно;
  • cl_ - игрок, управление;
  • phy_ - физика;
  • env_ - погода (от environment, не знаю, как сократить weather);
  • pp_ - постпроцесс;
  • ai_ - ИИ;
  • mtl_ - настройки материалов;
  • ent_ - то, что связано с системой объектов;
  • lvl_ - то, что связано с уровнем;
  • nav_ - навигация;
  • snd_ - звуки;
  • ed_ - для редакторов;
  • pt_ - партиклы.

Описание кваров

Камера

  • r_default_fov дефолтный fov;
  • r_near ближняя плоскость отсечения;
  • r_far дальняя плоскость отсечения.

Окно

  • r_win_width размер окна по горизонтали (в пикселях)
  • r_win_height размер окна по вертикали (в пикселях)
  • r_win_windowed режим рендера true - оконный, false - полноэкранный
  • r_final_image тип финального (выводимого в окно рендера) изображения из перечисления DS_RT
  • r_resize тип изменения размеров окан рендера из перечисления RENDER_RESIZE

Post process

  • pp_ssao установка качества ssao (0 - не рисовать, 1 - среднее, 2 - хорошее, 3 - высокое)
  • pp_bloom рисовать ли эффект bloom (true/false)
  • pp_lensflare true рисовать ли эффект lens flare (true/false)
  • pp_lensflare_usebloom при рендере эффекта lens flare использовать ли данные от прохода эффекта bloom (true/false)
  • pp_dlaa рисовать ли эффект dlaa (true/false)
  • pp_nfaa рисовать ли эффект nfaa (true/false)
  • pp_fog_density коэфициент плотности тумана, чем больше тем больше все в тумане, имеет смысл [0,1]
  • pp_motionblur рисовать ли эффект motion blur (true/false)
  • pp_motionblur_coef коэфициент размытия эффекта motion blur [0.0, 1.0]

Свет, освещение, тени

  • r_pssm_4or3 для рисования глобальных теней использовать 4 сплита (true) или 3 (false)
  • r_pssm_shadowed отрасывает ли глобальный источник света тени (true/false)
  • r_pssm_quality коэфициент увеличения карты глубины для глобальных теней относительно размеров окна рендера [0.5, 2]
  • r_lsm_quality коэфициент увеличения карты глубины для локальных теней относительно размеров окна рендера [0.5, 2]
  • r_shadow_soft качество сглаживания теней (0 - без сглаживания, 1 - один проход, 2 - двойное сглаживание)
  • r_hdr_adapted_coef коэфициент адаптации глаза к освещению (0,1] (медленно,быстро]

Отражения

  • r_reflection_render режим рендера отражений 0 - отражения только от skybox, 1 - геометрия, 2 - растительность, 3 - анимационные модели

Растительность

  • r_grass_freq плотность рендера травы (0, 100]
  • r_green_lod0 дистанция от наблюдателя на которой заканчивается нулевой лод растительности (он же лод травы), то есть дальность отрисовки травы (0,100)
  • r_green_lod1 дистанция от наблюдателя на которой заканчивается первый лод растительности (50,150)
  • r_green_less дистанция от наблюдателя c которой начнет уменьшаться трава (0,green_lod0)

Фильтрация текстур

  • r_texfilter_type тип фильтрации текстур, 0 - точечная, 1 - линейная, 2 - анизотропная
  • r_texfilter_max_anisotropy максимальное значение анизотропной фильтрации (если включена) [1,16]
  • r_texfilter_max_miplevel какой mip уровень текстур использовать? 0 - самый высокий, 1 - ниже на один уровень и т.д.
  • r_stats показ статистики 0 - нет, 1 - fps и игровое время, 2 - показать полностью

Окружение

  • env_default_rain_density коэфициент плотности дождя (0,1]
  • env_default_thunderbolt могут ли воспроизводится эффекты молнии?
  • env_weather_snd_volume громкость звуков погоды [0,1]
  • env_ambient_snd_volume громкость фоновых звуков на уровне [0,1]

Звук

  • snd_main_volume общая громкость звуков (первичного звукового буфера) [0, 1]

Игра

  • g_time_run запущено ли игрвоое время?"
  • g_time_speed скорость/соотношение течения игрового времени