Jump to content

RF Online Asset Tools


 Share

Recommended Posts

Аддон для Blender 4.3.0 (также протестирован с 4.4.3) для импорта и экспорта файлов .msh, .bn (.bbx вместе) и .ani для RF Online. Форматы сущностей (R3E) и карт (BSP) доступны только для импорта. Импорт осуществляется перетаскиванием.

В коде аддона есть код для экспорта формата BSP, но он деактивирован из-за своей неполноты. Он позволяет только экспортировать геометрию карты, по которой можно ходить (с построенной структурой BSP), и запекать и экспортировать карты освещения. К сожалению, Blender оказался не очень подходящим для полноценного редактора карт для RF Online, в основном из-за проблем со сложностью формата частиц .SPT и других желаемых функций, которые было бы трудно реализовать, таких как зоны спавна мобов и порталы. Материалы R3M также довольно сложно смоделировать, поскольку оригинальный движок рендерил одну и ту же сетку несколько раз для каждого слоя текстуры.
Функцию можно повторно активировать, вручную раскомментировав три закомментированные строки в функциях menu_func_export, register и unregister файла bsp.py. Поддержка этой функции не планируется, поскольку более подходящим решением было бы создание специализированного программного обеспечения.

Текущие возможности:

1.Импорт MSH (сетки): Импортирует статические сетки .msh (форматы Standard и MESH08). Автоматически пытается найти и назначить текстуры, ища файлы DDS, на которые есть ссылки в сетке, или выполняя поиск в архивах .RFS по ожидаемым относительным путям (../Tex/).
2.Экспорт MSH (сетки): Экспортирует выбранные сетки Blender в формат .msh (стандартный или MESH08). Обрабатывает данные вершин, UV-координаты, веса и назначения костей. Экспорт игнорирует любые коллекции с именем "bone shapes".
3.Импорт скелета (BN): Импортирует файлы скелета .bn. Считывает иерархию костей и позы в состоянии покоя. Автоматически ищет соответствующий файл .bbx (с тем же именем и в той же папке), чтобы получить правильное имя скелета. Создает объекты арматуры Blender. Также импортирует пользовательскую геометрию формы костей, если она определена в файле BN, и создает для них сетчатые объекты, назначая их в качестве пользовательских форм в Blender.
4.Экспорт скелета (BN): Экспортирует выбранную арматуру Blender в формат .bn. Вычисляет и экспортирует соответствующий файл .bbx с именем скелета и ограничивающим прямоугольником. Экспортирует геометрию с пользовательской формой костей, если она назначена.
5.Импорт ANI (анимации): Импортирует файлы анимации .ani. Применяет анимацию к совместимым арматурам и/или объектам на основе имен, найденных в файле ANI. Создает действия Blender. Возможность выбора целевых объектов или объектов в коллекции, соответствующих базовому имени файла ANI.
Примечание: Импортер анимации может не найти автоматически подходящую коллекцию для поиска арматуры, поскольку он полагается исключительно на имена. Если это произойдет, и вы уверены в совместимости арматуры и анимации, выберите арматуру и установите флажок «Применить к выбранным объектам» при импорте файла .ani: это заставит анимацию использовать выбранную арматуру.
6.Экспорт ANI (анимация): Экспортирует действия Blender в формат .ani. Перед экспортом запекает сложные анимации (ограничения, драйверы, NLA). Доступны варианты экспорта активного действия, действий выбранных объектов, действий из активной коллекции или всех действий сцены.
7.Импорт BSP (карты): Импортирует геометрию карты в формате .bsp. Считывает связанные файлы .r3m (материалы), .r3t (текстуры) и .ebp (сущности, столкновения) (должны иметь одинаковое базовое имя и находиться в одной папке). Находит ресурсы сущностей, анализируя архивы .rpk, расположенные в ../Entity/ относительно каталога BSP. Создает экземпляры геометрии карты, материалов (воспроизводя многие эффекты R3M) и сущностей R3E. Включает опцию импорта и отображения LDR-карт освещения из файлов Lgt.r3t. Также есть опция для создания визуализации фактической структуры BSP карты путем создания параллелепипедов с размерами узлов и листьев с соответствующей геометрией, однако это, безусловно, значительно замедлит работу сцены Blender (эта опция не обязательна для просмотра самой карты, если это то, что вам нужно).
Примечание: Если кажется, что геометрия импортированной карты обрезается в Blender, установите начальную точку отсечения камеры на 1 м, а конечную — на 100000 м в сочетании клавиш n -> вкладке «Вид». Импортированные карты обычно очень большие по координатам и обрезаются с использованием настроек Blender по умолчанию.
8.Импорт R3E (сущностей): Импортирует файлы .r3e вместе с соответствующими файлами .r3m и .r3t. Также импортирует анимации, если они присутствуют.

1.Скачать cbb-rf-online-addon-main.zip

2.В Blender перейдите в меню «Редактировать» > «Настройки» > «Дополнения».

3.Нажмите «Установить...» и выберите загруженный .zip-файл.

4.Включите дополнение "RF Online importer/exporter", установив флажок рядом с ним.

Зависимости (необходимы только в том случае, если вы хотите вручную попробовать вариант экспорта BSP)

Экспорт в формат DDS (.bsp): Для экспорта BSP-файлов необходимо установить ImageMagick и добавить его в переменную PATH вашей системы. Дополнение использует его для преобразования текстур в формат DDS.

Скачать можно по ссылке:

Важно: Во время установки обязательно отметьте опцию «Установить устаревшие утилиты (например, convert)», поскольку дополнение использует магическую команду convert.

Способ применения:

Импорт: Найдите импортеры RF Online в меню Файл > Импорт > ... (MSH, BN Skeleton, ANI, BSP, R3E).
Экспорт: Найдите экспортеры RF Online в меню Файл > Экспорт > ... (MSH, BN Skeleton, ANI).
Параметры оператора: У каждого оператора есть свои параметры. Обратите внимание на такие параметры, как:
        Экспорт MSH: формат сетки для экспорта (Standard/MESH08), тип коллекции для экспорта.
        Импорт ANI: Применить к выбранным объектам, игнорировать объекты, не найденные в исходном виде.
        Экспорт ANI: Действия по экспорту.
        BN Экспорт: Экспорт только выбранных файлов.
Для устранения неполадок доступны параметры отладки. Если они включены, откройте консоль Blender, чтобы просмотреть сообщения.

 

Ожидаемая структура файлов и соглашения об именовании.

Дополнение использует конкретные имена файлов и относительное расположение папок для поиска связанных ресурсов:

Импорт BSP (map.bsp):
            Для корректной работы необходимы файлы map.r3m, map.r3t, mapLgt.r3t (необязательно) и map.ebp в той же папке .
            Для работы аддона необходимы архивы RPK с объектами (например, entity.rpk, monster.rpk), расположенные в ../Entity/ относительно папки map.bsp. Аддон анализирует эти RPK-файлы, чтобы найти файлы .r3e,                  .r3m, .r3t и т. д., относящиеся к объектам карты.
Импорт MSH (mesh.msh):
            Будет производиться поиск путей к текстурам, определенных внутри MSH.
            Если текстуры не найдены напрямую, программа пытается найти их в архивах .rfs, расположенных в ../Tex/ относительно папки файла .msh.
Импорт BN (skeleton.bn):
            Для корректного считывания имени скелета и общего ограничивающего прямоугольника необходимо наличие файла skeleton.bbx в той же папке .
Именование экспорта:
      Экспорт MSH:
            Выбранные объекты: Используется имя файла, указанное в диалоговом окне экспорта (например, my_export.msh).
            Активная коллекция / Все коллекции: Использует имя коллекции в качестве базового имени файла в выбранном каталоге (например, экспорт коллекции с именем "Props" в D:/Exports/ приводит к созданию файла                  D:/Exports/Props.msh). Любая коллекция с именем "bone shapes" игнорируется и не экспортируется, если она присутствует. Это сделано для предотвращения экспорта конфигураций костей в виде новых файлов                  .msh.
      Экспорт BN:
            Аналогично MSH Export (использует выбранное имя арматуры или имя коллекции). Записывает файлы как с расширением .bn, так и с расширением .bbx (например, skeleton.bn, skeleton.bbx).
      Экспорт ANI:
            Использует имя действия Blender в качестве имени файла в выбранной директории (например, действие с именем "Walk_Cycle" экспортируется как Walk_Cycle.ani).
Действующие ограничения / Отказ от ответственности:

Экспорт BSP-файлов ОТКЛЮЧЕН: Хотя аддон содержит код для этого, оператор для экспорта полной .bsp-карты (включая геометрию, материалы, объекты и запеченные карты освещения) в настоящее время отключен в этой версии. Экспорт BSP-файлов чрезвычайно сложен, и эта функция не завершена.
Производительность: Импорт очень больших карт или экспорт сложных сцен может занять время из-за обработки данных Python. Вы можете отслеживать ход импорта, открыв консоль Blender перед импортом карты.
Эффекты R3M: Хотя многие эффекты материалов воспроизводятся с помощью шейдерных узлов, достижение идеального визуального соответствия оригинальному конвейеру фиксированных функций D3D8 может быть сложной задачей.
Экспортер MSH: в настоящее время не экспортирует эффекты.
В целом, функция импорта в этом аддоне предполагает, что вы используете его для импорта файлов из реального игрового клиента с исходной структурой папок. Например, модели можно импортировать без соответствующих текстур, если исходная структура папок отсутствует.
Экспортер файлов .MSH автоматически разделяет сетки, содержащие более 65 000 вершин, что было протестировано самим импортером файлов .msh, но опыт использования в игре будет полезен.
В этом же посте вы найдете архив ZIP, содержащий шаблоны ImHex для некоторых форматов файлов, с которыми я работал.
 

spacer.png

https://i.imgur.com/SFgP0Fu.mp4

Edited by Always-With A-Smile
  • Спасибо 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...