Пользователей: 1
Гостей: 918
Всего: 919

» Подробно
» Сегодня

Привет, гость!






Дата: 02-12-2024 01:16 Автор: SkyLoader  WebStr  0  

X-Ray Universal Compiler — это набор модифицированных (в 64-битные версии) на основе X-Ray SDK 0.4/0.5/0.7 компиляторов xrLCxrDO и xrAI, использующихся для сборки уровней, травы и освещения детальных объектов одиночной игры и мультиплеера, а также компонентов искусственного интеллекта уровней только одиночной игры.

 

Особенности

  • Поддержка x64
  • Поддержка основных игр серии
  • Все компиляторы объединены в одно приложение
  • Интерфейс полностью переписан на WinForms
  • Добавлено меню компилятора, в котором можно выбрать проект уровня, выставить определенные настройки и запустить компиляцию
  • Добавлена система сохранения и загрузки настроек последних проектов
  • Создаваемое количество потоков теперь не фиксировано, а зависит от количества ядер процессора
  • Произведен переход на библиотеку DirectXTex на замену устаревшим FreeImage и nvDXT
  • Убран просчет RGB и Sun компонентов освещения и оставлен только Hemi
  • Проведена работа по распоточиванию некоторых фаз компиляции и распоточиванию кода сторонних библиотек
  • Интегрирован Discord Rich Presence для возможности следить за статусом компиляции на удаленном ПК
  • Добавлена возможность автоматически выключить ПК после компиляции
  • Реализован прогресс бар на панели задач для отображения состояния текущей фазы компиляции при свернутом приложении
  • Добавлены ключи для ускоренной компиляции уровней в целях тестирования
  • Добавлены экспериментальные ключи для отключения некоторых фаз компиляции и установки параметров в обход параметров СДК
  • Добавлены основные изменения прошлых компиляторов
  • Расширен вывод информации по некоторым ошибкам
  • Исправлены некоторые вылеты оригинальных компиляторов

Внимание: в данном компиляторе по умолчанию отключено запекание статического света и статических теней солнца.

Для включения запекания этих компонентов необходимо использовать соответствующий ключ, указанный в описании.

Описание ключей компиляторов
Компилятор Ключ Описание Пример
xrLC -geometry Компиляция геометрии уровня start bin\compilers_sky_x64\xrCompiler.exe -geometry -f имя_уровня -version название_версии (shoc/cs/cop)
xrDO -details Компиляция детейлов (травы) start bin\compilers_sky_x64\xrCompiler.exe -details -f имя_уровня -version название_версии (shoc/cs/cop)
xrAI -aispawn Компиляция АИ-сетки start bin\compilers_sky_x64\xrCompiler.exe -aispawn -f имя_уровня -version название_версии (shoc/cs/cop)
xrAI -aispawn Сборка спавна start bin\compilers_sky_x64\xrCompiler.exe -aispawn -s имя_уровня1, имя_уровня2, имя_уровня3 -out all
xrLC -noimpl Пропуск стадии LIGHT: Implicit (запекание освещения для террейна)  
xrLC -nocform Пропуск создания level.cform  
xrLC -noresize Отключить уменьшение размеров загружаемых текстур высокого разрешения  
xrLC -skipthm Не прерывать компиляцию при отсутствующих текстурах и файлах thm  
xrLC -removeinvalid Не прерывать компиляцию при найденных invalid faces и удалять их  
xrLC -skipinvalid Не прерывать компиляцию при найденных invalid faces и пропускать их  
xrLC -tex_rgba Не использовать сжатие для сохраняемых текстур  
xrLC -tex_bc7 Использовать BC7 сжатие для сохраняемых текстур (формат поддерживается только на DX11)  
xrLC -silent Автоматически закрыть приложение после завершения компиляции  
xrLC -sleep Выключить компьютер после завершения компиляции  
xrLC -nohemi Отключить запекание освещения. Значительно ускоряет компиляцию. Предназначен для тестирования геометрии  
xrLC -underground Компилировать уровень как подземный. Ускоряет компиляцию  
xrLC -static Запекать статическое освещение (не работает с ключом -nohemi)  
xrLC -cform Экспортировать только коллизию уровня  
xrLC -noise Отключить создание Progressive геометрии. Ускоряет компиляцию, но не создает упрощенную геометрию для уровня и Multiple Usage объектов  
xrLC -nosmg Не использовать группы сглаживания. В зависимости от конкретной геометрии помогает избежать ломаных фейсов/теней, или наоборот добавит их  
xrLC -notess Не тесселировать геометрию. В некоторых случаях может повышать fps в зависимости от конкретной локации. Проверять на практике  
xrLC -noweld Отключить сшивание маленьких треугольников. В некоторых случаях помогает избежать глюков на некоторых типах геометрии  
xrLC -nomerge Пропустить стадию Merging geometry  
xrLC -nostrip Отключить оптимизацию и стрипификацию геометрии  
xrLC -dx_opt Включить оптимизацию геометрии средствами D3DX optimizer вместо NvTriStrip  
xrLC -old_bcform Создавать build.cform в старом формате  
xrLC -gi Включить фазу Radiosity  
xrLC -no_mt_mu Не запускать расчет освещения для Multiple Usage объектов параллельно основной компиляции  
xrLC -high Более высокий приоритет для потоков  
xrLC -saveobj_base Сохранить всю геометрию уровня в модели с расширением .obj (базовая развертка)  
xrLC -saveobj_lmap Сохранить всю геометрию уровня в модели с расширением .obj (лайтмап развертка)  
xrLC -saveobj_cform Сохранить всю коллизию уровня в модель с расширением .obj  
xrLC -qual_draft Установить качество сцены в Draft (не влияет на выставленные шейдеры)  
xrLC -qual_high Установить качество сцены в High (не влияет на выставленные шейдеры)  
xrLC -force_default_shader Принудительно заменять шейдеры материалов с вершинного освещения на лайтмапное (def_vertex->default)  
xrLC -force_vertex_shader Принудительно заменять шейдеры материалов с лайтмапного освещения на вершинное (default->def_vertex)  
xrLC -ppm число Установить качество лайтмапов вместо значения в СДК  
xrLC -weld_dist число Установить Weld distance вместо значения в СДК  
xrLC -hemi_bias число Установить смещение позиции луча при запекании хеми (по умолчанию: 0.1, в оригинале: 0.001)  
xrDO -skipthm Не прерывать компиляцию при отсутствующих текстурах и файлах thm  
xrDO -silent Автоматически закрыть приложение после завершения компиляции  
xrDO -sleep Выключить компьютер после завершения компиляции  
xrDO -nohemi Отключить запекание освещения  
xrDO -static Запекать статическое освещение (не работает с ключом -nohemi)  
xrAI -draft Не просчитывать укрытия для АИ-сетки  
xrAI -verify Проверить АИ-сетку на ошибки  
xrAI -noverbose Не выводить информацию об одиночных нодах (при ключе -verify)  
xrAI -skipthm Не прерывать компиляцию при отсутствующих текстурах и файлах thm  
xrAI -silent Автоматически закрыть приложение после завершения компиляции  
xrAI -sleep Выключить компьютер после завершения компиляции  
xrAI -s имя_уровня1, имя_уровня2, имя_уровня3... Собрать спавн из перечисленных уровней (перечисление через запятую без пробела) -s zaton, labx8, jupiter, jupiter_underground, pripyat
xrAI -out имя Выбрать имя выходного файла спавна -out all
xrAI -no_separator_check Отключить конфликты спейс рестрикторов и АИ-сетки, а также другие ошибки  
xrAI -insert_graph Осуществлять сборку спавна со вшитыми в спавн графами для ТЧ спавна  
xrAI -large_aimap Собрать спавн для уровней с расширенной АИ-сеткой. Все уровни должны иметь такой формат сетки  
xrLC, xrDO, xrAI -help Вызов справки со списком всех ключей запуска  
xrLC, xrDO, xrAI -t число Установить количество потоков для многопоточных операций (не работает с ключом -tbb)  
xrLC, xrDO, xrAI -fsltx имя_файла Использовать свой ltx вместо fsgame.ltx  
xrLC, xrDO, xrAI -log_name имя_файла Создать файл лога с данным именем. Полезно для компиляции локаций очередью  
xrLC, xrDO, xrAI -discord Включить Discord Rich Presence с выводом имени уровня и статуса компиляции  
xrLC, xrDO, xrAI -discord_s Включить Discord Rich Presence с выводом только статуса компиляции  
xrLC, xrDO, xrAI -tbb Использовать TBB многопоточность (не рекомендуется)  
xrLC, xrDO, xrAI -both_texture_pathes Загрузка текстур и thm файлов по обоим путям ($game_textures$ и $textures$)  

 

Примеры

Описание Пример команды
Ускоренная компиляция уровня для тестирования геометрии без запеченного освещения

start bin\compilers_sky_x64\xrCompiler.exe -geometry -f zaton -nohemi -noise
start bin\compilers_sky_x64\xrCompiler.exe -details -f zaton -nohemi
start bin\compilers_sky_x64\xrCompiler.exe -aispawn -f zaton -draft

Компиляция подземного уровня, полностью закрытого nosun геометрией

start bin\compilers_sky_x64\xrCompiler.exe -geometry -f labx8 -underground

Компиляция только коллизии

start bin\compilers_sky_x64\xrCompiler.exe -geometry -f zaton -cform

Компиляция локаций очередью с последующим выключением ПК

start /wait bin\compilers_sky_x64\xrCompiler.exe -geometry -f zaton -log_name zaton_geometry -silent

start /wait bin\compilers_sky_x64\xrCompiler.exe -details -f zaton -log_name zaton_detail -silent

start /wait bin\compilers_sky_x64\xrCompiler.exe -aispawn -f zaton -log_name zaton_aimap -silent

start /wait bin\compilers_sky_x64\xrCompiler.exe -geometry -f jupiter -log_name jupiter_geometry -silent

start /wait bin\compilers_sky_x64\xrCompiler.exe -details -f jupiter -log_name jupiter_detail -silent

start /wait bin\compilers_sky_x64\xrCompiler.exe -aispawn -f jupiter -log_name jupiter_aimap -silent -sleep

 

Ньюансы и советы

Можно не устанавливать ключ -version. В таком случае выходной формат данных будет следующим: для уровня из ТЧ СДК – ТЧ формат, для уровня ЧН/ЗП СДК – ЗП формат.

Для уровней, собранных ТЧ СДК, будет автоматически применяться ТЧ сглаживание, а значит нет необходимости использовать ключ -nosmg (за исключением модифицированных ТЧ СДК, добавляющих группы сглаживания).

При активном ключе -both_texture_pathes на этапе загрузки .thm файлов сначала производится попытка открыть файл по пути $game_textures$ (gamedata\textures), при его отсутствии – по пути $textures$ (rawdata\textures). По умолчанию, для ЧН/ЗП проектов используется только путь $game_textures$, для ТЧ проектов — $textures$.

Для частичного исправления часто встречающейся проблемы с появлением черных полигонов было изменено смещение позиции лучей при запекании затенений от хемисферы. В связи с этим, при моделировании геометрии зданий рекомендуется не создавать ту-сайд геометрию для стен (как, например, у кораблей на Затоне), а выдерживать определенную их толщину. Если же требуется оставить геометрию как есть, то можно вернуть смещение луча на оригинальное значение с помощью ключа -hemi_bias 0.001, но тогда количество черных треугольников будет как при использовании старых компиляторов.

Увеличение значения -hemi_bias (например, на значение от 1.0 до 10.0) в определенных случаях позволяет избавиться от черных треугольников, оставшихся после запекания освещения.

В продакшен версии уровня не рекомендуется использовать ключ -skipthm, поскольку из-за отсутствующих текстур и файлов thm на поверхностях может неправильно запечься свет.

Не следует выставлять Weld distance в ноль. Иногда это провоцирует создание кривых фейковых теней от некоторой геометрии. Лучше поставить небольшое значение, но больше нуля.

В случаях, когда на уровне нужно поправить только коллизию уровня или расставить фейки для актора, можно воспользоваться ключом -cform. Будет компилироваться только коллижн-геометрия уровня без запекания освещения, тем самым значительно уменьшится время компиляции.

Для анализа того, как компилятор изменил геометрию уровня под игру, можно воспользоваться ключами -saveobj_base, -saveobj_lmap и -saveobj_cform. Геометрия будет сохранена по пути temp\geom… в файлы с расширением obj для дальнейшего просмотра их в 3д редакторе. Также ключ -saveobj_lmap может помочь в ручном редактировании лайтмап текстур, если на них были обнаружены проблемы.

 

Установка:

Переместите файлы из архива в:

  • X-Ray_SDK_SoC\level_editor
  • X-Ray_SDK_CS\editors
  • X-Ray_SDK_CoP\editors

Скачать X-Ray Universal Compiler

Размер файла: 7,4 Mb, скачали 21 раз.
Пока комментариев нет
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2024 «Stalker-Portal.ru»