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

Ru/VVIS: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (another accidentally remained link)
(Add content from english page and update translate.)
 
(20 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


This will generate and embed a visibility chart, writing portal data out to <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>
: Only do a quick first pass. Does not actually test visibility.
: Беглая компиляция. По сути, даже не проверяет видимость.
; <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>
: Don't sort (an optimization) portals.
: Не сортировать (для оптимизации) порталы.
; <code>-tmpin</code>
; <code>-tmpin</code>
: Read portals from <code>\tmp\<mapname></code>.
: Читать порталы из <code>\tmp\<mapname></code>.
; <code>-tmpout</code>
; <code>-tmpout</code>
: Write portals to <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>
: Run as an idle-priority process.
: Запускает компилятор как процесс с низким приоритетом.
; <code>-threads</code>
; <code>-threads</code>
: Control the number of threads used. Defaults to the # of processors (times 2 for Hypertreading/SMT CPU's) on your machine. Maximum is 16 threads. With a [[Increased_Thread_Limit_for_Compile_Tools|patched vvis_dll]] you can reach 32 threads.
: Определяет количество используемых компилятором потоков (по умолчанию — количество процессоров/ядер (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>
: Turn on verbose output
: Включить подробный вывод.
; <code>-novconfig</code>
; <code>-novconfig</code>
: Don't bring up graphical UI on vproject errors.
: Не открывать графический интерфейс при ошибках vproject.
; <code>-mpi</code>
; <code>-mpi</code>
: Use [[VMPI]] to distribute computations.
: Использовать {{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>
: Override the [[VPROJECT]] environment variable.
: Переопределяет переменную среды {{L|VPROJECT}}.


== Console Output ==
==Вывод информации==
VVIS prints various information about the compile process to the console. Note that output from older versions of the tool can be different.
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>
: Size of the visibility data in bytes. Max size is 16 MB in Source 2013.
: Размер данных о видимости в байтах, максимум  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.

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