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

Ru/VVIS: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
(Replacement of the conversational style (батник), replacement of the word "understandable" with "detailed", adding a link to an English article; Corrections for minor spelling and punctuation errors)
(Add content from english page and update translate.)
 
(11 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar|title=Компилятор видимости VVIS}}
|ru = Vvis:ru
{{Source topicon}}
|en = Vvis
}}
 
{{toc-right}}
{{toc-right}}
{{map compile pipeline|source1}}


'''VVIS''' или ''Valve Visible Information Set'' (Набор визуальной информации Valve) это инструмент [[command-line| командной строки]], который вставляет данные о видимости в скомпилированную карту [[BSP]]. VVIS тестирует, какие [[visleaf|вис листья]] могут видеть друг друга, а какие нет. См.[[Visibility optimization| оптимизацию видимости]] для более детального объяснения.
{{vvis|4}} или ''Valve Visible Information Set'' (Набор визуальной информации Valve) это инструмент {{L|command-line|командной строки}}, который добавляет данные о видимости в скомпилированную карту {{L|BSP}}. VVIS определяет, какие {{L|visleaf|области видимости}} видны одна из другой, а какие нет. См.{{L|Visibility optimization|оптимизацию видимости}} для более детального объяснения.


VVIS:
Что делает VVIS:
* Проверяет видимость между {{L|visleaf|областями видимости}} с помощью [http://www.gdcvault.com/play/1014234/Excerpt-Quake-Postmortem-Optimizing-Level усечения их плоскостей обзора].
* Устанавливает предельную дальность видимости, при необходимости.


* Тестирует видимость между  [[visleaf|вис листьями]] с помощью [http://www.gdcvault.com/play/1014234/Excerpt-Quake-Postmortem-Optimizing-Level клиппинга их плоскостей вида].
== Синтаксис ==
* если сконфигурировано, обеспечивает максимальную дистанцию видимости.
 
== Синтакс ==


  vvis [options...] <bsp file>
  vvis [options...] <bsp file>
Line 21: Line 18:
  "Half-Life 2\bin\vvis.exe" -tmpout sdk_trainstation_01
  "Half-Life 2\bin\vvis.exe" -tmpout sdk_trainstation_01


Сгенерирует и встроит диаграмму видимости, вписывая данные портала в <code>.\tmp\sdk_trainstation_01.prt</code>.
Сгенерирует и встроит диаграмму видимости, вписывая данные портала в <code>.\tmp\sdk_trainstation_01.prt</code>.
 
==Дополнительные Опции==


Используются в [[expert compile mode|режиме эксперта]] или через bat-файл:
==Параметры==
Используются в {{L|expert compile mode|режиме эксперта}} или через bat-файл:


=== Функции ===
=== Функции ===
; <code>-fast</code>
; <code>-fast</code>
: Беглая компиляция. По сути, не проверяет видимость между вис листьями.
: Беглая компиляция. По сути, даже не проверяет видимость.
; <code>-radius_override <[[int]]></code>
; <code>-radius_override <{{L|int}}></code>
: Принудительно задать новый радиус рендера в [[unit|юнитах]], не обращая внимание на [[env_fog_controller]].
: Указать предельную дальность видимости в {{L|unit|единицах}}, игнорируя указанную в {{L|env_fog_controller}}. Внимание! Объект {{L|light_environment}} желательно располагать по центру карты, для предотвращения проблем с расчётным освещением.
; <code>-nosort</code>
; <code>-nosort</code>
: Не сортировать (для оптимизации) порталы.
: Не сортировать (для оптимизации) порталы.
Line 39: Line 34:
; <code>-tmpout</code>
; <code>-tmpout</code>
: Записывать порталы в <code>\tmp\<mapname></code>.
: Записывать порталы в <code>\tmp\<mapname></code>.
; <code>-trace <start cluster> <end cluster></code> {{source_2007|since}}
:Writes a linefile that traces the vis from one cluster to another for debugging map vis.


=== Общее ===
=== Основные ===
[[File:32cores16threads.png|300px|thumbnail|right|ПК с 32 ядрами использует только 16 ядер (несмотря на то, что указано 32)]]
[[File:32cores16threads.png|300px|thumbnail|right|ПК с 32 ядрами использует только 16 ядер (несмотря на то, что указано 32)]]
[[File:32cores32threads.png|300px|thumbnail|right|ПК с 32 ядрами использует все ядра (пропатченный vvis)]]
[[File:32cores32threads.png|300px|thumbnail|right|ПК с 32 ядрами использует все ядра (пропатченный vvis)]]
; <code>-low</code>
; <code>-low</code>
: Запустить как низкоприоритетный процесс.
: Запускает компилятор как процесс с низким приоритетом.
; <code>-threads</code>
; <code>-threads</code>
: Задать число используемых потоков. По умолчанию соответствует числу ядер процессора (вдвое больше для гипертрейдинга/SMT) на вашем ПК. Максимум 16 потоков. С [[Increased_Thread_Limit_for_Compile_Tools|пропатченным vvis_dll]] вы можете использовать 32 потока.
: Определяет количество используемых компилятором потоков (по умолчанию — количество процессоров/ядер (x2 для процессоров с Hypertreading/SMT) на вашем компьютере). Максимум 16 потоков (32 в {{csgo}}{{slamminsrc}}{{mapbase}}, не ограничено в {{tf2}}).
:{{Workaround|С {{L|Increased_Thread_Limit_for_Compile_Tools|пропатченным vvis_dll}} возможно использовать 32 потока. {{l4d2}} [https://github.com/ficool2/fixtoolthreads fixtoolthreads] is a patch for [[VVIS]] (and [[VRAD]]) that supports ''unlimited'' threads and fixes a thread scaling issue.}}
::{{Note|The above mentioned thread scaling issue has been fixed in {{tf2}},{{csgo}},{{l4d2}},{{gmod}}.}}
:{{Tip|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.}}
; <code>-verbose (-v)</code>
; <code>-verbose (-v)</code>
: Включить подробный вывод.
: Включить подробный вывод.
; <code>-novconfig</code>
; <code>-novconfig</code>
: Не включать графический интерфейс при ошибках vproject.
: Не открывать графический интерфейс при ошибках vproject.
; <code>-mpi</code>
; <code>-mpi</code>
: Использовать [[VMPI]] для распределенных вычислений.
: Использовать {{L|VMPI}} для распределённых вычислений.
; <code>-mpi_pw <[[string]]></code>
; <code>-mpi_pw <{{L|string}}></code>
: Использовать пароль для выбора специфического набора воркеров VMPI.
: Использовать пароль для выбора конкретного набора подключаемых VMPI.
; <code>-vproject <string></code>
; <code>-vproject <string></code>
; <code>-game <string></code>
; <code>-game <string></code>
: Переназначить переменную окружения [[VPROJECT]].
: Переопределяет переменную среды {{L|VPROJECT}}.


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


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


==Также обратите внимание на ==
==Смотреть также==
* [[PRT]]
* {{L|VIS_optimization|Оптимизация видимости}}


* [[Visibility optimization]]
{{SDKTools}}


{{SDKTools}}
{{sdktools}}


[[Category:Level Design]]
{{ACategory|Official Source Tools}}
[[Category:Glossary]]
{{ACategory|Source 1 BSP compilers}}

Latest revision as of 14:40, 2 July 2025

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.

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