SkyLoader 229 Опубликовано 21 февраля, 2022 (изменено) Универсальные 64-х битные компиляторы уровней Оригинальные компиляторы разработаны: GSC Game worldПравки компиляторов и сборка: SkyLoaderБлагодарности: Abramcumner, K.D. Текущая версия: 1.6 beta Состав компиляторов: Компилятор геометрии [ТЧ, ЧН, ЗП] Компилятор травы [ТЧ, ЧН, ЗП] Компилятор АИ-сетки [ТЧ, ЧН, ЗП] Сборщик спавна [ТЧ, ЧН, ЗП] Основные изменения: Поддержка x64 Поддержка основных игр серии Все компиляторы объединены в одно приложение Интерфейс полностью переписан на WinForms Добавлено меню компилятора, в котором можно выбрать проект уровня, выставить определенные настройки и запустить компиляцию Добавлена система сохранения и загрузки настроек последних проектов Создаваемое количество потоков теперь не фиксировано, а зависит от количества ядер процессора Произведен переход на библиотеку DirectXTex на замену устаревшим FreeImage и nvDXT Убран просчет RGB и Sun компонентов освещения и оставлен только Hemi Проведена работа по распоточиванию некоторых фаз компиляции и распоточиванию кода сторонних библиотек Интегрирован Discord Rich Presence для возможности следить за статусом компиляции на удаленном ПК Добавлена возможность автоматически выключить ПК после компиляции Реализован прогресс бар на панели задач для отображения состояния текущей фазы компиляции при свернутом приложении Добавлены ключи для ускоренной компиляции уровней в целях тестирования Добавлены экспериментальные ключи для отключения некоторых фаз компиляции и установки параметров в обход параметров СДК Добавлены основные изменения прошлых компиляторов Расширен вывод информации по некоторым ошибкам Исправлены некоторые вылеты оригинальных компиляторов Для работы требуется установленный Microsoft Visual C++ 2017 Redistributable х64. Внимание: в данном компиляторе по умолчанию отключено запекание статического света и статических теней солнца. Для включения запекания этих компонентов необходимо использовать соответствующий ключ, указанный в описании. Спойлер Для компиляции геометрии уровня: start bin\compilers_sky_x64\xrCompiler.exe -geometry -f имя_уровня -version название_версии (shoc/cs/cop) Для компиляции детейлов (травы): start bin\compilers_sky_x64\xrCompiler.exe -details -f имя_уровня -version название_версии (shoc/cs/cop) Для компиляции АИ-сетки: start bin\compilers_sky_x64\xrCompiler.exe -aispawn -f имя_уровня -version название_версии (shoc/cs/cop) Для сборки спавна: start bin\compilers_sky_x64\xrCompiler.exe -aispawn -s имя_уровня1,имя_уровня2,имя_уровня3 -out all Спойлер -noimpl - пропуск стадии LIGHT: Implicit (запекание освещения для террейна) -nocform - пропуск создания level.cform -noresize - отключить уменьшение размеров загружаемых текстур высокого разрешения -skipthm – не прерывать компиляцию при отсутствующих текстурах и файлах thm -removeinvalid – не прерывать компиляцию при найденных invalid faces и удалять их -skipinvalid – не прерывать компиляцию при найденных invalid faces и пропускать их -tex_rgba – не использовать сжатие для сохраняемых текстур -tex_bc7 – использовать BC7 сжатие для сохраняемых текстур (формат поддерживается только на DX11) -silent – автоматически закрыть приложение после завершения компиляции -sleep – выключить компьютер после завершения компиляции -nohemi – отключить запекание освещения. Значительно ускоряет компиляцию. Предназначен для тестирования геометрии -underground – компилировать уровень как подземный. Ускоряет компиляцию -static – запекать статическое освещение (не работает с ключом -nohemi) -cform – экспортировать только коллизию уровня -noise – отключить создание Progressive геометрии. Ускоряет компиляцию, но не создает упрощенную геометрию для уровня и Multiple Usage объектов -nosmg – не использовать группы сглаживания. В зависимости от конкретной геометрии помогает избежать ломаных фейсов/теней, или наоборот добавит их -notess – не тесселировать геометрию. В некоторых случаях может повышать fps в зависимости от конкретной локации. Проверять на практике -noweld – отключить сшивание маленьких треугольников. В некоторых случаях помогает избежать глюков на некоторых типах геометрии -nomerge – пропустить стадию Merging geometry -nostrip – отключить оптимизацию и стрипификацию геометрии -dx_opt – включить оптимизацию геометрии средствами D3DX optimizer вместо NvTriStrip -old_bcform - создавать build.cform в старом формате -gi – включить фазу Radiosity -no_mt_mu – не запускать расчет освещения для Multiple Usage объектов параллельно основной компиляции -high – более высокий приоритет для потоков -saveobj_base – сохранить всю геометрию уровня в модели с расширением .obj (базовая развертка) -saveobj_lmap – сохранить всю геометрию уровня в модели с расширением .obj (лайтмап развертка) -saveobj_cform – сохранить всю коллизию уровня в модель с расширением .obj -qual_draft – установить качество сцены в Draft (не влияет на выставленные шейдеры) -qual_high – установить качество сцены в High (не влияет на выставленные шейдеры) -force_default_shader - принудительно заменять шейдеры материалов с вершинного освещения на лайтмапное (def_vertex->default) -force_vertex_shader - принудительно заменять шейдеры материалов с лайтмапного освещения на вершинное (default->def_vertex)-ppm число – установить качество лайтмапов вместо значения в СДК -weld_dist число – установить Weld distance вместо значения в СДК -hemi_bias число – установить смещение позиции луча при запекании хеми (по умолчанию: 0.1, в оригинале: 0.001) Спойлер -skipthm – не прерывать компиляцию при отсутствующих текстурах и файлах thm -silent – автоматически закрыть приложение после завершения компиляции -sleep – выключить компьютер после завершения компиляции -nohemi – отключить запекание освещения -static – запекать статическое освещение (не работает с ключом -nohemi) Спойлер -draft – не просчитывать укрытия для АИ-сетки -verify – проверить АИ-сетку на ошибки -noverbose – не выводить информацию об одиночных нодах (при ключе -verify) -skipthm – не прерывать компиляцию при отсутствующих текстурах и файлах thm -silent – автоматически закрыть приложение после завершения компиляции -sleep – выключить компьютер после завершения компиляции Спойлер -s имя_уровня1,имя_уровня2,имя_уровня3... - собрать спавн из перечисленных уровней (перечисление через запятую без пробела). Например, -s zaton,labx8,jupiter,jupiter_underground,pripyat -out имя - выбрать имя выходного файла спавна. Например, -out all -no_separator_check - отключить конфликты спейс рестрикторов и АИ-сетки, а также другие ошибки -insert_graph - осуществлять сборку спавна со вшитыми в спавн графами для ТЧ спавна -large_aimap - собрать спавн для уровней с расширенной АИ-сеткой. Все уровни должны иметь такой формат сетки Спойлер -help – вызов справки со списком всех ключей запуска -t число – установить количество потоков для многопоточных операций (не работает с ключом -tbb) -fsltx имя_файла – использовать свой ltx вместо fsgame.ltx. -log_name имя_файла – создать файл лога с данным именем. Полезно для компиляции локаций очередью -discord – включить Discord Rich Presence с выводом имени уровня и статуса компиляции -discord_s – включить Discord Rich Presence с выводом только статуса компиляции -tbb – использовать TBB многопоточность (не рекомендуется) -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 Спойлер Спойлер Версия 1.6 beta: Google drive Yandex disk Версия 1.5: Спойлер Добавлена возможность форсировать использование групп сглаживания на определенной геометрии даже при наличии ключа -nosmg. Для использования групп сглаживания на модели необходимо назначить на его материалы компил шейдер, имеющий в названии _smg. Например, def_vertex\def_vertex_smg. Сам компил шейдер достаточно склонировать с оригинального и переименовать с этим постфиксом Добавлена возможность отключить тесселяцию на определенной геометрии (например, на носан коробках). Для этого необходимо назначить на материал компил шейдер, имеющий _no_tess в названии. Однако следует помнить, что отключение тесселяции может порождать потяжки текстур, поскольку не создаются дополнительные вершины, необходимые для оптимизированной развертки Добавлена возможность отключить запекание теней от определенных MU моделей. Компил шейдеры MU моделей должны иметь _no_mu_shadow в названии. Отличие данного решения от обычного отключения галки Cast shadow заключается в том, что в данном случае будет применяться самозатенение MU модели, и модель не будет высветлена Отключены некоторые фазы компиляции в режиме -nohemi. Также теперь в этом режиме создается только одна пара лайтмап текстур на весь уровень При выключенном запекании статического освещения текстура лайтмапы террейна сохраняется с разрешением 32x32 Исправлен экспорт левел ченджеров в ЧН и ЗП Добавлен новый алгоритм выполнения фазы "Merging geometry". Потребляет чуть больше памяти, но выполняется быстрее Фаза создания коллизии уровня перемещена перед фазой тесселяции для уменьшения полигонажа Добавлена опция отображения максимального потребления памяти при компиляции Новые ключи для компилятора геометрии: -no_bcform - пропустить фазы "Building rcast-CFORM model", "Building rcast-CFORM-mu model" и отключить создание файла build.cform, необходимого компиляторам для запекания освещения детейлов и расчета укрытий АИ-сетки. Работает только с ключом -nohemi и предназначен для ускорения компиляции без расчетов освещения-old_merge - вернуть использование старого алгоритма фазы "Merging geometry"-lmap_size число - разрешение лайтмап текстур. По умолчанию 1024-border число - изменить значение переменной BORDER в коде компиляторов. По умолчанию 1-subdiv_size число - изменить максимальный размер участков (в метрах), на которые разбивается большая геометрия. По умолчанию 32-bparams_ext - поддержка расширенных настроек уровней, экспортированных SDK от Yara Новый ключ для компилятора АИ-сетки: -force_large_aimap - форсировать открытие АИ-сетки оригинального формата с большим количеством АИ-нод (более 8 млн). Ключ экспериментальный, корректность АИ-сетки не гарантируется. Для корректного экспорта необходима АИ-сетка нового формата. Новые ключи для сборщика спавна: -actor_level имя_уровня - выбрать уровень для спавна актора. Позволяет избежать рутинного удаления актора вручную с каждого уровня. Будет заспавнен только актор с выбранного уровня, остальные проигнорированы. Если же его нет на уровне, то он автоматически создастся в нулевых координатах-no_levels_section - игнорировать список уровней из секции [levels]. Позволяет не прописывать каждый уровень в эту секцию. В этом случае общий спавн будет собран из списка уровней, прописанных в батнике-skip_invalid_class - пропускать вылет "Can't create entity". Все объекты с некорректными и неизвестными классами будут проигнорированы и не попадут в общий спавн Google drive Yandex disk Версия 1.4b: Спойлер Добавлена поддержка формата расширенной АИ-сетки. Сетка будет автоматически экспортироваться в новый формат при обнаружении нового формата в файле проекта из СДК. Для данного формата также необходим измененный игровой движок и СДК Для сборки спавна добавлен ключ -large_aimap, предназначенный для уровней с расширенной АИ-сеткой. Все уровни должны иметь одинаковую версию АИ-сетки Оптимизована система трассировки. На оригинальных локациях стадии запекания освещения заняли на ~30% меньше времени. Предположительно, на тяжелых локациях ускорение будет больше Распоточена упаковка вершин коллизии. На тяжелых локациях может немного ускорить фазы, связанные с CFORM. Правка экспериментальная, поэтому для отключения добавлен ключ -no_mt_cdb_pack Создан новый формат build.cform, поддерживающий более 60 млн вершин и 110 млн треугольников Исправлено сохранение больших файлов Добавлена поддержка MU объектов, не имеющих ни одного материала с Cast shadow Компилятор травы больше не запрашивает и не загружает build.cform и build.lights при ключе -nohemi Компилятор АИ-сетки больше не запрашивает и не загружает build.cform при ключе -draft Добавлен ключ -force_default_shader для принудительной замены шейдеров материалов с вершинным освещением на лайтмапное (def_vertex -> default) Добавлен ключ -force_vertex_shader для принудительной замены шейдеров материалов с лайтмап освещением на вершинное (default -> def_vertex) Ключ -t теперь влияет на количество TBB потоков Расширена информация по некоторым ошибкам при сборке спавна Отключена загрузка текстур и thm файлов по обоим путям ($game_textures$ и $textures$) во избежание путаницы и конфликтов. Теперь для ЧН/ЗП уровней производится загрузка только по $game_textures$, а для ТЧ по $textures$ Добавлен ключ -both_texture_pathes для возвращения загрузки текстур по обоим путям Отключен вылет iFloor((source_position.z - header().box().min.z)/header().cell_size() + .5f) при нахождении объекта за пределами АИ-сетки. Добавлен вывод в лог некорректной позиции и производится попытка сместить позицию на крайнюю аи-ноду Убрано изменение level файла при ключе -cform Добавлено завершение записи level файла перед сообщением об успешной компиляции При ключе -saveobj_cform разделен экспорт геометрии на два файла: raycast геометрию и коллизию Не используемые при запекании выходные текстуры сохраняются с разрешением 32х32 Добавлена возможность прописать абсолютный путь к выходному спавну. Такой путь должен быть указан в кавычках и не содержать кириллицы. Например: -out "e:\Games\STALKER - COP\gamedata\spawns\all.spawn" -no_separator_check Добавлен вывод ключей в лог при старте компилятора через батник Google drive Yandex disk Версия 1.3a: Спойлер Добавлена поддержка сборки ТЧ спавна Для ТЧ спавна добавлен ключ -insert_graph, который осуществляет сборку спавна со вшитыми в спавн графами Мультивыбор уровней в списке на добавление в спавн Добавлена поддержка чтения файлов больше 2 Гб Google drive Yandex disk Версия 1.2: Спойлер Добавлена поддержка сборки ЧН спавна Добавлена поддержка групп сглаживания для ТЧ локаций При ключе -removeinvalid больше не удаляются полигоны с нулевой площадью текстурных координат. Координаты заменяются на константное значение Улучшено взаимодействие потоков расчетов лайтмапов и обработки MU моделей между собой Добавлен ключ -nocform для пропуска создания level.cform В создаваемый компилятором compiler.ini добавлены параметры проектов по умолчанию (секция [compiler_pref]). К примеру, чтобы включить автоматическую установку флага -static для новых проектов, следует выставить параметр gm_static в on. Добавлено больше информации о фазах сборки спавна Google drive Yandex disk Версия 1.1: Спойлер Изменено хранение загружаемых текстур, что уменьшило потребление оперативной памяти Добавлено автоматическое уменьшение размеров загружаемых текстур высокого разрешения до 1К, что тоже повлияло на уменьшение потребления памяти Уменьшен шанс появления черных треугольников при недостаточном значении Pixel per meter Добавлено отключение стрипификации и прогрессивов у высоколигональных мешей для пропуска вылетов "iNumVerts < 65535" и "OGF::Stripify" Добавлен ключ -noimpl для пропуска стадии LIGHT: Implicit Добавлен ключ -noresize для отключения уменьшения размеров загружаемых текстур высокого разрешения Исправлено возможное подвисание окна приложения Исправлено некорректное запекание освещения для некоторых террейнов Исправлено не добавление ключа формата при старте компиляции из меню Исправлена оригинальная ошибка распараллеливания на стадиях запекания освещения Исправлен вылет при отсутствии implicit текстур Google drive Yandex disk Версия 1.0: Google drive Yandex disk Спойлер Можно не устанавливать ключ -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 может помочь в ручном редактировании лайтмап текстур, если на них были обнаружены проблемы. Изменено 6 октября пользователем SkyLoader 16 17 1 1 4 3 8 4 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SkyLoader 229 Опубликовано 20 июля (изменено) Доступно обновление до версии 1.6 beta! В новом обновлении была проведена большая работа над ускорением алгоритмов, их оптимизации, реализации расчетов на CUDA ядрах и внедрении новой современной библиотеки рейтрейсинга Intel Embree. По этой причине и по причине ввода некоторых экспериментальных фич, было решено выложить бета версию в публичный доступ, чтобы собрать фидбек и исправить возможные ошибки и недочеты Спасибо за тестирование альфа версии: @Unfainthful, @AfterGlow, @Operator_Nanami, @Alexl Минимальные требования для использования Embree: Процессор с поддержкой SSE2 инструкций. Для достижения лучшей производительности рекомендуется процессор Intel с поддержкой AVX, AVX2 и AVX-512 инструкций Минимальные требования для ускорения вычислений на CUDA: Операционная система: Windows 10 Видеокарта Nvidia с поддержкой CUDA Видеодрайвер версии 452.39 и старше Скачать (upd: 06.10.24): Google drive Yandex disk Основные изменения версии 1.6: Геометрия: Часть алгоритмов компиляторов была переписана под многопоточное использование и вычисление на видеокарте Для ускорения рейтрейсинга подключена библиотека Embree с полноценной поддержкой прозрачных поверхностей и инстансов Оптимизированы фазы запекания освещения и расчетов укрытий АИ-сетки Исправлен пересвет хеми у MU объектов в аутдоре. Данная проблема имелась даже на оригинальных локациях, и сейчас все объекты (для исключением объектов в зданиях) более менее выровнены по значению хеми Лайтмап текстуры теперь автоматически расширяются до 4К разрешения. Благодаря этому на этапе сшивания геометрии больше вершин будут объединены за счет схожих текстур. Также данное разрешение было выбрано, так как оно поддерживается более-менее старыми видеокартами Изменена последовательность условий при распределении лайтмапов по холстам Изменено условие тесселяции треугольников. Теперь тесселяция производится только при большой площади текстурных координат у треугольников Добавлена подфаза оптимизации текстурных координат, которая нацелена на исправление потяжек текстур Исправлена проблема потенциальных потяжек текстур на геометрии с наложенными текстурами большого разрешения Убрана фаза Building tangent-basis, теперь действия этой фазы выполняются в процессе Converting to OGFs Экспериментальный отказ от использования THM файлов. Данные файлы используются компилятором для определения наличия прозрачности у текстур, чтобы в дальнейшем использовать текстуры при запекании освещения. Теперь проверка прозрачности происходит через чтение игровых шейдеров (shaders.xr). Производится поиск материалов с шейдером, который поддерживает полупрозрачность, и подгружаются только нужные текстуры. Также в подгружаемых текстурах дополнительно проверяется наличие альфа канала. Если его не обнаруживается, то текстура выгружается, а поверхность становится непрозрачной. Данный переход на использование shaders.xr поможет избавиться от проблемы с обработкой сломанных и некорректно настроенных THM файлов Фаза Radiosity (ключ -gi) автоматически отключается с использованием Embree, поскольку фаза стала deprecated. На первых версиях компилятора она уже работала не так как надо, поэтому в планах совсем её вырезать Уменьшен размер структуры треугольников, что уменьшило потребление памяти Новый формат build.cform, имеющий меньший вес файла Спавн: Оптимизация в фазе сборки графов В спавн добавлена поддержка классов W_MOUNTD и Z_AMEBA Экспериментальный отказ от необходимости заполнения секции [levels]. Теперь список формируется из добавленных пользователем спавнов, и идентификаторы уровней идут по возрастанию. Для возвращения чтения секции добавлен ключ -use_levels_section Добавлен ключ -spawn_version <значение> для принудительного выставления версии спавна При ошибке "Can't find any graphs! Check log" могут дополнительно выводиться количество уровней без АИ-сетки и количество АИ-сеток с расхождением версий, если таковые имеются Интерфейс: В меню добавлена опция перезагрузки меню после успешной компиляции В случае успешной компиляции при наличии опции выключения ПК теперь появляется окно с полуминутным таймером и возможностью отменить выключение Сообщения об инвалид фейсах и split faces больше не выводятся в окне, выводится только их количество. В лог всё пишется как раньше Добавлены новые опции ускорения вычислений Исправлено сохранение дополнительных ключей для компилятора АИ-сетки Добавлено поле дополнительных ключей в сборку спавна Изменено 6 октября пользователем SkyLoader 17 1 1 4 3 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SkyLoader 229 Опубликовано 9 апреля, 2022 Graff46 ключ отключает запекание освещения террейна и пересоздавание его текстуры, тем самым ускоряя компиляцию. Нужно для случаев, когда, например, менялась геометрия внутри зданий, и оно не могло повлиять на затенение террейна. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Graff46 178 Опубликовано 9 апреля, 2022 (изменено) SkyLoader Можно этот ключ в интерфейс добавить? Спойлер Изменено 9 апреля, 2022 пользователем Graff46 Не ... Сталкер могут сделать только русские.© С. Григорович. 03.10.2014 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 932 Опубликовано 1 мая, 2022 (изменено) Предлагаю добавить параметр -nocform для пропуска этапа создания level.cform. Бывают случаи, когда на сверхсложной карте гигантский level.cform долго компилится, вплоть до вылетов, а в игре вообще вылетает по памяти. В то же время, в игру можно от ранее созданного упрощенного варианта карты подставить упрощенный level.cform, а гигантский всё равно выкидывается. Изменено 1 мая, 2022 пользователем macron Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1_A 191 Опубликовано 4 мая, 2022 Спасибо за версию 1.1, насчет пожеланий следующих версий, то это как то попробовать ускорить процес сборки, геометрии и спавна. Мне к примеру приходится очень часто при работе изменять спавн и тестировать, трачу на все минуты 2-3, но при этом делаю сборку часто - чем быстрее тем лучше. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SkyLoader 229 Опубликовано 8 мая, 2022 В 10.04.2022 в 02:56, Graff46 сказал: Можно этот ключ в интерфейс добавить? Да В 01.05.2022 в 15:52, macron сказал: Предлагаю добавить параметр -nocform для пропуска этапа создания level.cform. В то же время, в игру можно от ранее созданного упрощенного варианта карты подставить упрощенный level.cform, а гигантский всё равно выкидывается. Можно будет добавить когда-нибудь. И тогда уж для компиляции нужно будет запрашивать не level.cform, а build.cform, как это сделано для детейлов и аи-сетки. В 04.05.2022 в 16:39, 1_A сказал: насчет пожеланий следующих версий, то это как то попробовать ускорить процес сборки, геометрии и спавна. Спавн вряд ли получится ускорить, а по геометрии может что-то будет, но не в ближайшее время. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
hi_flyer 535 Опубликовано 9 мая, 2022 SkyLoader потестил на ТЧ версию 1.1, заметил такой момент - при сборке аи-сетки похоже не просчитываются укрытия ( ключ -draft не был выставлен). То есть, сетка считается буквально пару минут максимум, хотя на моей локации должна считаться пару часов. Подобная же проблема есть и в старых х64 AI компиляторах от K.D. Ну, и от себя в список предложений могу добавить - сделать кнопку сохранения прогресса компиляции геометрии. Т.е. что-то типа полного дампа памяти процесса в файл, с возможностью его загрузки, и возобновления компиляции. Было бы очень удобно когда компилируешь локацию по 20-50 часов. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SkyLoader 229 Опубликовано 9 мая, 2022 (изменено) 3 часа назад, hi_flyer сказал: потестил на ТЧ версию 1.1, заметил такой момент - при сборке аи-сетки похоже не просчитываются укрытия ( ключ -draft не был выставлен). Проверил на ТЧ версии МП АТП. Укрытия просчитываются и зависимость от ключа -draft работает. Для сравнения версия с просчетом укрытий: Версия без укрытий (на драфте): Скорее всего тебя смутило только время расчета, а не какие-то проблемы в игре. Во первых, из компиляции был вырезан рудимент в виде освещения АИ-нод. В ЗП компиляторе уже был вырезан расчет освещения нод, а в коде движка ТЧ я не заметил его использования в игре, поэтому эти просчеты также были убраны для ТЧ локаций. Ну и во вторых, компилятор использует все ядра ПК, что ускорило просчеты по сравнению с предыдущими компиляторами. 3 часа назад, hi_flyer сказал: Ну, и от себя в список предложений могу добавить - сделать кнопку сохранения прогресса компиляции геометрии. В условиях параллельного выполнения задач в компиляторе это будет не просто сделать. На этот счет пока ничего сказать не могу. Изменено 9 мая, 2022 пользователем SkyLoader Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
hi_flyer 535 Опубликовано 9 мая, 2022 2 часа назад, SkyLoader сказал: Скорее всего тебя смутило только время расчета, а не какие-то проблемы в игре. Во первых, из компиляции был вырезан рудимент в виде освещения АИ-нод. В ЗП компиляторе уже был вырезан расчет освещения нод, а в коде движка ТЧ я не заметил его использования в игре, поэтому эти просчеты также были убраны для ТЧ локаций. Ну и во вторых, компилятор использует все ядра ПК, что ускорило просчеты по сравнению с предыдущими компиляторами. Да, именно то, что я привык, что сетка довольно долго просчитывалась. Тогда вопросов нет, круто ? Кстати, а есть какие новости по возможности запекания лайтмапов на GPU? Насколько я знаю, в xrLC xray oxygen такая возможность уже давно есть. В принципе, с такой возможностью сохранять из памяти ничего и не нужно, лайтмапы довольно шустро должны будут просчитаться. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 932 Опубликовано 10 мая, 2022 Предлагаю (для тех, кто знает толк в извращениях) добавить ключ обходящий запрет на число ai-нод. По крайней мере, встречал компиляторы, продолжающие работать после этой ошибки. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 932 Опубликовано 5 июля, 2022 Странно, вылетает компиляция геометрии.(( xrCompiler.exe -geometry -version shoc -skipinvalid -noise -f level Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
St4lker0k 164 Опубликовано 12 июля, 2022 При компиле ТЧ локи вылетает: Спойлер * Detected CPU: GenuineIntel Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz, F6/M158/S11 * CPU features: RDTSC, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AES, AVX, FMA3, RDRAND, AVX2 * CPU cores/threads: 4 * RAM: Total memory: 8 Gb X-ray Exogenesis engine [Universal level compiler edition] 'xrCore' build 4495, Apr 8 2022 Initializing File System... Using FileSystem ltx: fsgame.ltx FS: 125767 files cached 0 archives, 24561Kb memory used. Init FileSystem 39.993999 sec Initializing task sheduler... Task sheduler initialized with 3 threads and 1 task groups Startup time: 22:32:16, date: 12.7.2022 * New phase started: Reading project [l01_escape_1935]... | | Input file version: 17 | | Output file version: 17 * Phase ended: Reading project [l01_escape_1935]... - 00:00:00 * New phase started: Converting data structures... | Vertices... | | * vertices: 396700 | Faces... | | * faces: 689464 | Models and References | | * Loading model: 'props\objects\musor\trash_traktor_3' | | * Loaded model: 'props\objects\musor\trash_traktor_3' - v(1103/1103), f(2150/2150) | | * Loading model: 'чяяячяяя' stack trace: 0033:00000000640112DB VCRUNTIME140.dll, memcmp() 0033:000000001F82A326 xrCore.dll, IReader::r() 0033:00000000E6F3A259 xrCompiler_Light.dll, xrMU_Model::Load() 0033:0000000023DBF9E2 xrCompiler_Geometry.dll 0033:0000000023DD179D xrCompiler_Geometry.dll, xrCompileGeometry() [error][ 6] : Неверный дескриптор. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SkyLoader 229 Опубликовано 13 июля, 2022 В 05.07.2022 в 22:46, macron сказал: Странно, вылетает компиляция геометрии.(( xrCompiler.exe -geometry -version shoc -skipinvalid -noise -f level Выглядит как битый билд уровня. Можно перебилдить тем же сдк или другим. В 12.07.2022 в 22:33, St4lker0k сказал: При компиле ТЧ локи вылетает: Если уровень билдился сдк от Yara, то так и должно быть. В том сдк был изменен формат проекта уровня, который не поддерживается обычными ТЧшными компиляторами. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
St4lker0k 164 Опубликовано 13 июля, 2022 SkyLoader а будет ли в патче 1.2 поддержка сдк от Yara? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 932 Опубликовано 14 июля, 2022 7 часов назад, SkyLoader сказал: Выглядит как битый билд уровня. А в целом файлы-проекты больше 2gb поддерживаются? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel_Blend 151 Опубликовано 21 июля, 2022 SkyLoader привет. Я сейчас тестировал компилятор. У меня не получается сохранить сглаживание для тч. Моя команда выглядит так: start bins\compilers_sky_x64\xrCompiler.exe -geometry -f test_skyloader_compiler_sg -version soc -tex_rgba -static Но компилятор не сохраняет сглаживание модели, а использует Normal smooth angle. В итоге две одинаковые модели, но с разным форматом сглаживания (одна в ТЧ формате, другая в ЗП) в игре выглядят одинаково, так как Normal smooth angle их одинаково обрабатывает. Компилятор игнорирует группы сглаживания. Я ожидал, что компилятор будет учитывать ТЧ группы сглаживания, если указано -shoc и будет учитывать ЗП сглаживание рёбер, если указано -cop. А если указать -nosmg, то будет использоваться Normal smooth angle. Возможно ли добавить поддержку ТЧ групп? Или в prj файлах для ТЧ о них нет информации? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Modera 329 Опубликовано 21 июля, 2022 8 минут назад, Pavel_Blend сказал: Или в prj файлах для ТЧ о них нет информации? Нету. В ТЧ сглаживание используется только для экспорта .ogf из ActorEditor'а, ну и для отображения объектов в самом редакторе. А на уровни не влияет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel_Blend 151 Опубликовано 21 июля, 2022 Modera а ты это по исходникам понял или чисто на практике? Может они сохраняются, но не используются? Сейчас тестировал с ключом cop и сглаживание всё равно не сохраняется. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Modera 329 Опубликовано 21 июля, 2022 Pavel_Blend из исходников. В чистом небе сглаживание пишется в build.prj в чанк 0x10, ТЧ-LevelEditor такой чанк не записывает. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel_Blend 151 Опубликовано 21 июля, 2022 3 часа назад, Pavel_Blend сказал: Сейчас тестировал с ключом cop и сглаживание всё равно не сохраняется. я кажется понял в чём проблема. Компилятор проверяет версию формата *.prj, и если она из сдк 0.5, 0.6, 0.7, то сглаживание (чанк 0x10) будет использоваться. А если версия из сдк 0.4, то не будет, даже если этот чанк есть (сдк от yara его создаёт). Может убрать проверку на версию формата и полагаться только на наличие чанка со сглаживанием? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SkyLoader 229 Опубликовано 25 июля, 2022 В 21.07.2022 в 20:39, Pavel_Blend сказал: Может убрать проверку на версию формата и полагаться только на наличие чанка со сглаживанием? Можно конечно убрать проверку, правда это не совсем безопасно. Помимо чанка со сглаживанием для обычной геометрии еще есть сглаживание для каждого MU объекта (в ЧН/ЗП), и оно не вынесено под отдельный чанк, а лежит вместе с данными о вершинах. Из-за этого можно получить неправильное чтение данных. Но опять же можно положиться чисто на наличие чанка и надеяться, что во входном формате имеется та же зависимость наличия сглаживания MU объектов от наличия чанка. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel_Blend 151 Опубликовано 26 июля, 2022 SkyLoader я использую сдк для тч от yara. Он наверное всё правильно сохраняет. Я хочу твой компилятор использовать в связке с yara сдк. Если будешь тестировать на этом сдк, то его здесь можно скачать: https://github.com/X-Ray-Engine-STALKER/xray-sdk-soc/releases Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yara 117 Опубликовано 27 июля, 2022 В 22.02.2022 в 04:44, SkyLoader сказал: -hemi_bias число – установить смещение позиции луча при запекании хеми (по умолчанию: 0.1, в оригинале: 0.001) Нашёл в xrDeflectorLight.cpp, PMoved.mad(Pnew,Ldir,0.001f); Ещё есть в detail_slot_calculate.cpp, стоит ли для травы также править? Пример труб с вертексным шейдером, оригинал 0.001f и с 0.1f: В 26.07.2022 в 03:13, SkyLoader сказал: Можно конечно убрать проверку, правда это не совсем безопасно. В ТЧ ещё обратный порядок, в котором записывается sun / hemi в лайтмапы: lm_layer.cpp, lm_layer::Pack_hemi // soc *W++ = color_rgba(_h,_h,_h,_d); // cop //*W++ = color_rgba(_d,_d,_d,_h); Это следует учесть, если убирать проверку на версию формата. Также, в билде сдк (от 03.10.2021) добавлены параметры, которые были в старых версиях сдк: https://bitbucket.org/Yar0s1av/xray_stalker_sdk_04_fixed/commits/8024d6a275ca4a510f8ecdb55481533b1d030e2b#Leditors/LevelEditor/Engine/communicate.hT142 Соответственно и build.prj карты будет с ними. Для этого пересобрал ЗП-xrLC, добавив в communicate.h, а также в: xrDeflectoL_Direct.cpp, JS.set(.4999f/dim.x, .4999f/dim.y); xrLight_Implicit.cpp JS.set(.499f/dim.x, .499f/dim.y); заменил на: JS.set(g_params().m_lm_jitter/dim.x, g_params().m_lm_jitter/dim.y); 22 часа назад, Pavel_Blend сказал: https://github.com/X-Ray-Engine-STALKER/xray-sdk-soc/releases Устарело, есть новее: https://bitbucket.org/Yar0s1av/xray_stalker_sdk_04_fixed/downloads/ https://sites.google.com/view/xray-sdk-0-4-smg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 932 Опубликовано 28 августа, 2022 (изменено) Потестировал -hemi_bias. Очень полезный параметр. По умолчанию были темные полосы на дорожной разметке и затемнения на окнах тестового здания: Исправилось при -hemi_bias 0.4. Но пожарная станция всё равно местами чернела и при -hemi_bias 0.4, и при -hemi_bias 1. Нормально стало при -hemi_bias 10. Дополнено 28 минуты спустя Глючил сетчатый забор, помог параметр -noweld. Дополнено 32 минуты спустя А параметр -notess помог существенно повысить fps, как раньше на дизелевском компиле было. Изменено 28 августа, 2022 пользователем macron Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SkyLoader 229 Опубликовано 30 августа, 2022 (изменено) В связи с недавним откатом сайта повторяю посты с релизами версий. Версия 1.2: Спойлер Добавлена поддержка сборки ЧН спавна Добавлена поддержка групп сглаживания для ТЧ локаций При ключе -removeinvalid больше не удаляются полигоны с нулевой площадью текстурных координат. Координаты заменяются на константное значение Улучшено взаимодействие потоков расчетов лайтмапов и обработки MU моделей между собой Добавлен ключ -nocform для пропуска создания level.cform В создаваемый компилятором compiler.ini добавлены параметры проектов по умолчанию (секция [compiler_pref]). К примеру, чтобы включить автоматическую установку флага -static для новых проектов, следует выставить параметр gm_static в on. Добавлено больше информации о фазах сборки спавна Спойлер Google drive Yandex disk Версия 1.3: Данное обновление направлено на поддержку сборки ТЧ спавна. Теперь для ТЧ спавна достаточно воспользоваться только ключом -s, так как все фазы сборки левел графов, гейм графа и спавна объединены в одну задачу. Также в меню компилятора можно выбрать список уровней, которые будут присоединены к общему спавну. Второе нововведение для ТЧ спавна, это ключ -insert_graph. Он позволяет вшить все графы уровней в файл спавна, как это реализовано в ЗП. Это облегчит перенос спавна из рабочей директории сдк в директорию игры, поскольку не нужно переносить все файлы графов и таблиц связности АИ-сетки с графами, а лишь перенести один файл спавна. Однако такой формат спавна потребует изменения игрового движка, поэтому ниже приложена ссылка на коммит, который можно адаптировать под свою версию движка. https://github.com/SkyLoaderr/OGSR-Engine/commit/c756706c6b1fb826bfaf53a83cedea579b38b971 Спойлер Добавлена поддержка сборки ТЧ спавна Для ТЧ спавна добавлен ключ -insert_graph, который осуществляет сборку спавна со вшитыми в спавн графами Мультивыбор уровней в списке на добавление в спавн Добавлена поддержка чтения файлов больше 2 Гб Спойлер Google drive Yandex disk Изменено 7 сентября, 2022 пользователем SkyLoader 4 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 109 Опубликовано 7 сентября, 2022 SkyLoader с чем может быть связано: Спойлер Initializing task sheduler... Task sheduler initialized with 3 threads and 1 task groups Final compiler params: -geometry -f l09_desertlands -version shoc -high -t 6 -ppm 0.000000 -nosmg Startup time: 22:33:40, date: 7.9.2022 * New phase started: Reading project [l09_desertlands]... | | Input file version: 17 | | Output file version: 17 * Phase ended: Reading project [l09_desertlands]... - 00:00:00 * New phase started: Converting data structures... | Vertices... | | * vertices: 168054 | Faces... | | * faces: 279886 | Models and References | | * Loading model: 'props\objects\musor\trash_lada_lod' | | * Loaded model: 'props\objects\musor\trash_lada_lod' - v(1087/1087), f(2100/2100) | | * Loading model: '' * [x-ray]: crt heap[100140 K], process heap[100140 K] * [x-ray]: economy: strings[4194303 K], smem[0 K] FATAL ERROR [error]Expression : fatal error [error]Function : out_of_memory_handler [error]File : f:\s.t.a.l.k.e.r.sources\x-ray_universal_compiler\src\xrcore\xrdebugnew.cpp [error]Line : 374 [error]Description : <no expression> [error]Arguments : Out of memory. Memory request: 44704.0 M stack trace: 0033:00000000EDF2C34F xrCore.dll, xrDebug::fatal() 0033:00000000EDF2B75D xrCore.dll, xrDebug::_initialize() 0033:00000000F3C24FE8 ucrtbase.DLL, callnewh() 0033:00000000F3C2D8AB ucrtbase.DLL, _intrinsic_setjmpex() 0033:00000000EDF2CEA1 xrCore.dll, xrMemory::mem_alloc() 0033:0000000000285B6B xrCompiler_Light.dll, Tface<data_vertex>::SetVertex() 0033:00000000002BA27B xrCompiler_Light.dll, xrMU_Model::Load() 0033:00000000EF98F9A5 xrCompiler_Geometry.dll 0033:00000000EF9A182D xrCompiler_Geometry.dll, xrCompileGeometry() пишет нехватка памяти вроде как, но на других компиляторах всё норм, локация небольшая собирал на медиуме - тоже нормально было, а тут вот это пишет ещё такое было при попытке собрать траву: Спойлер Initializing task sheduler... Task sheduler initialized with 3 threads and 1 task groups Final core params: -details -f l09_desertlands -version shoc -high -t 6 -ppm 0.000000 -skipthm Startup time: 22:22:29, date: 31.8.2022 * New phase started: Reading project [l09_desertlands]... * Phase ended: Reading project [l09_desertlands]... - 00:00:00 * New phase started: Loading level... | Loading CFORM... * Level CFORM: 119479K | Loading lights... | | lights file version: 1 | Loading project... | | file version: 17 | | * materials: 270 stack trace: 0033:00000000FDBECACD KERNELBASE.dll, RaiseException() 0033:00000000F3764411 VCRUNTIME140.dll, is_exception_typeof() 0033:00000000774B0801 ntdll.dll, RtlRestoreContext() 0033:0000000000428D4C xrCompiler_Light.dll, xrLC_GlobalData::operator=() 0033:0000000000453779 xrCompiler_Light.dll, xrCompileDO() 0033:0000000000450FB4 xrCompiler_Light.dll, xrCompileDO() [error][ 6] : Неверный дескриптор. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты