Перейти к содержимому
Zone of Games Forum
moodshimon

Помощь в распаковке игр на Unreal

Рекомендованные сообщения

Привет всем! Я занимаюсь моддингом игр, а именно озвучкой. Но у меня возникли проблемы с технической стороной - распаковкой и упаковкой файлов. Если у кого-то есть желание помочь мне с этим или хотя бы подсказать, я буду очень благодарен!

Проекты которые интересуют
Nightingale
Pacific Drive тест трейлер - YouTube

 

Поделиться сообщением


Ссылка на сообщение
1 час назад, xoixa сказал:

больше похоже на 5.3.2 с ucas utoc

Вполне возможно, данную версию поставила программа FModel.

1 час назад, xoixa сказал:

скиньте несколько файлов

https://drive.google.com/file/d/1CALHoW9GCBwPLP_kwCpe4zeutW-ALaU0/view?usp=drive_link

Вот, брал их по пути: Habitat\Content\Habitat\Audio\WwiseAudio\Media

Поделиться сообщением


Ссылка на сообщение
52 минуты назад, PROFFESIONAL сказал:

Вполне возможно, данную версию поставила программа FModel.

https://drive.google.com/file/d/1CALHoW9GCBwPLP_kwCpe4zeutW-ALaU0/view?usp=drive_link

Вот, брал их по пути: Habitat\Content\Habitat\Audio\WwiseAudio\Media

ссылка не работает

 

Изменено пользователем xoixa

Поделиться сообщением


Ссылка на сообщение
11 минут назад, xoixa сказал:

ссылка не работает

Открыл доступ.

Поделиться сообщением


Ссылка на сообщение

Народ где в UE5 субтитры и текст хранится?

Поделиться сообщением


Ссылка на сообщение

Подскажите, пожалуйста, как сопоставить ключ субтитров с аудиофайлом в игре The Outer Worlds SCE.

Вот пример реплики 

{
          "Key": "chatter/parent_noconversation_00_ev_deserter",
          "Value": {
            "Name": "chatter/parent_noconversation_00_ev_deserter",
            "StringsWithTokens": [],
            "StringsWithFemaleVO": [],
            "Entries": [
              {
                "Key": "2",
                "Value": {
                  "ID": 2,
                  "DefaultText": "Впервые вижу такое оживление в лагере.",
                  "FemaleText": "",
                  "AlternateXboxText": "",
                  "AlternatePS5Text": ""
                }
}

Мне удалось сопоставить 39к реплик диалогов с аудио по именам. Но для остальных реплик (не диалоги), например, приведенная выше, пока не получается найти соответствующий wem. Где то должна быть связь.  

Поделиться сообщением


Ссылка на сообщение

Всем привет. Третьи сутки читаю форум и кучу других источников в изучении модификации UE паков. Что-то получается, что-то нет, но кажется зашёл в тупик и поэтому решил написать.

Вопрос собственно в следующем. Хочу локализовать игру на UE_5_3. Паки .pak .ucas .utoc без шифрования. Usmap в наличии. 

Нашел часть локализации в .pak архиве, достал locres, отредактировал, залил обратно — работает.

Но другая часть текста находится в ucas паке. Нашел usmap, с помощью fmodel вытащил нужные uasset. Там таблица StringTable. Но открыть для редактирования не получается. UAssetGUI ругается, что не может открыть Zen Loader ассеты. А ZenTools умеет работать только с 5.1/5.2 версиями. Зашёл в тупик.

Вот этот вытащенный ассет — https://drive.google.com/file/d/1BCEf9f0Jw8kN24Lsof6GXj2i5zAS3Loz/view?usp=sharing

Обратно запаковать вроде понял как через ReZen или UnZen, так что вопрос в редактировании uasset.

Могу ещё json через fmodel выгрузить, но не могу понять как его обратно в uasset запаковать. Хотя в эту сторону подробно не копал. Может там и есть секрет успеха. Если натолкнёте — чем и как это сделать, буду благодарен.

И вторая проблема, которую параллельно пытаюсь решить — игра не держит кириллические символы. То есть если в игре в любом поле для ввода пытаться ввести кириллицу, то символы не видно, хотя если потом двигать по ним стрелками курсором, то они как будто есть.

Папку шрифтов нашел в pak файле. Проверил через таблицу символов в каких шрифтах нет кириллицы. Заменил их на arial, просто подкинув другой файл под тем же названием. Запаковал в pak, как и пак с локализацией. Но почему-то, в отличие от того пака —  не сработало. То есть есть надписи которые должны стать на русском стали просто пустым местом. При этом в locres специально писал типа “Test-тест-test”, в игре это выглядит как “Test—test”. Тут куда копать тоже не знаю.

Вот такие пироги. Надеюсь на помощь неравнодушного коммьюнити.

Поделиться сообщением


Ссылка на сообщение
В 13.11.2024 в 02:57, WhiskeyRacoon сказал:

Хочу локализовать игру на UE_5_3.

 

В 13.11.2024 в 02:57, WhiskeyRacoon сказал:

Вот этот вытащенный ассет

 

В 13.11.2024 в 02:57, WhiskeyRacoon сказал:

вопрос в редактировании uasset

Текст только в этом ассете или есть и в других?

Поделиться сообщением


Ссылка на сообщение
1 час назад, xoixa сказал:

Текст только в этом ассете или есть и в других?

Текст в нескольких паках в нескольких ассетах, но они все одинаковой структуры, как fmodel показывает. Так что если один пойму как редактировать, то и остальными проблем не возникнет, как я понимаю. Локализовать хочу только текст, так что всякие модели/текстуры и прочее не буду трогать. Только текстовые таблицы.

Поделиться сообщением


Ссылка на сообщение
23 минуты назад, WhiskeyRacoon сказал:

в нескольких ассетах, но они все одинаковой структуры

скиньте несколько таких ассетов

Поделиться сообщением


Ссылка на сообщение
1 час назад, xoixa сказал:

скиньте несколько таких ассетов

Вот, архив без сжатия. Все лежат по своим путям. Все из одного ucas (pakchunk0-WindowsClient.ucas). В другом ucas есть еще один текстовый, но там буквально два сообщения, так что можно на него забить.

https://drive.google.com/file/d/1dfosPQs6Fo_hP7Wvkojprv72ZfXZLZM1/view?usp=drive_link

Поделиться сообщением


Ссылка на сообщение
В 14.11.2024 в 15:50, WhiskeyRacoon сказал:

Только текстовые таблицы.

Написал такое:

Скрытый текст

# Uasset text export script for Ashes of Creation
# ANSI only
# script for QuickBMS http://quickbms.aluigi.org

get Name basename
string Name + ".txt"
log MEMORY_FILE 0 0
goto 44
get Offset long
math Offset + 5
goto Offset
get Len long
getDString UnkStr Len
get Len long
getDString Title Len 
get Count long
for i = 0 < Count
	get Len1 SIGNED_LONG
	if Len1 < 0 //unicode
		math Len1 * -2
		getDString ID Len1
		set ID unicode ID
	else
		getDString ID Len1
	endif
	
	get Len2 SIGNED_LONG
	if Len2 < 0 //unicode
		math Len2 * -2
		getDString Str Len2
		set Str unicode Str
	else
		getDString Str Len2
	endif
	//print "%ID% %Str%"
	putct ID string -1 MEMORY_FILE
	put 0x09 byte MEMORY_FILE 
	putct Str string -1 MEMORY_FILE
	put 0x0D byte MEMORY_FILE 
next i
get MFSize asize MEMORY_FILE
encryption replace "\x0D\x0A" "/n"
log Name 0 MFSize MEMORY_FILE

 

Скрытый текст

# Uasset text import script for Ashes of Creation
# ANSI only
# script for QuickBMS http://quickbms.aluigi.org

get Name basename
string NewUassetName P "%Name%_New.uasset"
goto 44
get Offset long
math Offset + 5
goto Offset
get Len long
getDString UnkStr Len
get Len long
getDString Title Len 
get Count long
savepos Header
log MEMORY_FILE 0 Header
goto -8
getDString Footer 8 
open FDDE txt 1
open 1
for i = 0 < Count
	getct ID string 0x09
	Strlen Len1 ID 1
	getct Str string 0x0d
	Strlen Len2 Str 1
	math Len1 + 1
	math Len2 + 1
	//print "%ID% %Str%"
	append
	put Len1 long MEMORY_FILE
	put ID string MEMORY_FILE 
	put Len2 long MEMORY_FILE
	put Str string MEMORY_FILE
	append
next i
	append
	putDString Footer 8 MEMORY_FILE
	append
get MFSize asize MEMORY_FILE
encryption replace  "/n" "\x0D\x0A"
log NewUassetName 0 MFSize MEMORY_FILE
append

 

quickbms textexport.bms UIStringTable.uasset

Даст UIStringTable.txt

quickbms textimport.bms UIStringTable.uasset

Вставит текст из UIStringTable.txt в UIStringTable_New.uasset

Импорт только в ANSI(1 байт на символ). UCS-2 не осилил:(

в txt, ID и Значение разделены табуляцией. Переносы строк заменены на “/n”, при импорте заменяются обратно на перенос строки

Скрытый текст

записи в таблице идут парами:

[Длинна строки][Строка ID][Длинна строки][Строка Значение]

если [Строка Значение] в UCS-2LE (по 2 байта на символ), то [Длинна строки] *-2


 

Изменено пользователем xoixa
  • Лайк (+1) 1

Поделиться сообщением


Ссылка на сообщение

@xoixa огого! Спасибо огромное за такой труд. Буду изучать.

А по поводу шрифтов не подскажете?

Основные файлы шрифтов (ufont) лежат в pak. (0-pak/aoc/content/ui_kit/fonts)

Например NotoSans-Bold.ufont

Легко достаются, переименовываются в tff, открываются. Соответственно, подменяются так же легко.

Но есть еще файлы uasset шрифтов в ucas паках. По тому же условному пути. (0-ucas/aoc/content/ui_kit/fonts)

Например NotoSans-Bold.uasset

с содержимым:

"Type": "FontFace",
    "Name": "NotoSans-Bold",
    "Class": "UScriptClass'FontFace'",
    "Flags": "RF_Public | RF_Standalone | RF_WasLoaded | RF_LoadCompleted",
    "Properties": {
      "SourceFilename": "C:/P4/Ashes_of_Creation/Content/UI/PaxUI/NotoSans/NotoSans-Bold.ttf"

И вот вопрос. Для подмены шрифтов достаточно заменить файлы шрифтов в pak и подкинуть их в виде нового pak, или надо uasset тоже как-то править? Судя по адресу, это информация и местоположении шрифта на момент компиляции, и непосредственно в игре использоваться не должна.

Поделиться сообщением


Ссылка на сообщение
33 минуты назад, WhiskeyRacoon сказал:

Для подмены шрифтов достаточно заменить файлы шрифтов в pak и подкинуть их в виде нового pak, или надо uasset тоже как-то править?

В Postal Redux было именно так. В вашем случае, возможно, в соответствующем uasset нужно будет поправить размер нового ufont’а. После замены ufont, шрифт в игре поменялся?

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас



Zone of Games © 2003–2025 | Реклама на сайте.

×