Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

Компилятор видимости VVIS

From Valve Developer Community
< Ru
Revision as of 14:40, 2 July 2025 by Clash (talk | contribs) (Add content from english page and update translate.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)

VBSPVVISVRADBSPZIP

VVIS VVIS или Valve Visible Information Set (Набор визуальной информации Valve) это инструмент командной строки(en), который добавляет данные о видимости в скомпилированную карту BSP(en). VVIS определяет, какие области видимости(en) видны одна из другой, а какие нет. См.оптимизацию видимости(en) для более детального объяснения.

Что делает VVIS:

Синтаксис

vvis [options...] <bsp file>

Пример:

"Half-Life 2\bin\vvis.exe" -tmpout sdk_trainstation_01

Сгенерирует и встроит диаграмму видимости, вписывая данные портала в .\tmp\sdk_trainstation_01.prt.

Параметры

Используются в режиме эксперта(en) или через bat-файл:

Функции

-fast
Беглая компиляция. По сути, даже не проверяет видимость.
-radius_override <int(en)>
Указать предельную дальность видимости в единицах(en), игнорируя указанную в env_fog_controller(en). Внимание! Объект light_environment(en) желательно располагать по центру карты, для предотвращения проблем с расчётным освещением.
-nosort
Не сортировать (для оптимизации) порталы.
-tmpin
Читать порталы из \tmp\<mapname>.
-tmpout
Записывать порталы в \tmp\<mapname>.
-trace <start cluster> <end cluster> (Во всех играх начиная с Source 2007)
Writes a linefile that traces the vis from one cluster to another for debugging map vis.

Основные

ПК с 32 ядрами использует только 16 ядер (несмотря на то, что указано 32)
ПК с 32 ядрами использует все ядра (пропатченный vvis)
-low
Запускает компилятор как процесс с низким приоритетом.
-threads
Определяет количество используемых компилятором потоков (по умолчанию — количество процессоров/ядер (x2 для процессоров с Hypertreading/SMT) на вашем компьютере). Максимум 16 потоков (32 в Counter-Strike: Global OffensiveSlammin' Source Map ToolsMapbase, не ограничено в Team Fortress 2).
PlacementTip.pngОбходной приём:С пропатченным vvis_dll(en) возможно использовать 32 потока. Left 4 Dead 2 fixtoolthreads is a patch for VVIS (and VRAD) that supports unlimited threads and fixes a thread scaling issue.
Note.pngПримечание:The above mentioned thread scaling issue has been fixed in Team Fortress 2,Counter-Strike: Global Offensive,Left 4 Dead 2,Garry's Mod.
Tip.pngСовет:If you know that the compile time will be very long and would rather do something else while waiting, it may be useful to specify a number of threads 1 or 2 lower than what your CPU has. This allows the computer to allocate some more power to other applications, making it less choppy while lighting is being compiled. Keep in mind that this may slightly extend your compile time.
-verbose (-v)
Включить подробный вывод.
-novconfig
Не открывать графический интерфейс при ошибках vproject.
-mpi
Использовать VMPI(en) для распределённых вычислений.
-mpi_pw <string(en)>
Использовать пароль для выбора конкретного набора подключаемых VMPI.
-vproject <string>
-game <string>
Переопределяет переменную среды VPROJECT(en).

Вывод информации

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

number portalclusters
Эффективное количество областей на карте (области объединённые внутри одного func_viscluster(en) считаются одной областью).
number numportals
Количество порталов, которые соединяют эффективные области.
BasePortalVis: 0...1...2...3...4...5...6...7...8...9...10 (затраченное время в секундах)
Оценочный расчёт видимости, нужен для определения и исключения отдалённых от большей части мира пространств.
PortalFlow: 0...1...2...3...4...5...6...7...8...9...10 (затраченное время в секундах)
Запускает полноценный расчет видимости, определяет какие области фактически видят друга. Не запускается в режиме -fast.
Optimized: number visible clusters (percentage)
Коэффициент сжатия данных о видимости.
Total clusters visible: number
Общее число взаимно видимых областей в соответствии с расчётными данными.
Average clusters visible: number
Среднее число областей, которые можно увидеть одновременно.
Building PAS...
Расчёт данных о потенциальной слышимости.
Average clusters audible: number
Среднее число областей, которые можно услышать одновременно.
visdatasize: number compressed from number
Размер данных о видимости в байтах, максимум 16Мб в Source 2013.

Смотреть также