Настройки движка
Некоторые функции, описанные в настоящем документе, более не поддерживаются, либо начнут поддерживаться в будущем.
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 - конфигурации движка для редакторов, определяемые пользователем.
Порядок применения конфигураций для игры:
- config_sys.cfg
- config_game.cfg
- config_game_user_auto.cfg
- config_game_user.cfg
Порядок применения конфигураций для редакторов:
- config_sys.cfg
- config_editor.cfg
- 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 скорость/соотношение течения игрового времени