Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SDK для 4A Engine своими руками
GAMEINATOR forums > Общие разделы > Создание и модификация игр. Геймдев.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
Modera
Мне тут предложили создать отдельную тему по поводу редактора уровней который я показывал в теме "Вскрытие ресурсов Метро 2033", так что теперь все новости и прочее будет здесь.

Скачать актуальную версию можно тут:
Папка на гугл диск. Исходники там же.

Скачать последнюю тестовую версию можно тут:
Тестовая версия.

Репозиторий на Bitbucket

Скриншоты

Уровни из 2033 и Last Light с погодой:




Уровни из арктики:





Уровни из исхода:




Чейнджлог

Версия от 28 февраля 2019:
  • Добавлена возможность открывать уровни арктики.1 и Метро Исход (сохранять их есстественно нельзя)
  • Новый пункт меню Render -> Set texture quality для установки качества текстур. По умолчанию 512.
  • Ускоренное перемещение камеры с зажатым Shift


Версия от 17 марта 2019:
  • Теперь параметры текстур читаются из textures.bin или texture_handle_storage.bin, а не угадываются
  • Добавлена поддержка детальных текстур
  • Добавлена возможность редактировать секцию startup из редактора (В меню Level -> Options)
  • Добавлен список объектов на уровне с возможностью выбора (в меню Level -> Select entity)
  • Улучшен редактор параметров, теперь параметры идут в таком же порядке как в level.bin, учитываются вложенные секции и можно редактировать векторы


Версия от 23 марта 2019:
  • Улучена работа функций перемещения и вращения. Всё ещё не так хорошо работает как хотелось бы, но реагирует на нажатия теперь нормально.
  • В меню пункт Save теперь сохраняет level.bin в ту папку из которой он был открыт. Для сохранения в другое место добавлен пункт Save as.
  • Список объектов теперь сортируется.
  • Во фрейм Entity добавлены кнопки Rename и Delete.
  • Параметры типа entity_link, uobject_link теперь показывают не id, а имя. При нажатии объект выбирается из списка. Надеюсь это удобнее.


Версия от 30 апреля 2019:
  • Экспорт сцены
  • Загрузка уровней последнего света
  • Начальная реализация редактора скриптов
  • Добавлен model_Editor, для более удобного назначения материалов на конвертированных моделях.
  • Добавлено окошко выбора модели с предпросмотром. Открывается даблкликом на параметре visual : ref_model или visual : choose.
  • Так же добавлено более понятное редактирование флагов объектов, открывается даблкликом на oflags : bool8
  • В редакторе параметров теперь показываются значения векторов
  • Улучшена поддержка уровней исхода, но до идеала ещё очень далеко
  • Коллизия моделей теперь загружается из файлов nxcform_pc (или nxcform_xbox для last light) в случае их присутствия, а не генерируется на лету. По идее ускоряет загрузку уровней, но иногда могут быть проблемы с выделением.


Версия от 18 августа 2019:
  • Версия игры при загрузке уровня теперь определяется автоматически
  • Новая система загрузки level.bin от LL/Redux/Arktika.1/Exodus на джаваскрипте
  • Почти полноценная поддержка ластлайта(длц уровни всё ещё полностью не загружаются)
  • Возможность вращать и перемещать несколько объектов сразу
  • Возможность создавать шаблоны(кнопка add) с несколькими объектами, parent_id и прочие ссылки переназначаются автоматически
  • Виртуальные папки в списке объектов, для указания папок использовать обратный слеш в имени при добавлении шаблона
  • Импорт моделей в model_editor
  • Зум колёсиком в редакторе скриптов
  • Копирование и вставка в LE
  • Минимальная поддержка уровней Redux
  • Исправлено отзеркаливание сцены по оси Z (только LE, в следующей версии будет и ME)


Версия от 25 августа 2019:
  • Доделана загрузка DLC уровней от Last Light
  • Кнопка Clear в редакторе скриптов
  • Уровни ласт лайта при сохранении через Save As теперь сохраняются без отладочной информации, как оригинальные. Хотя работало и так.


Версия от 20 января 2020:
  • альфа блендинг и дисторт
  • допилены манипуляторы, добавлен скейл
  • PhysX2 заменён на PhysX3, теперь объекты с масштабом выбираются корректно
  • Загрузка скелета и работа с прикреплёнными объектами (прикрепить на ctrl+shift)
  • Выбор партиклов/звуков/костей/бон партов/текстур/анимаций света
  • Редактирование Str_array
  • Редактирование матриц
  • работа с шейпами (удалить шейп ctrl+X, прицепить шейп ctrl+Z)
  • Поддержка последней версии Метро 2033 с патчами
  • Сохранение nxcform из model_editor
  • Выбор шейдеров и материалов в model_editor
  • Работа с LODами в model_editor
  • Загрузка и сохранение level.add.bin, в меню Level: Make addon помечает выбранные объекты для сохранения в level.add.bin, Make Global возвращает обратно в основной level.bin


Версия от 30 марта 2020:
  • Z = -Normal
  • Галочка Select для выделения свежедобавленных объектов
  • Возможность скрывать объекты
  • добавлена возможность указывать объект который используется как pivot при создании группы
  • по просьбам людей с поломанной виндой на которую не ставится PhysX библиотека PhysXLoader.dll теперь delayload
  • Исправлена загрузка суперстатики исхода (раньше загружалась не полностью)
  • Отображение декалей и egeoms
  • Отображение softbody моделей
  • Отображение Environment зон (редактирование недопилено)
  • Кое какая оптимизация за счёт сокращения числа переключений вершинных шейдеров, +20 фпс на уровне l24_alley
  • Экспорт моделей из model editor'а (в т.ч. со скелетом)
  • Теперь при импорте моделей AO берётся из цвета вершин (если есть), встроенный рассчёт AO убран
  • Начальная реализация импорта динамических моделей
  • Отображение двусторонних поверхностей на моделях исхода
  • Режим отображения Ambient Occlusion (выпадающий список рядом с Render Mode)
  • Возможность открывать отдельные .mesh файлы в Model Editor, для настройки материалов


Версия от 28 июня 2021:
  • В окно выбора моделей добавлена возможность выбирать пресеты (по даблклику на модельку)
  • Использование лодов редактором уровней
  • Починена поддержка Windows XP (в прошлой версии было сломано)
  • Исправлено выворачивание бинормалей на импортированных моделях
  • Генератор ID теперь не забивает первые 256 объектов, в оригинальной игре так
  • Начальная реализация импорта анимаций, а так же их отображение в обоих редакторах (только 2033)
  • Пофикшена проблема с нормалями MU объектов на картах конвертированных из сталкера
  • Полная поддержка уровней из Redux версии игры
  • Возможность конвертировать карту из сталкера с лайтмапами. Карта может быть как ЧН/ЗП версии (ключ -lmap) так и ТЧ (ключ -lmap_soc)
  • Возможность конветировать карты в формат Last Light и Redux (ключи -ll и -redux соответственно)
  • Добавлены скрипты разбора параметров карты от Last Light и sounds.bin от Last Light и Redux, автор - Arkyt
  • Погода в редакторе уровней, с возможностю выбора во вкладке Weather
  • Добавлено отображение позиции камеры, рядом с количеством выделенных объектов
  • Undo, Redo и File->Reopen
  • Редактирование зон окружения
  • Переделан интерфейс, и теперь используются визуальные стили
  • Дерево вместо списка для блоков в Script Editor
  • Импорт OMF в Model Editor
  • Отображение анимации
  • Перемещание камеры при помощи мышки как в X-Ray SDK (на Alt)
  • Отображение путей
  • Автоматическая связка путей
  • Манипуляторы заменены на libgizmo
  • Настроена сборка x86 версии


Версия от 20 сентября 2021:
  • Исправлена ошибка с мерцающей позицией камеры в Level Editor
  • Улучшен рассчёт хеми на MU моделях на картах конвертированных из сталкера, теперь c_scale и c_bias учитываются
  • Новый редактор textures.bin - Image Library


Версия от 4 ноября 2021:
  • Параметры для консольных утилит model.exe и binunp.exe теперь можно задавать в любом порядке, как во всех человеческих программах
  • Исправлен баг с отображением softbody моделей при включенном режиме wireframe
  • Добавлена возможность вырезать выделенные объекты
  • Исправлена ошибка из за которой могли неправильно переназначатся ссылки и parent_id при создании или вставке групп объектов
  • Исправлена ошибка с тем что не сбрасывалось выделение при переоткрытии уровня
  • В виду появления возможности загружать моды из папки content добавлены пункты в меню Level для быстрого сохранения и запуска уровня (Save & Run, Run Options) и кнопка на тулбаре
  • Теперь model.exe конвертирует порталы из сталкеровских уровней в level.portals, если они там есть.


Версия от 18 ноября 2021:
  • Level Editor:
    • Исправлена возможность создавать одинаковые связи между блоками в Script Editor'е
    • Теперь для тестуры шрифта в Script Editor'е создаются мипмапы, текст на блоках при уменьшении мастаба стало легче разобрать
    • Полноценная загрузка уровней от Арктики.1, теперь можно сохранять
    • Галочка Uniform для инструмента Scale теперь снова работает
    • Добавлена возможность изменять размер Undo-буфера (пока только через редактирование файла editor_data\level_Editor.ini, секция history, параметр undo_limit)
  • Model Editor:
    • Добавлена вкладка со списком костей скелета + подсветка выбранной кости
    • Редактировение пресетов, для моделей от ласт лайта или последующих игр
  • Image Library:
    • Исправлено дописывание папки импорта к имени текстуры
    • Исправлен краш при импорте текстур в x86 версии
    • Исправлен сброс пути к папке ресурсов при закрытии окна настроек
    • Добавлена настройка качества сжатия crunch тектсур
  • binunp
    • Для ключей -d, -c, -s имя выходного файла теперь необязательно указывать. Если имя выходнго файла не указано, в случае декомпиляции оно будет равно имени входного файла с дописанным .txt (например из level.bin получится level.bin.txt), в случае компиляции будет убрана часть до последней точки, включая саму точку (например из level.terrain.txt получится level.terrain).


Версия от 6 февраля 2022:
  • Level Editor:
    • Переименован пункт меню Make Addon в Move selection to level.add.bin
    • Переименован пункт меню Make Global в Move selection to level.bin, а так же исправлена его работа (раньше не работало)
    • Добавлен пункт меню Select all entities from level.add.bin для выделения всех объектов которые сохраняются в level.add.bin
    • Ускорено заполнение списка свойств при выделении объектов
    • Добавлен опционально двухколоночный список свойств, включить можно в level_Editor.ini, секция properties, параметр two_column
    • Добавлена опция для скрытия объектов по удалению от камеры согласно параметру cull_distance (в меню Render -> Distance Culling)
    • Исправлена возможность редактировать уровень до того как он полностью загрузится, что приводило к ошибке
    • Переработана система Undo с целью сделать её быстрее, менее требовательной к памяти, и устранения многих странных моментов, например когда бекап делался после изменения а не до, как положено
  • binunp:
    • Добавлен подсчёт времени затраченного на загрузку и сохранение конфигов при декомпиляции и компиляции
  • Исправлена ошибка из за которой не грузился sounds.bin от ласт лайта
  • Исправлен жирный баг с неработающим перемещением в анимациях от оригинального 2033
  • Анимации от Last Light и Redux теперь загружаются
  • Полное чтение и сохранение level.bin'ов от Исхода последней версии (загрузка изменённых файлов игрой не тестировалась)
  • Оптимизирован отжор памяти распакованными конфигами
  • Оптимизирована отрисовка сцены за счёт снижения количества переключения текстур (не очень, можно и лучше)




Консольные утилиты

Полноценный распаковщик и запаковщик для Last Light, readme в архиве

Программы для работы с конфигами и конвертер моделей

Скачать
Исходники можно найти в исходниках level_editor'а.

В архиве содержится три программы: split.exe, binunp.exe и model.exe.

Первая split.exe, предназначена для разбития scripts.bin на отдельные файлы и сборки обратно.
Для разбития поместить файл scripts.bin в рабочей папке и запустить без параметров или с одним параметром -d(без разницы).
Код
split.exe

Если всё прошло хорошо должна появится папка scripts с большим количеством .bin файлов в ней.

Для обратной сборки запустить с ключом -c:
Код
split.exe -c

Скрипты при сборке опять таки берутся из папки scripts в рабочей папке.

Вторая binunp.exe, предназначена для конвертирования .bin конфигов(файлы добытые из scripts.bin, level.bin и некоторые другие) в человеко-читаемый формат и обратно. Именно на её основе строится редактор уровней.
Что умеет:
  1. Полная распаковка level.bin от Metro 2033
  2. Полная распаковка level.bin от Metro Last Light 2013 года
  3. Частичная распаковка level.bin от Redux/Arktika.1/Exodus
  4. Автоматическая распковка конфигов с отладочной инфой (ключ -d)
  5. Распаковка некоторых конфигов без отладочной инфы (ключ -s)
  6. Запаковка конфигов (ключ -с)


Распаковка level.bin осуществляется следующим образом:
Код
binunp.exe -l -d level.bin level.txt

Где level.bin - имя файла для распаковки.
Где level.txt - имя распакованного текстового файла.

Запаковка level.bin:
Код
binunp.exe -l [-k N] -c level.txt level.bin

Где level.txt - имя текстового файла для запаковки.
Где level.bin - имя нового двоичного файла.
Параметр -k необязательный, на месте N указывается тип .bin файла, по умолчанию 5. В 2033 используется 5, в last light 4, в следующих играх 36.

Распаковка конфигов с отладочной инфой:
Код
binunp.exe -l -d file.bin file.txt

Где file.bin - имя файла для распаковки.
Где file.txt - имя распакованного текстового файла.

При попытке распаковать таким образом конфиг без отладочной информации будет выведено сообщение об ошибке следующего вида:
Код
Exception: Cannot decompile config with kind=4


Распаковка конфигов без отладочной инфы(при помощи скрипта):
Код
binunp [-v] -s js\script.js file.bin file.txt

Где js\script.js - имя скрипта в папке js используемого для разбора конфига.
Где file.bin - имя файла для распаковки.
Где file.txt - имя распакованного текстового файла.
Параметр -v необязательный, если указать то будет выводиться предупреждение в том случае если данные были прочитаны не до конца.

Есть специальный случай, если имя файла для распаковки textures.bin, то скрипт не используется, вместо него нужно указать пустую строчку.
Код
binunp -s "" textures.bin textures.txt


Запаковка конфигов:
Код
binunp.exe [-k N] -c file.txt file.bin

Где file.txt - имя текстового файла для запаковки.
Где file.bin - имя нового двоичного файла.
Параметр -k необязательный, на месте N указывается тип .bin файла, по умолчанию 5. Желательно указывать такой же какой был показан при распаковке.

Последняя model.exe, конвертер моделей.
Умеет следующее:
  1. Конвертирование из .model в .ogf (для тестирования, ключ -model2ogf)
  2. Конвертирование из .ogf в .model (ключ -ogf2model)
  3. Cоздание nxcform_pc на основе модели (ключ -model2nxcform_pc)
  4. Создание уровня на основе основе модели (ключ -model2level)
  5. Конвертирование уровня из формата сталкера в формат 4A Engine (ключ -level2level)

Краткая справка доступна при запуске без параметров.

Эта инструкция будет дописываться.




iOrange
Чет тут подозрительно тихо. Разбавим тишину.

Автор молодец! Отличная работа. Если из этого вырастет полноценный редактор уровней - будет очень круто.

ЗЫ. Я в Паскаль не умею (точнее мне лень с ним разбираться), так что код не смотрел. А вот то что шейдеры `ARBvp/fp` - это сильно удивило. Я лет 15 их уже не видел.
Если нужна какая помощь по рендеру (и OpenGL в целом) - обращайся.
Ruw
Не, ну с вами всё ясно. Вы хотите делать столкир на 4a engine что ли? o_O.gif.
Это путь в никуда, дебри кода и багов, колючая проволка и мины. Я ещё могу понять когда 4a запчастями апгрейдят X-ray запчасти....или используют модели геометрии и персонажей.
Metro Exodus не похожа на полигон для модинга.


Честное слово, накатывайте UE4, поляки как раз Чернобыль отсканили, ун и прискорбную боязень волков на запчасти балгаркой можно порезать.
запчасти







kiperenok
Лучше покажите как выглядит локация между сезонами игры, когда мы едем в Авроре. А то один придурок на Ютубе сказал, что она закольцована и мы едем по кругу.
Мое мнение, что это просто 1 кусок локации который подставляется раз за разом.
iOrange
Цитата(kiperenok @ 02.03.2019, 00:41) *
Мое мнение, что это просто 1 кусок локации который подставляется раз за разом.

Цитата(kiperenok @ 02.03.2019, 00:41) *
один придурок на Ютубе сказал, что она закольцована


Мне видится что две эти фразы равнозначны
atanda
Цитата(kiperenok @ 02.03.2019, 01:41) *
Лучше покажите как выглядит локация между сезонами игры

Генерирование? Особенно это заметно на багах с травой в воздухе. Имеется террейн, заготовки строений, флора и потом это всё случайным образом размещается. Возможно, строения уже имеют своё точное местоположение, как и часть флоры; а вот трава, мелкие кусты и какие-то деревья случайно расставляются по мере продвижения.
kiperenok
Цитата(iOrange @ 02.03.2019, 01:58) *
Цитата(kiperenok @ 02.03.2019, 00:41) *
Мое мнение, что это просто 1 кусок локации который подставляется раз за разом.

Цитата(kiperenok @ 02.03.2019, 00:41) *
один придурок на Ютубе сказал, что она закольцована


Мне видится что две эти фразы равнозначны

Ошибаешься ! Закольцовано - это по кругу, окружности. А в нашем случае движение Авроры строго прямо - зациклено.
autistic
Цитата(kiperenok @ 02.03.2019, 14:39) *
движение Авроры строго прямо - зациклено

Все сходится, прямая - это окружность с бесконечным радиусом smile.gif
Cartoteka
kiperenok, возможно, уровень "Погоня" из Metro Last Light сможет ответить на твой вопрос. Там же тоже тоннель "бесконечный".
abramcumner
Цитата(Ruw @ 02.03.2019, 00:52) *
Metro Exodus не похожа на полигон для модинга.

Ровно как и сталкер до распаковщиков, асдс и горы прочих утилит.

Цитата
Честное слово, накатывайте UE4, поляки как раз Чернобыль отсканили, ун и прискорбную боязень волков на запчасти балгаркой можно порезать.

Зачем?

Цитата(Cartoteka @ 02.03.2019, 12:57) *
kiperenok, возможно, уровень "Погоня" из Metro Last Light сможет ответить на твой вопрос. Там же тоже тоннель "бесконечный".

Зачем такой изврат. Надо просто в ЛЕ от Модеры открыть любой поездной уровень.
atanda
autistic, возможно, бредятина, но у меня была ещё теория, что не Аврора движется, а окружение вокруг неё. Т.к. при движении Авроры надо и геометрию, и навигационную карту, и неписей двигать + ещё просчитывать навигацию на этой самой карте.
Cartoteka
Цитата(abramcumner @ 02.03.2019, 13:01) *
Зачем такой изврат. Надо просто в ЛЕ от Модеры открыть любой поездной уровень.



А я что написал?
autistic
Цитата(buffy @ 02.03.2019, 15:14) *
у меня была ещё теория, что не Аврора движется, а окружение вокруг неё.

Это примерно как дилемма при выборе с какого конца яичную скорлупу чистить biggrin.gif А тут проблема выбора между: либо мир движется относительно авроры, либо аврора движется относительно мира. И то и другое справедливо, и на производительность никак не влияет т.к. кол-во DIP'ов одинаковое будет smile.gif
Modera
Цитата(iOrange @ 02.03.2019, 00:17) *
Автор молодец! Отличная работа. Если из этого вырастет полноценный редактор уровней - будет очень круто.

Спасибо за тёплые слова smile.gif Если будут вопросы - напишу.

Цитата(Ruw @ 02.03.2019, 00:52) *
Вы хотите делать столкир на 4a engine что ли?

Я не ставил себе такой цели. Ресурсы из сталкера использую для тестов просто потому-что мне так удобно, форматы все давно знакомы.
Цитата(kiperenok @ 02.03.2019, 01:41) *
Лучше покажите как выглядит локация между сезонами игры, когда мы едем в Авроре. А то один придурок на Ютубе сказал, что она закольцована и мы едем по кругу.
Мое мнение, что это просто 1 кусок локации который подставляется раз за разом.


Как-то так.
Сам поезд статический, поэтому он открывается. Пейзажи не статические, их не видно. То есть уже понятно что поезд никуда не едет, это мир едет вокруг поезда. biggrin.gif
Модели которые используются для видов за окном можно посмотреть например в content\meshes\static\12_autumn. Вроде рельсы прямые там, хотя есть и стрелки.

Цитата(Cartoteka @ 02.03.2019, 13:18) *
А я что написал?

Открыть уронень из Last Light этим ЛЕ не получится. Только оригинальный 2033 и исход.
Cartoteka
Цитата(Modera @ 02.03.2019, 14:50) *
Открыть уронень из Last Light этим ЛЕ не получится. Только оригинальный 2033 и исход.



Понял. В будущем под redux и LL будешь настраивать?
Modera
Cartoteka, в обозримом будущем не собираюсь.
RedMagic
kiperenok, не придирайся к словам. Как я понял на ютубе сказали "looped / cycled" что может переводится как "закольцованный / зацикленный". Это просто речевой оборот и он не означает что поезд буквально катается по бесконечной окружности и постоянно поворачивает в одну сторону.

Цитата(buffy @ 02.03.2019, 13:14) *
autistic, возможно, бредятина, но у меня была ещё теория, что не Аврора движется, а окружение вокруг неё.

Цитата(autistic @ 02.03.2019, 14:09) *
И то и другое справедливо, и на производительность никак не влияет т.к. кол-во DIP'ов одинаковое будет

На самом деле на этот вопрос нет однозначного ответа. Вполне возможно что двигается мир вокруг, а не поезд из-за ряда возможных багов.

Вот смотрите.

Отсчет координат начинается с 0,0,0. Если поезд будет двигаться очень долгое время то его координаты станут слишком большие. А перед ним надо еще составную часть локации спавнить (и удалять часть локации сзади, чтобы не было утечек памяти).
- Во-первых - есть вероятность переполнения/выхода за пределы значений координат (если это float, то 3.40282347E+38).
- Во-вторых - чем дальше от центра, тем ниже точность. При слишком больших значениях координат точность спавна снижается настолько, что объекты могут дергаться/спавнится не там где надо. Это происходит из-за погрешностей чисел с плавающей запятой при большом отдалении от начала координат. Этот баг наиболее заметен в майнкрафте, в далеких землях:



Хороший программист должен всегда это предусматривать (конечно никто не будет держать игру открытой месяцами, чтобы произошло переполнение, но надо всегда все делать правильно. Или хотя бы пытаться). Есть два возможных решения:
- После отдаления поезда на некоторое расстояние от начала координат респавнить его на начальных координатах 0,0,0 и продолжать движение как и раньше. Проблема в том чтобы сделать респавн/сброс поезда и мира незаметным для игрока (но это реально).
- Можно оставить поезд в 0,0,0 и двигать весь мир вокруг него. Если в мире нет никаких сложных вещей которым могут помешать постоянное движение (та же AI сетка и NPC), то проще двигать сам мир. А поезд будет постоянно находится на одном и том же месте и "ездить" неограниченное кол-во времени.

Спасибо что прослушали краткий курс по геймдеву на тему "бесконечная генерация уровня" 😋

PS:

Цитата(autistic @ 02.03.2019, 14:09) *
Это примерно как дилемма при выборе с какого конца яичную скорлупу чистить

С тупого. Там есть воздушная прослойка и разбивать скорлупу в этом месте легче.
kiperenok
Цитата(RedMagic @ 02.03.2019, 15:27) *
kiperenok, не придирайся к словам. Как я понял на ютубе сказали "looped / cycled" что может переводится как "закольцованный / зацикленный". Это просто речевой оборот и он не означает что поезд буквально катается по бесконечной окружности и постоянно поворачивает в одну сторону.

Я смотрел русского "блохера" и он сказал "Аврора движется по кругу" dry.gif
slik
Цитата(buffy @ 02.03.2019, 12:14) *
надо и геометрию, и навигационную карту, и неписей двигать + ещё просчитывать навигацию на этой самой карте

Не обязательно. В юнити пользовался следующей техникой для движущегося корабля: navmesh и агенты где-то спрятаны под водой/землей, реальные же модели NPC есть частью иерархии корабля и двигаются с ним. И трюк в том, чтобы скопировать локальные координаты агента в локальные координаты модели.
Scav
Цитата(Modera @ 02.03.2019, 14:50) *
Сам поезд статический, поэтому он открывается. Пейзажи не статические, их не видно. То есть уже понятно что поезд никуда не едет, это мир едет вокруг поезда.

Причем этот подход стар, как мир. Использовался еще, помнится, в Counter-Strike: Condition Zero в одной из миссий за русский спецназ. В финале миссии мы отстреливаемся от вражеского вертолета, находясь в кузове движущегося грузовика. Технически грузовик неподвижен, а дорога и скалы по бокам состоят из примыкающих друг к другу сегментов, движущихся против условного хода машины. Каждый сегмент, достигая конца пути, телепортируется в начало, и так до бесконечности. Палевная телепортация скрыта туманом.
Modera
Цитата(RedMagic @ 02.03.2019, 15:27) *
Цитата(autistic @ 02.03.2019, 14:09) *
Это примерно как дилемма при выборе с какого конца яичную скорлупу чистить

С тупого. Там есть воздушная прослойка и разбивать скорлупу в этом месте легче.

Ну это спорное заявление. Не всегда воздушная прослойка бывает там где её ожидаешь. Иногда может быть вообще где-нибудь сбоку.

А теперь по теме.
Попробовал разобрать формат навмеша для АИ, т.к. неплохо бы заставить работать АИ на самодельных уровнях. Как выяснилось кроме самого меша с которым всё более-менее понятно там хранятся ещё такие вещи как collisionPreprocess и pathfindPreprocess.
В принципе можно использовать сам pathengine для их создания, на сайте его разработчиков есть демо-версия, пусть и с ограничениями но сделать экспортёр навмеши с её помощью возможно. Но вот беда, в современной версии уже нет collisionPreprocess, как я понял его заменили на что-то другое.

Ни у кого случайно не завалялось демы pathengine старой версии? Я старее 5.36 ничего не нашел.(В метро 2033 используется 5.16)
Modera
Первый тест монстряков на самодельной карте:

macron
Цитата(Modera @ 09.03.2019, 22:56) *
Ни у кого случайно не завалялось демы pathengine старой версии?

Только билд 375 времен 2006 года.
Rolan96
Modera, эта карта уже собрана через SDK? Версия из шапки еще не может в уровни метро 2033?
Tron
Цитата(Modera @ 09.03.2019, 22:56) *
Ни у кого случайно не завалялось демы pathengine старой версии? Я старее 5.36 ничего не нашел.(В метро 2033 используется 5.16)

Тебе коммерческий билд 5.25 должны были передать.. ниже ничего нет..

я прикола pathengine так и не понял, по сравнению с recast/detour
Modera
Rolan96, версия из шапки может в уровни 2033.
Сам по себе уровень собран по технологии которая описывается здесь: http://stalkerin.gameru.net/wiki/index.php...1%80%D0%BE_2033 Монстры потом поставлены через редактор.

Tron, да, передали. К сожалению ни 5.25, ни даже 5.19 не пишут в совместимом формате. Пришлось использовать нужную версию прямо из Exe-шника игры. biggrin.gif Только вот не знаю как бы это в виде готового инструмента оформить. Сейчас это делается через подмену dll-ки, потом игра запускается как обычно но при этом в отдельном потоке создаваемом в подменённой DLL генерируется nav_map.pe. Чё-то дичь какая-то.
Rolan96
Modera, такая проблема: делаю всё по инструкции со сталкерина. Когда готов архив со свежими файлами, то ловлю вылет. Нашел причину, собака зарыта в файле level.ph

vvertex buffer size: 219362656
index buffer size: 28884468
Вот данные, которые выдал мне конвертер.

Вот те, которые записываю.
*32,219362656,219362696,28884468

Если оставляю оригинальный файл, то вылета не происходит и в главном меню вижу треугольники.
Modera
Rolan96,
Цитата(Rolan96 @ 16.03.2019, 14:43) *
vvertex buffer size: 219362656
index buffer size: 28884468
Вот данные, которые выдал мне конвертер.

Слишком тяжелый уровень. Я где-то до двадцати восьми миллионов байт вершинного буфера запускал, дальше уже вылетает.
Rolan96
Modera, странно.
Нашел уровень поменьше:
*32,37163392,37163432,5291220

Если делать замену на главное меню работает, если меняю на l00_intrо то вылет.
Rolan96


Получилось! 37 миллионов!
Использовал где level.bin есть только игрок и добавил пару объектов через сдк, а пока не добавил большее кол-во текстур были треугольники вместо деревьевsmile.gif
Modera
Rolan96, да, я после нескольких часов тестов пришел к такому же выводу. level.bin влияет.
И level.pf тоже влияет, точнее список моделей который находится после первой строчки.

Короче для того чтобы запустить максимально большой уровень нужно использовать level.bin в котором есть только игрок и level.pf от меню, или просто всё кроме первой строчки убрать из level.pf, у меня так тоже работает, только текстуры прямо на глазах загружаются.

А игра видимо стала меня считать разрабом и начала показывать статистику, как так получилось и как это отключить я не понял. biggrin.gif
Rolan96
Modera, вот это поворотsmile.gif
Может там ещё и лог где-нибудь появился?
Modera
Rolan96, пока не попадался, но кто его знает, может и появится со временем. wink.gif
Rolan96
Modera,
Цитата(Modera @ 16.03.2019, 22:52) *
Короче для того чтобы запустить максимально большой уровень нужно использовать level.bin в котором есть только игрок и level.pf от меню, или просто всё кроме первой строчки убрать из level.pf, у меня так тоже работает, только текстуры прямо на глазах загружаются.
делал так же, но результата ноль. Больше 40 мультов не загружает sad.gif
Хотя по сути даже такое кол-во достаточно, что бы сделать норм карту. Террайн и пару крупных зданий, остальное модельками доделать и норм будет
Rolan96














А вообще выглядит очень симпатично и приятно глазу.
Modera
Посмотрел лог. Всё понятно, у меня билд 1830.
лог
Код
* [loader] progress inf sec total, 0.000000 sec IO, last phase: inf / 0.000 - uengine-run
uCore :: 4A platform build 1830, Mar  5 2010, 17:54:45

* [loader] progress 1.002055 sec total, 341.000016 sec IO, last phase: -inf / 341.000 - core-init
* [loader] progress 1.002116 sec total, 341.000016 sec IO, last phase: 0.000 / 0.000 - stable-init
* [loader] progress 1.003234 sec total, 341.000016 sec IO, last phase: 0.001 / 0.000 - streamer-init
*** ugame_libinit
* [loader] progress 1.004287 sec total, 341.000016 sec IO, last phase: 0.001 / 0.000 - engine-create
begin stable::load(ru)
^config_load user.cfg
^_show_subtitles 0
^ai::feel_vision off
^ai::feel_vision_ex off
^ai::graph off
^ai::graph::links off
^ai::graph::normals off
^ai::graph::radius 10.
^ai::look_body off
^ai::look_head off
^ai::path::detail off
^ai::path::patrol off
^ai::path::vertex off
^ai::patrol off
^ai::space_restrictions off
^aim_assist 1.
^unbindall
^bind changemenumap kESCAPE
^bind wpn_1 k1
^bind wpn_2 k2
^bind wpn_3 k3
^bind wpn_4 k4
^bind wpn_5 k5
^bind medkit kQ
^bind forward kW
^bind use kE
^bind wpn_reload kR
^bind time kT
^bind wpn_next kLBRACKET
^bind wpn_prev kRBRACKET
^bind menu_enter kRETURN
^bind crouch kLCONTROL
^bind lstrafe kA
^bind back kS
^bind rstrafe kD
^bind wpn_light kF
^bind gasmask kG
^bind drop kH
^bind console kGRAVE
^bind sprint kLSHIFT
^bind crouch_toggle kZ
^bind accel kX
^bind nightvision kN
^bind map kM
^bind jump kSPACE
^bind cam_zoom_out kSUBTRACT
^bind cam_zoom_in kADD
^bind pause kPAUSE
^bind up kUP
^bind left kLEFT
^bind right kRIGHT
^bind down kDOWN
^bind wpn_fire mouse0
^bind wpn_aim mouse1
^bind nightvision x_dpad_up
^bind gasmask x_dpad_down
^bind wpn_next x_dpad_left
^bind wpn_prev x_dpad_right
^bind changemenumap x_start
^bind map x_back
^bind sprint x_left_thumb
^bind wpn_light x_right_thumb
^bind time x_left_shoulder
^bind wpn_reload x_right_shoulder
^bind jump x_a
^bind crouch_toggle x_b
^bind use x_x
^bind medkit x_y
^bind wpn_aim x_left_trigger
^bind wpn_fire x_right_trigger
^dbg_cameratrack 0
^fast_wpn_change 0
^g_autopickup on
^g_debug_levels_enabled 0
^g_game_difficulty 1
^g_input_hand 0
^g_quick_hints 1
^g_show_crosshair on
^gamepad_preset 0
^inv_y_controller 0
^invert_y_axis off
^joy_sens_adhersion 0.8
^joy_sens_aiming_x 0.4
^joy_sens_frict 0.5
^joy_sens_linear 0.
^joy_sens_x 1.
^lang_sound ru
^lang_text ru
^mouse_aim_sens 0.208
^mouse_sens 0.4
^msaa 0
^ph_advanced_physX 0
^ph_ce_sound_distance 70.
^ph_ce_sound_maxvelocity 50.
^ph_ce_sound_minvelocity 1.
^ph_dump_stats 0
^ph_enable_int_coll 1
~ Unknown command: ph_enable_int_coll
^physx_connect_to_agperfmon 0
^physx_connect_to_debugger 0
^r_af_level 0
^r_api 0
end stable::load(ru)
^r_bloom_threshold 0.01
^r_can_miniformat 0
^r_dao 0
^r_dbg_portals 0
^r_dbg_stereo_auto_separation 1
^r_dbg_texture_usage 0
^r_deblur_dist 10.
^r_dvd 1
^r_dx11_dof 1
^r_dx11_tess 1
^r_exp_temporal 0
^r_fullscreen off
^r_gamma 1.
^r_gi 0
^r_gi_distance 16.
^r_gi_intensity 2.
^r_gi_overlap 0.5
^r_gi_quality 0.4
^r_hud_weapon on
^r_light_frames2sleep 10
^r_mipcolor 0
^r_msaa_level 0
^r_quality_level 3
^r_res_hor 1680
^r_res_vert 1050
^r_safe_area 0
^r_sun_depth_far_bias 0.
^r_sun_depth_far_scale 1.
^r_sun_depth_near_bias -0.
^r_sun_depth_near_scale 1.
^r_sun_near_border 0.666
^r_sun_near_range 16.
^r_sun_tsm_bias -0.
^r_sun_tsm_projection 0.3
^r_supersample 1.
^r_vsync off
^s_dbg_peak_meter 1
^s_dbg_portals 0
^s_hdr_graph 0
^s_master_volume 0.00
^s_music_volume 0.00
^sick_camera 0.
^sick_fov 45.
^sick_mblur 0.
^sick_mouse 0.
^sick_slowmo 0.
^stats on
^vibration 3
^xbox_state_data ()()
* [loader] progress 1.043199 sec total, 341.000016 sec IO, last phase: 0.039 / 0.000 - exec-user-script
* [window] initial config: [1024 x 768]
* [loader] progress 1.048126 sec total, 341.000016 sec IO, last phase: 0.005 / 0.000 - window-init
* [loader] progress 1.053350 sec total, 341.000016 sec IO, last phase: 0.005 / 0.000 - input-init
* [sound] cache: 8196 kb, 793 entries, 10584 bytes per entry
* [sound] XAudio: Available devices:
0: 'Динамики (Realtek High Definition Audio)' [Ch:2, SR:48000] - OK
1: 'Realtek Digital Output (Realtek High Definition Audio)' [Ch:2, SR:48000] - OK
* [sound]  XAudio: Created device: 'Динамики (Realtek High Definition Audio)' [Ch:2, SR:48000]
* [sound] metadata loading: 0.017324 sec
* [loader] progress 1.083174 sec total, 341.003016 sec IO, last phase: 0.030 / 0.003 - sound_init
* [render] create & configure...
* [render] configuration:
* [render] ...hwapi platform: [0]
* [render] ...quality level: [3]
* [render] ...dx10/dx11 msaa level: [0]
* [render] ...af level: [0]
* [render] ...dx11 tess level: [1]
* [render] ...dx11 dof level: [1]
* [render] ...dx11 gi level: [0]
* [loader] progress 1.083270 sec total, 341.003016 sec IO, last phase: 0.000 / 0.000 - init_configuration
* [render] DX9 API selected...
* [render] GPU [vendor:10DE]-[device:1244]: NVIDIA GeForce GTX 550 Ti
* [render] aspect ratio selected as 1.777778, based on [1920x1080] resolution
* [render] DX9: input resolution: [1680]x[1050], commited resolution: [1680]x[1050]
* [window] resize: [1680 x 1050]
* [render] selected shaders package: [content\shaders\shaders.nv_vhigh]
* [render] ushader_cache::binfile 2823856 bytes
* playing video: legal
* textures-metadata: 0.005206 sec
~A static textures use more than 2 MB !!! (4925 Kb)
begin stable::load(ru)
end stable::load(ru)
* [render] backend: multi-threaded
* [loader] progress 1.393905 sec total, 341.008026 sec IO, last phase: 0.311 / 0.005 - backend-start
* [loader] progress 1.394952 sec total, 341.008026 sec IO, last phase: 0.001 / 0.000 - color-anim
* particles-metadata in 0.133842 sec
* [loader] progress 1.528823 sec total, 341.009003 sec IO, last phase: 0.134 / 0.001 - particles-load
*** recompile_combiner_prefetch:before
*** recompile_combiner_prefetch:after
* [shader] combiners compiled in 0.027779 sec
* [render] RT create: [8, 1680x1050]
* [render] RT create: [8, 1680x1050]
* [render] RT create: [8, 1680x1050]
* [render] RT create: [8, 1680x1050]
* [render] RT create: [8, 1680x1050]
* [render] RT create: [D, 1680x1050]
* [render] RT create: [8, 420x262]
* [render] RT create: [8, 420x262]
* [render] RT create: [8, 8x8]
* [render] RT create: [7, 2x2]
* [render] RT create: [7, 3072x3072]
* [render] RT create: [6, 3072x3072]
^config_load user.cfg
^_show_subtitles 0
^ai::feel_vision off
^ai::feel_vision_ex off
^ai::graph off
^ai::graph::links off
^ai::graph::normals off
^ai::graph::radius 10.
^ai::look_body off
^ai::look_head off
^ai::path::detail off
^ai::path::patrol off
^ai::path::vertex off
^ai::patrol off
^ai::space_restrictions off
^aim_assist 1.
^unbindall
^bind changemenumap kESCAPE
^bind wpn_1 k1
^bind wpn_2 k2
^bind wpn_3 k3
^bind wpn_4 k4
^bind wpn_5 k5
^bind medkit kQ
^bind forward kW
^bind use kE
^bind wpn_reload kR
^bind time kT
^bind wpn_next kLBRACKET
^bind wpn_prev kRBRACKET
^bind menu_enter kRETURN
^bind crouch kLCONTROL
^bind lstrafe kA
^bind back kS
^bind rstrafe kD
^bind wpn_light kF
^bind gasmask kG
^bind drop kH
^bind console kGRAVE
^bind sprint kLSHIFT
^bind crouch_toggle kZ
^bind accel kX
^bind nightvision kN
^bind map kM
^bind jump kSPACE
^bind cam_zoom_out kSUBTRACT
^bind cam_zoom_in kADD
^bind pause kPAUSE
^bind up kUP
^bind left kLEFT
^bind right kRIGHT
^bind down kDOWN
^bind wpn_fire mouse0
^bind wpn_aim mouse1
^bind nightvision x_dpad_up
^bind gasmask x_dpad_down
^bind wpn_next x_dpad_left
^bind wpn_prev x_dpad_right
^bind changemenumap x_start
^bind map x_back
^bind sprint x_left_thumb
^bind wpn_light x_right_thumb
^bind time x_left_shoulder
^bind wpn_reload x_right_shoulder
^bind jump x_a
^bind crouch_toggle x_b
^bind use x_x
^bind medkit x_y
^bind wpn_aim x_left_trigger
^bind wpn_fire x_right_trigger
^dbg_cameratrack 0
^fast_wpn_change 0
^g_autopickup on
^g_debug_levels_enabled 0
^g_game_difficulty 1
^g_input_hand 0
^g_quick_hints 1
^g_show_crosshair on
^gamepad_preset 0
^inv_y_controller 0
^invert_y_axis off
^joy_sens_adhersion 0.8
^joy_sens_aiming_x 0.4
^joy_sens_frict 0.5
^joy_sens_linear 0.
^joy_sens_x 1.
^lang_sound ru
^lang_text ru
^mouse_aim_sens 0.208
^mouse_sens 0.4
^msaa 0
^ph_advanced_physX 0
^ph_ce_sound_distance 70.
^ph_ce_sound_maxvelocity 50.
^ph_ce_sound_minvelocity 1.
^ph_dump_stats 0
^ph_enable_int_coll 1
~ Unknown command: ph_enable_int_coll
^physx_connect_to_agperfmon 0
^physx_connect_to_debugger 0
^r_af_level 0
^r_api 0
^r_bloom_threshold 0.01
^r_can_miniformat 0
^r_dao 0
^r_dbg_portals 0
^r_dbg_stereo_auto_separation 1
^r_dbg_texture_usage 0
^r_deblur_dist 10.
^r_dvd 1
^r_dx11_dof 1
^r_dx11_tess 1
^r_exp_temporal 0
^r_fullscreen off
^r_gamma 1.
^r_gi 0
^r_gi_distance 16.
^r_gi_intensity 2.
^r_gi_overlap 0.5
^r_gi_quality 0.4
^r_hud_weapon on
^r_light_frames2sleep 10
^r_mipcolor 0
^r_msaa_level 0
^r_quality_level 3
^r_res_hor 1680
^r_res_vert 1050
^r_safe_area 0
^r_sun_depth_far_bias 0.
^r_sun_depth_far_scale 1.
^r_sun_depth_near_bias -0.
^r_sun_depth_near_scale 1.
^r_sun_near_border 0.666
^r_sun_near_range 16.
^r_sun_tsm_bias -0.
^r_sun_tsm_projection 0.3
^r_supersample 1.
^r_vsync off
^s_dbg_peak_meter 1
^s_dbg_portals 0
^s_hdr_graph 0
^s_master_volume 0.00
^s_music_volume 0.00
^sick_camera 0.
^sick_fov 45.
^sick_mblur 0.
^sick_mouse 0.
^sick_slowmo 0.
^stats on
^vibration 3
^xbox_state_data ()()
* [loader] progress 1.592324 sec total, 341.010010 sec IO, last phase: 0.064 / 0.001 - GameMTL init
* [loader] progress 1.796265 sec total, 341.010010 sec IO, last phase: 0.204 / 0.000 - GameBase init
* [PhysX] initialization started
* [PhysX] 0.132119 sec: NxCreatePhysicsSDK
* [PhysX] 0.000003 sec: Connect To Debugger
* [loader] progress 1.928603 sec total, 341.010010 sec IO, last phase: 0.132 / 0.000 - PhysX: initialization
* initialization finished in 1.928969 sec
* thread pool spawning -1 workers
^server -map 000
^map 000
* [loader] progress 0.044524 sec total, 341.010010 sec IO, last phase: -1.884 / 0.000 - maploader_resources
* [loader] progress 0.044748 sec total, 0.000000 sec IO, last phase: 0.000 / 4294626.490 - connect
* [loader] progress 0.044902 sec total, 0.000000 sec IO, last phase: 0.000 / 0.000 - preload
loading content\maps\000\level
* [loader] progress 0.045071 sec total, 0.000000 sec IO, last phase: 0.000 / 0.000 - level-desc
* [loader] progress 0.047987 sec total, 0.000000 sec IO, last phase: 0.003 / 0.000 - render-wmarks
* loading ao-lmap: content\maps\000\level.lmap_pc
* [loader] progress 0.075550 sec total, 0.027000 sec IO, last phase: 0.028 / 0.027 - render-lmap
* 0 models inherited from previous level
* 81 models will be preloaded
* 0 models will be discarded
FX: Actor successfully created: human\human / content\facefx.ru\human\human.fxa
* [loader] progress 0.227495 sec total, 0.038000 sec IO, last phase: 0.152 / 0.011 - render-meshes
!A Level without sound occlusion
* [loader] progress 0.227550 sec total, 0.038000 sec IO, last phase: 0.000 / 0.000 - render-sectors
* textures::prefetch 389
* textures::prefetch 149:DXT1 240:DXT5
* [loader] progress 0.234302 sec total, 0.041000 sec IO, last phase: 0.007 / 0.003 - render-tex_prefetch
* [loader] progress 0.234318 sec total, 0.041000 sec IO, last phase: 0.000 / 0.000 - render-misc
* [loader] progress 0.235665 sec total, 0.041000 sec IO, last phase: 0.001 / 0.000 - l-env
* [loader] progress 0.235676 sec total, 0.041000 sec IO, last phase: 0.000 / 0.000 - l-occ
* [loader] progress 0.235856 sec total, 0.041000 sec IO, last phase: 0.000 / 0.000 - hud
* [PhysX] createScene : _main_scene
* [PhysX] NVidia PhysX hardware isn't detected!
* [PhysX] createScene : _main_scene
!E1 Superstatic mesh out of date! Use level compiler for retrieve last version of mesh!
* [PhysX] data loading: 0.002535 sec
* [loader] progress 0.238409 sec total, 0.041000 sec IO, last phase: 0.003 / 0.000 - PhysX: data loading
* [loader] progress 0.238479 sec total, 0.041000 sec IO, last phase: 0.000 / 0.000 - bullets
* [loader] progress 0.240001 sec total, 0.041000 sec IO, last phase: 0.002 / 0.000 - speeches
* [loader] progress 0.240137 sec total, 0.041000 sec IO, last phase: 0.000 / 0.000 - suit_types
* [loader] progress 0.265691 sec total, 0.041000 sec IO, last phase: 0.026 / 0.000 - load dynamic bin
motions: 248 requested, 464 resolved, 59 skeletons, 1 clean-flag
* [loader] progress 0.287103 sec total, 0.041000 sec IO, last phase: 0.021 / 0.000 - motions-analyze
* [loader] progress 0.394842 sec total, 0.041000 sec IO, last phase: 0.108 / 0.000 - motions & cleanup
* [loader] map loaded in 0.395400 sec (0.041000 sec spent in IO)
^cvr_grenade_danger_interval 1.000000
~ Unknown command: cvr_grenade_danger_interval
^cvr_grenade_danger_distance 10.000000
~ Unknown command: cvr_grenade_danger_distance
^cvr_grenade_danger_penalty 10000.000000
~ Unknown command: cvr_grenade_danger_penalty
^cvr_cover_hit_danger_interval 1200.000000
~ Unknown command: cvr_cover_hit_danger_interval
^cvr_cover_hit_danger_distance 3.000000
~ Unknown command: cvr_cover_hit_danger_distance
^cvr_cover_hit_danger_penalty 1000.000000
~ Unknown command: cvr_cover_hit_danger_penalty
^cvr_hit_danger_interval 1200.000000
~ Unknown command: cvr_hit_danger_interval
^cvr_hit_danger_distance 3.000000
~ Unknown command: cvr_hit_danger_distance
^cvr_hit_danger_penalty 1000.000000
~ Unknown command: cvr_hit_danger_penalty
^cvr_death_danger_interval 2400.000000
~ Unknown command: cvr_death_danger_interval
^cvr_death_danger_distance 5.000000
~ Unknown command: cvr_death_danger_distance
^cvr_death_danger_penalty 10000.000000
~ Unknown command: cvr_death_danger_penalty
^role_border0 100.000000
~ Unknown command: role_border0
^role_time0 2.000000
~ Unknown command: role_time0
^role_border1 1000.000000
~ Unknown command: role_border1
^role_time1 0.500000
~ Unknown command: role_time1
* loading envmap: content\textures\env\env_menu
* skybox changed from '(null)' to 'sky\sky_8h_indoor'
* loading skybox + env + spec: content\textures\sky\sky_8h_indoor
^mainmenu loading_profile_data_pc
* [render] aspect ratio selected as 1.777778, based on [1920x1080] resolution
^config_load user.cfg
^_show_subtitles 0
^ai::feel_vision off
^ai::feel_vision_ex off
^ai::graph off
^ai::graph::links off
^ai::graph::normals off
^ai::graph::radius 10.
^ai::look_body off
^ai::look_head off
^ai::path::detail off
^ai::path::patrol off
^ai::path::vertex off
^ai::patrol off
^ai::space_restrictions off
^aim_assist 1.
^unbindall
^bind changemenumap kESCAPE
^bind wpn_1 k1
^bind wpn_2 k2
^bind wpn_3 k3
^bind wpn_4 k4
^bind wpn_5 k5
^bind medkit kQ
^bind forward kW
^bind use kE
^bind wpn_reload kR
^bind time kT
^bind wpn_next kLBRACKET
^bind wpn_prev kRBRACKET
^bind menu_enter kRETURN
^bind crouch kLCONTROL
^bind lstrafe kA
^bind back kS
^bind rstrafe kD
^bind wpn_light kF
^bind gasmask kG
^bind drop kH
^bind console kGRAVE
^bind sprint kLSHIFT
^bind crouch_toggle kZ
^bind accel kX
^bind nightvision kN
^bind map kM
^bind jump kSPACE
^bind cam_zoom_out kSUBTRACT
^bind cam_zoom_in kADD
^bind pause kPAUSE
^bind up kUP
^bind left kLEFT
^bind right kRIGHT
^bind down kDOWN
^bind wpn_fire mouse0
^bind wpn_aim mouse1
^bind nightvision x_dpad_up
^bind gasmask x_dpad_down
^bind wpn_next x_dpad_left
^bind wpn_prev x_dpad_right
^bind changemenumap x_start
^bind map x_back
^bind sprint x_left_thumb
^bind wpn_light x_right_thumb
^bind time x_left_shoulder
^bind wpn_reload x_right_shoulder
^bind jump x_a
^bind crouch_toggle x_b
^bind use x_x
^bind medkit x_y
^bind wpn_aim x_left_trigger
^bind wpn_fire x_right_trigger
^dbg_cameratrack 0
^fast_wpn_change 0
^g_autopickup on
^g_debug_levels_enabled 0
^g_game_difficulty 1
^g_input_hand 0
^g_quick_hints 1
^g_show_crosshair on
^gamepad_preset 0
^inv_y_controller 0
^invert_y_axis off
^joy_sens_adhersion 0.8
^joy_sens_aiming_x 0.4
^joy_sens_frict 0.5
^joy_sens_linear 0.
^joy_sens_x 1.
^lang_sound ru
^lang_text ru
^mouse_aim_sens 0.208
^mouse_sens 0.4
^msaa 0
^ph_advanced_physX 0
~ph_advanced_physX can be applied only after application's reload!
^ph_ce_sound_distance 70.
^ph_ce_sound_maxvelocity 50.
^ph_ce_sound_minvelocity 1.
^ph_dump_stats 0
^ph_enable_int_coll 1
^physx_connect_to_agperfmon 0
^physx_connect_to_debugger 0
^r_af_level 0
^r_api 0
^r_bloom_threshold 0.01
^r_can_miniformat 0
^r_dao 0
^r_dbg_portals 0
^r_dbg_stereo_auto_separation 1
^r_dbg_texture_usage 0
^r_deblur_dist 10.
^r_dvd 1
^r_dx11_dof 1
^r_dx11_tess 1
^r_exp_temporal 0
^r_fullscreen off
^r_gamma 1.
^r_gi 0
^r_gi_distance 16.
^r_gi_intensity 2.
^r_gi_overlap 0.5
^r_gi_quality 0.4
^r_hud_weapon on
^r_light_frames2sleep 10
^r_mipcolor 0
^r_msaa_level 0
^r_quality_level 3
^r_res_hor 1680
^r_res_vert 1050
^r_safe_area 0
^r_sun_depth_far_bias 0.
^r_sun_depth_far_scale 1.
^r_sun_depth_near_bias -0.
^r_sun_depth_near_scale 1.
^r_sun_near_border 0.666
^r_sun_near_range 16.
^r_sun_tsm_bias -0.
^r_sun_tsm_projection 0.3
^r_supersample 1.
^r_vsync off
^s_dbg_peak_meter 1
^s_dbg_portals 0
^s_hdr_graph 0
^s_master_volume 0.00
^s_music_volume 0.00
^sick_camera 0.
^sick_fov 45.
^sick_mblur 0.
^sick_mouse 0.
^sick_slowmo 0.
^stats on
^vibration 3
^xbox_state_data ()()
^engine_step 1
^config_save
^menu_mode 1 actor_0000
^new_game
^mainmenu new_game_menu
* [render] aspect ratio selected as 1.777778, based on [1920x1080] resolution
^change_map l00_intro
^disconnect
!P double deactivation of player map
* [PhysX] cleanup: 0.002570 sec
* [loader] progress 12.545067 sec total, 0.438000 sec IO, last phase: 12.150 / 0.397 - PhysX: cleanup
* disconnected in 0.022631 sec
^server
^map l00_intro
* [loader] progress 0.015035 sec total, 0.438000 sec IO, last phase: -12.530 / 0.000 - maploader_resources
* [loader] progress 0.015297 sec total, 0.000000 sec IO, last phase: 0.000 / 4294967.062 - connect
* [loader] progress 0.015458 sec total, 0.000000 sec IO, last phase: 0.000 / 0.000 - preload
loading content\maps\l00_intro\level
* [loader] progress 0.015677 sec total, 0.000000 sec IO, last phase: 0.000 / 0.000 - level-desc
* [loader] progress 0.017020 sec total, 0.000000 sec IO, last phase: 0.001 / 0.000 - render-wmarks
* loading ao-lmap: content\maps\l00_intro\level.lmap_pc
* [loader] progress 0.029790 sec total, 0.012000 sec IO, last phase: 0.013 / 0.012 - render-lmap
* 19 models inherited from previous level
* 175 models will be preloaded
* 62 models will be discarded
* [loader] progress 0.249870 sec total, 0.043000 sec IO, last phase: 0.220 / 0.031 - render-meshes
!A Sound occlusion version is not belongs to this level
! Invalid version of sound occlusion.
* [loader] progress 0.251249 sec total, 0.043000 sec IO, last phase: 0.001 / 0.000 - render-sectors
* textures::prefetch 601
* textures::prefetch 329:DXT1 272:DXT5
* [loader] progress 0.257463 sec total, 0.043000 sec IO, last phase: 0.006 / 0.000 - render-tex_prefetch
* [loader] progress 0.257487 sec total, 0.043000 sec IO, last phase: 0.000 / 0.000 - render-misc
* [loader] progress 0.258606 sec total, 0.043000 sec IO, last phase: 0.001 / 0.000 - l-env
* [loader] progress 0.258617 sec total, 0.043000 sec IO, last phase: 0.000 / 0.000 - l-occ
* [loader] progress 0.258924 sec total, 0.043000 sec IO, last phase: 0.000 / 0.000 - hud
* [PhysX] createScene : _main_scene
* [PhysX] NVidia PhysX hardware isn't detected!
* [PhysX] createScene : _main_scene
!E1 Superstatic mesh out of date! Use level compiler for retrieve last version of mesh!
* [PhysX] data loading: 0.217270 sec
* [loader] progress 0.476223 sec total, 0.043000 sec IO, last phase: 0.217 / 0.000 - PhysX: data loading
* [loader] progress 0.476330 sec total, 0.043000 sec IO, last phase: 0.000 / 0.000 - bullets
* [loader] progress 0.477767 sec total, 0.043000 sec IO, last phase: 0.001 / 0.000 - speeches
* [loader] progress 0.477928 sec total, 0.043000 sec IO, last phase: 0.000 / 0.000 - suit_types
* [loader] progress 0.593720 sec total, 0.043000 sec IO, last phase: 0.116 / 0.000 - load dynamic bin
motions: 251 requested, 468 resolved, 115 skeletons, 1 clean-flag
* [loader] progress 0.612944 sec total, 0.043000 sec IO, last phase: 0.019 / 0.000 - motions-analyze
FX: AnimSet successfully mounted: human\human / content\facefx.ru\human\l00_intro.fxe
* [loader] progress 0.631759 sec total, 0.043000 sec IO, last phase: 0.019 / 0.000 - motions & cleanup
* [loader] map loaded in 0.640418 sec (0.043000 sec spent in IO)
^cvr_grenade_danger_interval 1.000000
~ Unknown command: cvr_grenade_danger_interval
^cvr_grenade_danger_distance 10.000000
~ Unknown command: cvr_grenade_danger_distance
^cvr_grenade_danger_penalty 10000.000000
~ Unknown command: cvr_grenad

А вот что-то ничего полезного там и нет, даже о ненайденых текстурах не пишет.
Rolan96
Modera, кстати, а что нужно сделать, что бы мутанты были живые?

а то мои либо стоят на месте, либо крутят головой в мою сторону, но не нападают.
Modera
Rolan96, для начала придётся подождать когда я доделаю сохранялку навмеша, без навмеша мутанты работать не будут.
Rolan96
Запаковщик перестал видеть папку с текстурами, никто не сталкивался?
любые другие папки пакует, а папку с текстурами в упор не видит.
Modera
Rolan96, у меня было что файлы не видел из за того что не стояла галочка "Файл готов для архивирования" в свойствах, а папками проблем небыло.

Кстати новая врсия редактора вышла. Подробности в шапке.
Rolan96
Modera, пробовал менять и архивирование, и индексацию - толку ноль. Помогло в ручную создать все папки. Хотя подозреваю, что виноват в этом 3ds max
Что бы не собирать все текстуры с уровня вручную, в макс загрузил уровень и сделал архив с текстурами, после этого из архива вынул все текстуры в папку контент. За новую версию спасибо.
Rolan96
заметил одну не приятную особенность, если запускать редактор через TeamViewer, то не работает перемещение по картеsad.gif
Для формирования зоны покупок оружия, тоже придётся ждать реализации сохранения навмеша?
Asterix
Rolan96, попробуй Anydesk
mmyr
Modera, добавь пожалуйста в архив файл PhysXLoader64.dll. Без него программа не хочет запускаться.
Modera
Цитата(Rolan96 @ 18.03.2019, 09:30) *
заметил одну не приятную особенность, если запускать редактор через TeamViewer, то не работает перемещение по карте sad.gif

Хз, я сам TeamViewer ни разу в жизни не использовал.

Цитата(Rolan96 @ 18.03.2019, 09:30) *
Для формирования зоны покупок оружия, тоже придётся ждать реализации сохранения навмеша?

Нет, можно делать уже сейчас. Просто ужасно неудобно. Копировать надо целую кучу объектов: оружие для покупки, чувака который его продаёт, невидимые квадратики которые указывают позицию камеры при торговле, зону в которое нужно нажать E чтобы началась торговля и скрипт который это всё связывает. Скрипт запоминает объекты по айди, не по имени. Айди в скрипте придётся вручную поменять.
Пример уровня с торговцем оружием: https://drive.google.com/open?id=1PXv28vwsY...axWDSSGadjJfzju

Цитата(mmyr @ 18.03.2019, 14:17) *
Modera, добавь пожалуйста в архив файл PhysXLoader64.dll. Без него программа не хочет запускаться.

Скачай PhysX https://www.nvidia.com/object/physx-9.19.0218-driver.html
Rolan96
Modera, посмотрел левел. Почему нет звуков стрельбы? У меня через раз появлялись на дробовике.
Странно, копирую секции торговли, а толку ноль
Modera
Rolan96, не знаю, у меня на этом уровне звуки стрельбы есть. scratch_one-s_head.gif Хотя на другом уровне такая фигня была.

Цитата(Rolan96 @ 18.03.2019, 21:01) *
Странно, копирую секции торговли, а толку ноль

Секции это что? Если хочешь добавить другие предметы то лучше скопировать другого торговца с другого уровня(этот с полиса), скрипты весьма поверхностно изучены для того чтобы что-то в них изменять.
Rolan96
Modera, не секции, объекты. А у тебя торговец разговаривает?
Modera
Rolan96, да. Кстати ты какой уровень заменяешь этим? Попробуй меню.
У меня есть подозрения что глюки из за файла level.portals, в меню этого файла нет, в остальных уровнях игра будет подхватывать из своих архивов даже если удалить.
Rolan96
Modera, вечером попробую.
Я заменяю уровень l00_intro
Попробовал скопировать объекты и выставить на твоем эталоне, тоже не вышло ничего.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.