xrAI — различия между версиями

Материал из xrWiki
Перейти к: навигация, поиск
м (Дополнительные опции)
м (Дополнительные опции)
 
(не показано 6 промежуточных версий этого же участника)
Строка 4: Строка 4:
 
Команда:
 
Команда:
 
<syntaxhighlight lang="winbatch">xrAI <общие_опции> [-f|-s] <имя_уровня> <дополнительные_опции></syntaxhighlight>
 
<syntaxhighlight lang="winbatch">xrAI <общие_опции> [-f|-s] <имя_уровня> <дополнительные_опции></syntaxhighlight>
 
  
 
===Обязательные параметры===
 
===Обязательные параметры===
Строка 12: Строка 11:
 
Просчитать ИИ-сетку в <code>gamedata\levels\<имя_уровня>\</code> (требуется [[build.cform]], т.е. предварительно нужно скомпилировать карту с помощью [[xrLC]])
 
Просчитать ИИ-сетку в <code>gamedata\levels\<имя_уровня>\</code> (требуется [[build.cform]], т.е. предварительно нужно скомпилировать карту с помощью [[xrLC]])
 
* '''-s <имя_уровня1,имя_уровня2,…,имя_уровняN>'''<br />
 
* '''-s <имя_уровня1,имя_уровня2,…,имя_уровняN>'''<br />
Построить глобальный спавн из уровенвых спавнов.<br />
+
Построить глобальный спавн из уровневых спавнов.<br />
 +
----
 
''Параметры, выделенные <span style="color:#cc6666;">'''цветом'''</span>, используются только в ТЧ.''
 
''Параметры, выделенные <span style="color:#cc6666;">'''цветом'''</span>, используются только в ТЧ.''
 +
----
 
* <span style="color:#cc6666;">'''-rebuild'''</span><br />
 
* <span style="color:#cc6666;">'''-rebuild'''</span><br />
 
* <span style="color:#cc6666;">'''-g <имя_уровня>'''<br />
 
* <span style="color:#cc6666;">'''-g <имя_уровня>'''<br />
Строка 19: Строка 20:
 
* <span style="color:#cc6666;">'''-m <имя_уровня1,имя_уровня2,…,имя_уровняN>'''<br />
 
* <span style="color:#cc6666;">'''-m <имя_уровня1,имя_уровня2,…,имя_уровняN>'''<br />
 
Совместить графы указанных уровней в единый игровой граф.</span>
 
Совместить графы указанных уровней в единый игровой граф.</span>
 
  
 
===Дополнительные опции===
 
===Дополнительные опции===
 
* '''-?''' или '''-h'''<br />
 
* '''-?''' или '''-h'''<br />
 
Вывести краткую справку по основным командам.
 
Вывести краткую справку по основным командам.
* '''-keep_temp_files'''<br />
 
После завершения компиляции не удалять автоматически [[build.aimap]], полученный при построении ИИ-сетки в LE
 
 
* <span style="color:#cc6666;">'''-o'''</span><br />
 
* <span style="color:#cc6666;">'''-o'''</span><br />
 
Модифицировать опции построения.
 
Модифицировать опции построения.
 
* '''-no_separator_check'''<br />
 
* '''-no_separator_check'''<br />
Не проверять перекрытие ИИ-сетки рестрикторами.
+
Не проверять перекрытие ИИ-сетки [[space restrictor|рестрикторами]]. По крайней мере для ЧН и ЗП используется всегда. Смысл существования этого ключа неясен.
* <span style="color:#cc6666;">'''-draft'''</span><br />
+
* '''-draft'''<br />
Черновая сборка ИИ-сетки (без просчета укрытий, build.cform не требуется)
+
Черновая сборка ИИ-сетки (без просчета укрытий, [[build.cform]] не требуется).
* '''-pure_covers'''<br />
+
* '''-out''' <br />
???
+
Имя выходного [[all.spawn|spawn]]-файла.
 +
* '''-keep_temp_files'''<br />
 +
После завершения компиляции не удалять автоматически [[build.aimap]], полученный при построении ИИ-сетки в LE.
 
* '''-noverbose'''<br />
 
* '''-noverbose'''<br />
 
Отключить вывод дополнительных данных в лог.
 
Отключить вывод дополнительных данных в лог.
* '''-out''' <br />
+
* '''-patch <new.spawn> <old.spawn>'''<br />
Имя выходного [[all.spawn|spawn]]-файла.
 
* '''-designer''' <br />
 
Отключает какие-то скриптовые проверки в ЗП ???
 
* '''-patch''' <new.spawn> <old.spawn><br />
 
 
Обновить GUID в new.spawn значением из old.spawn
 
Обновить GUID в new.spawn значением из old.spawn
 
* '''-start''' <br />
 
* '''-start''' <br />
 
Сменить стартовую локацию???
 
Сменить стартовую локацию???
 +
* '''-pure_covers'''<br />
 +
???
 
<!-->* '''-t''' <br />
 
<!-->* '''-t''' <br />
 
Устаревшее?
 
Устаревшее?
Строка 50: Строка 48:
  
 
===Опции улучшенных компиляторов===
 
===Опции улучшенных компиляторов===
* '''-thread <N>'''<br />
+
* '''-show_log'''<br />Автоматически открывать лог-файл при ошибке компиляции.
Задать N потоков при просчёте укрытий (в оригинале создавалось только 3).
+
* '''-use_tbb''' <br />Использовать Intel TBB при просчёте укрытий для NPC. Нагрузка распределяется автоматически, и в большинстве случаев предпочтительнее использовать этот режим, нежели вручную задавать число потоков ключом '''-thread'''
 
+
* '''-thread <N>'''<br />Задать N потоков при просчёте укрытий (в оригинале создавалось только 3, независимо от количества ядер процессора). Чем больше создаётся потоков — тем больше требуется памяти.
  
----
+
{{#related:xrLC}}
{| style="background-color: #fffdee;" width="100%"
+
{{#related:xrDO_Light}}
|<span style="color:#172172;">'''Полезно знать'''</span>
+
{{#related:xrCompress}}
----
 
Иногда xrAI подвисает на неопределённое время в конце сборки ИИ-сетки. Чтобы избежать таких случаев, нужно удалять папку с временными файлами.
 
|}
 
  
 
[[Категория:X-Ray SDK]]
 
[[Категория:X-Ray SDK]]

Текущая версия на 19:35, 10 июня 2023

xrAI — компилятор ИИ-компонент игрового уровня.

Параметры командной строки[править]

Команда:

xrAI <общие_опции> [-f|-s] <имя_уровня> <дополнительные_опции>

Обязательные параметры[править]

  • -verify

Проверить ИИ-сетку на связность. В xrai_%username%.log будет информация о вырожденных и однонаправленных нодах.

  • -f <имя_уровня>

Просчитать ИИ-сетку в gamedata\levels\<имя_уровня>\ (требуется build.cform, т.е. предварительно нужно скомпилировать карту с помощью xrLC)

  • -s <имя_уровня1,имя_уровня2,…,имя_уровняN>

Построить глобальный спавн из уровневых спавнов.


Параметры, выделенные цветом, используются только в ТЧ.


  • -rebuild
  • -g <имя_уровня>

Построить оффлайновый ИИ-граф и кросс-таблицу ИИ-карты в gamedata/levels/<имя_уровня>/

  • -m <имя_уровня1,имя_уровня2,…,имя_уровняN>

Совместить графы указанных уровней в единый игровой граф.

Дополнительные опции[править]

  • -? или -h

Вывести краткую справку по основным командам.

  • -o

Модифицировать опции построения.

  • -no_separator_check

Не проверять перекрытие ИИ-сетки рестрикторами. По крайней мере для ЧН и ЗП используется всегда. Смысл существования этого ключа неясен.

  • -draft

Черновая сборка ИИ-сетки (без просчета укрытий, build.cform не требуется).

  • -out

Имя выходного spawn-файла.

  • -keep_temp_files

После завершения компиляции не удалять автоматически build.aimap, полученный при построении ИИ-сетки в LE.

  • -noverbose

Отключить вывод дополнительных данных в лог.

  • -patch <new.spawn> <old.spawn>

Обновить GUID в new.spawn значением из old.spawn

  • -start

Сменить стартовую локацию???

  • -pure_covers

???

Опции улучшенных компиляторов[править]

  • -show_log
    Автоматически открывать лог-файл при ошибке компиляции.
  • -use_tbb
    Использовать Intel TBB при просчёте укрытий для NPC. Нагрузка распределяется автоматически, и в большинстве случаев предпочтительнее использовать этот режим, нежели вручную задавать число потоков ключом -thread
  • -thread <N>
    Задать N потоков при просчёте укрытий (в оригинале создавалось только 3, независимо от количества ядер процессора). Чем больше создаётся потоков — тем больше требуется памяти.