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

Ru/VVIS: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (more translation)
(Add content from english page and update translate.)
 
(18 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar|title=Компилятор видимости VVIS}}
|title=VVIS
{{Source topicon}}
|en=VVIS
}}
 
{{finishtranslation:ru}}
 
{{toc-right}}
{{toc-right}}
{{map compile pipeline|source1}}


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


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


== Синтаксис ==
== Синтаксис ==
Line 23: 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>.


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


=== Функции ===
=== Функции ===
; <code>-fast</code>
; <code>-fast</code>
: Произвести только первый проход. Не проверяет видимость на самом деле.
: Беглая компиляция. По сути, даже не проверяет видимость.
; <code>-radius_override <[[int]]></code>
; <code>-radius_override <{{L|int}}></code>
: Force a maximum vis radius, in [[unit]]s, regardless of whether an [[env_fog_controller]] specifies one.
: Указать предельную дальность видимости в {{L|unit|единицах}}, игнорируя указанную в {{L|env_fog_controller}}. Внимание! Объект {{L|light_environment}} желательно располагать по центру карты, для предотвращения проблем с расчётным освещением.
; <code>-nosort</code>
; <code>-nosort</code>
: Не сортировать (оптимизировать) порталы.
: Не сортировать (для оптимизации) порталы.
; <code>-tmpin</code>
; <code>-tmpin</code>
: Прочитать данные порталов из <code>\tmp\<mapname></code>.
: Читать порталы из <code>\tmp\<mapname></code>.
; <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 vCore machine running VVIS with only 16 cores used (even though 32 threads were specified)]]
[[File:32cores16threads.png|300px|thumbnail|right|ПК с 32 ядрами использует только 16 ядер (несмотря на то, что указано 32)]]
[[File:32cores32threads.png|300px|thumbnail|right|32 vCore machine running VVIS with all cores used (patched vvis used)]]
[[File:32cores32threads.png|300px|thumbnail|right|ПК с 32 ядрами использует все ядра (пропатченный vvis)]]
; <code>-low</code>
; <code>-low</code>
: Запускает как процесс с базовым приоритетом.
: Запускает компилятор как процесс с низким приоритетом.
; <code>-threads</code>
; <code>-threads</code>
: Управляет количеством используемых потоков (threads). По-умолчанию равняется количеству процессоров (x2 для процессоров с Hypertreading/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>
: Use a password to choose a specific set of VMPI workers.
: Использовать пароль для выбора конкретного набора подключаемых 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>
: The effective number of visleaves in the map (visleaves clustered together with [[func_viscluster]] count as one).  
: Эффективное количество областей на карте (области объединённые внутри одного {{L|func_viscluster}} считаются одной областью).  
; <code>''number'' numportals</code>
; <code>''number'' numportals</code>
: The number of portals connecting the the above visleaves.
: Количество порталов, которые соединяют эффективные области.
; <code>BasePortalVis:      0...1...2...3...4...5...6...7...8...9...10 (''time taken in seconds'')</code>
; <code>BasePortalVis:      0...1...2...3...4...5...6...7...8...9...10 (''затраченное время в секундах'')</code>
: Rough visibility calculations that are used to trivially weed out unseen areas from the final calculations.
: Оценочный расчёт видимости, нужен для определения и исключения отдалённых от большей части мира пространств.
; <code>PortalFlow:          0...1...2...3...4...5...6...7...8...9...10 (''time taken in seconds'')</code>
; <code>PortalFlow:          0...1...2...3...4...5...6...7...8...9...10 (''затраченное время в секундах'')</code>
: Runs the actual visibility algorithm to determine which visleaves can see each other. Not run with <code>-fast</code>.
: Запускает полноценный расчет видимости, определяет какие области фактически видят друга. Не запускается в режиме <code>-fast</code>.
; <code>Optimized: ''number'' visible clusters (''percentage'')</code>
; <code>Optimized: ''number'' visible clusters (''percentage'')</code>
: Compression of the visibility data.
: Коэффициент сжатия данных о видимости.
; <code>Total clusters visible: ''number''</code>
; <code>Total clusters visible: ''number''</code>
: The total number of occurrences of visleaves being able to see each other in the calculated data.
: Общее число взаимно видимых областей в соответствии с расчётными данными.
; <code>Average clusters visible: ''number''</code>
; <code>Average clusters visible: ''number''</code>
: The average number of leaves you can potentially see from each visleaf.
: Среднее число областей, которые можно увидеть одновременно.
; <code>Building PAS...</code>
; <code>Building PAS...</code>
: Calculates the Potentially Audible Set.
: Расчёт данных о потенциальной слышимости.
; <code>Average clusters audible: ''number''</code>
; <code>Average clusters audible: ''number''</code>
: The average number of leaves you can potentially hear into from each visleaf.
: Среднее число областей, которые можно услышать одновременно.
; <code>visdatasize: ''number''  compressed from ''number''</code>
; <code>visdatasize: ''number''  compressed from ''number''</code>
: Размер данных видимости в байтах. Максимальный размер в Source 2013 — 16Мбайт.
: Размер данных о видимости в байтах, максимум  16Мб в Source 2013.


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


* [[Visibility optimization:ru|Оптимизация видимости]]
{{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.

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