Sonic Racing CrossWorlds — Аудио/текстомоддинг)

# Полное руководство по созданию аудио-модов

Здесь вы найдёте все шаги: от извлечения оригинальных звуков до упаковки готового мода в .pak. Следуй инструкциям внимательно — и твои звуки зазвучат в игре!

## Необходимые инструменты

- foobar2000 — аудиоплеер для прослушивания .awb
- Компонент vgmstream для foobar2000 (устанавливается через меню Components)
- FModel — для извлечения .acb/.awb из игры
- VGAudioCli — консольная утилита для конвертации аудио в .hca (или используй готовый тулкит ниже)
- Union Audio Modding Toolkit 1.1.2 (от Lady Luna) — включает AcbEditor, VGAudioCli, UnrealPak, батники.
- Любой аудиоредактор для подготовки своих .wav (Audacity, etc.)

Все дальнейшие шаги предполагают, что у тебя есть папка с тулкитом (далее `tools\`), а также установлен foobar2000 с компонентом vgmstream.

## Шаг 1. Извлечение оригинальных .acb/.awb из игры

Используй FModel (подробный гайд по настройке есть на YouTube, но основные моменты):

1. Открой FModel, укажи путь к папке `...\Union\Content\Paks` игры.
2. В настройках добавь AES-ключ (ищи в интернете; прим.: актуальный на момент написания этого гайда ключ лежит рядом в файле aes.txt) и mappings файл (.usmap; Он тоже лежит рядом. И тоже актуальный на момент написания гайда).
3. Загрузи все паки (Ctrl+A → Load).
4. Найди нужные файлы:
   - Голоса персонажей: `VOICE_ИМЯ.acb/.awb` (например VOICE_SHA, VOICE_SON и т.д.)
   - Музыка: `BGM_*.acb/.awb`
   - Звуки интерфейса: `SE_*.acb/.awb`
   Обычно они лежат в `Content/CriWareData` или `Content/L10N/язык/CriWareData`.
5. Правой кнопкой → Export Raw Data (или просто перетащи в папку). Сохрани оба файла (и .acb, и .awb).

Совет: создай отдельную папку для проекта и сложи туда исходные .acb/.awb.

## Шаг 2. Определение нужных звуков через foobar2000

1. Открой foobar2000.
2. Перетащи в окно файл .awb (не .acb!).
3. В списке треков ты увидишь все звуки из этого банка. Обрати внимание на колонку Title — там указаны имена вроде `BGM#1`, `BGM#2`, `VOICE_CHA_SELECT` и т.д.
4. Прослушай треки и запомни, какой номер (ID) соответствует нужному звуку.
5. Важно: Индекс файла .hca = ID из foobar минус 1. Например, если нужный звук имеет ID `BGM#5`, то его индекс = 4, и файл будет называться `00004_streaming.hca`.

Иногда нумерация может сбиваться, но в 99% случаев это правило работает.

## Шаг 3. Распаковка .acb в .hca с помощью AcbEditor

1. Скопируй .acb и .awb в отдельную папку, например `work\`.
2. Перетащи файл .acb на `AcbEditor.exe` (из тулкита). Или открой командную строку в папке с AcbEditor и выполни:
   AcbEditor.exe путь\к\файлу.acb
3. AcbEditor создаст папку с именем файла без расширения (например, `VOICE_SHA\`) и поместит туда все .hca и файл `.subkey`.
4. Теперь у тебя есть все отдельные звуки в формате .hca.

AcbEditor должен находиться в одной папке со своими .dll и .config. В тулките всё уже настроено.

## Шаг 4. Подготовка своего аудио и конвертация в .hca

1. Подготовь свой аудиофайл в формате .wav (рекомендуется 16 бит, 44.1 или 48 кГц, стерео или моно. Лучше как в оригинале. Оригинал к слову можно глянуть в foobar. Пкм по файлу в foobar, convert и quick convert.).
2. Помести свой .wav в папку `input\` тулкита (если используешь Convert2UNION.bat) или в любую удобную папку.
3. Узнай ключ для твоего .acb. Ключи можно найти в файле `Convert2UNION.bat` — там для каждого имени .acb указан свой `--keycode`. Например, для VOICE_SHA ключ `2922602933591935282`.
4. Запусти командную строку в папке с VGAudioCli.exe и выполни команду (пример для VOICE_SHA):
   VGAudioCli.exe -i input\мойзвук.wav -o output\ --keycode 2922602933591935282 --out-format hca
   Или просто воспользуйся `Convert2UNION.bat`: положи .wav в `input\`, запусти батник, введи имя .acb (например VOICE_SHA) — он сам сконвертирует все файлы из `input\` в `output\`.

VGAudioCli поддерживает многие форматы на входе: .wav, .mp3, .ogg, .flac. Но для наилучшего качества рекомендую использовать .wav (Прим. прог.: с ним, в отличии от других, меньше всего проблем при конвертации (проверено опытом)).

## Шаг 5. Замена звука в распакованной папке

1. Возьми сконвертированный .hca (лежит в `output\` тулкита).
2. Переименуй его в нужный индекс, например `00004_streaming.hca` (если заменяешь пятый трек).
3. Скопируй этот файл в папку, созданную AcbEditor (например `VOICE_SHA\`), и подтверди замену.

## Шаг 6. Упаковка обратно в .acb/.awb

1. Перетащи папку с изменёнными .hca (например `VOICE_SHA\`) на `AcbEditor.exe`. Или выполни в командной строке:
   AcbEditor.exe путь\к\папке\VOICE_SHA
2. AcbEditor создаст в той же папке, где лежит AcbEditor.exe новые файлы .acb и .awb (а если они итак лежат рядом (А ОНИ ДОЛЖНЫ), то он их просто перезапишет). Проверь — они должны появиться в папке тулкита.
3. Переименуй их при необходимости (обычно имя совпадает с именем папки).

Иногда AcbEditor создаёт файлы в той же папке, откуда был запущен (т.е. в папке тулкита). Просто скопируй их оттуда.

## Шаг 7. Создание структуры мода

1. Создай папку с названием мода, например `MySuperCool228336SWAGUltraDeluxeNotVirusMod`.
2. Внутри создай вложенные папки: `UNION\Content\CriWareData\`.
   ВАЖНОЕ ПРИМ.: Иногда структура может отличаться. Не забудь сверить с оригиналом!
3. Скопируй туда полученные .acb и .awb.
4. Если ты меняешь локализованные звуки (японские, например), то путь будет `UNION\Content\L10N\ja\CriWareData\`.

Пример структуры:

MyAudioMod\
└── UNION\
ㅤㅤ└── Content\
ㅤㅤㅤㅤ└── CriWareData\
ㅤㅤㅤㅤㅤㅤ├── VOICE_SHA.acb
ㅤㅤㅤㅤㅤㅤ└── VOICE_SHA.awb

## Шаг 8. Упаковка мода в .pak

1. Открой командную строку в папке тулкита (где лежит UnrealPak.exe).
2. Выполни команду (или используй `UnrealPak.bat` в тулките):
   UnrealPak.exe MySuperCool228336SWAGUltraDeluxeNotVirusMod.pak -Create=MySuperCool228336SWAGUltraDeluxeNotVirusMod\*.* -compress
   Или просто перетащи папку `MySuperCool228336SWAGUltraDeluxeNotVirusMod` на `UnrealPak.bat` — он сам создаст .pak с именем папки.
3. Готовый .pak появится в папке тулкита.

Имя .pak должно начинаться с mod_ (например `mod_MyAudioMod_P.pak`), чтобы игра загрузила его в первую очередь. Можно переименовать после создания.

## Шаг 9. Установка мода в игру

1. Найди папку с игрой (например через Steam: свойства → установленные файлы → обзор).
2. Перейди в `Union\Content\Paks\`.
3. Скопируй туда свой .pak (желательно с префиксом `mod_`).
4. Запусти игру и проверь результат!

# Редактирование текста в игре (UnrealLocresEditor)

В этом разделе описано, как менять имена персонажей, субтитры и другой текст в игре через `.locres`‑файлы.

## Необходимые дополнительные инструменты

- UnrealLocresEditor — графический редактор для файлов `.locres` (GUI над `UnrealLocres`).
- Папка с этим тулкитом (она же у вас есть, да?)
- Steam‑версия Sonic Racing: CrossWorlds и установленная игра.

## Шаг 1. Извлечение Game.locres через FModel

1. Открой FModel и укажи путь к папке `...\\Union\\Content\\Paks` игры (как в аудиомоддинге, без уже установленных модов, если есть ошибка).
2. В настройках добавь AES‑ключ и файл `.usmap`, затем загрузи все паки (Ctrl+A → Load).
3. Перейди по пути: `Union\\Content\\Localization\\en` (или другой язык, если нужен локализованный текст).
4. Найди файл `Game.locres` и выбери Export Raw Data (или перетащи в свою папку).
5. Скопируй путь к папке, куда FModel выгрузил файл (будет использоваться в UnrealLocresEditor).

## Шаг 2. Установка и настройка UnrealLocresEditor

1. Скачай последнюю версию UnrealLocresEditor с GitHub (ссылка в описании видео).
2. Распакуй архив в любую папку (например, в твой основной рабочий каталог модов).
3. Запусти `UnrealLocresEditor.exe`. При первом запуске он может попросить установить `UnrealLocres` — нажми «Download» и дождись установки.

## Шаг 3. Открытие Game.locres и поиск текста

1. В меню выбери File → Open Locres.
2. Укажи путь к папке, куда выгрузил `Game.locres` через FModel, и выбери сам файл.
3. После открытия ты увидишь все строки текста игры в одном списке.
4. Воспользуйся поиском по строкам:
   - Чтобы найти текст, содержащий слово «Shadow», введи `Shadow` в поле поиска.
   - Если знаешь конкретный ключ строки (например, ID персонажа вроде `Character_06`), ищи по этому ключу.
5. В найденной строке перейди в поле Target и введи свой текст (например, замени `Shadow` на `Mephilus`).

## Шаг 4. Экспорт изменённого .locres

1. После внесения всех изменений выбери в меню Export.
2. Укажи папку, куда необходимо сохранить изменённый `Game.locres` (обычно это временная папка, связанная с твоим модом).
3. Убедись, что файл сохранён без ошибок.

## Шаг 5. Интеграция текстового мода в структуру мода

1. Создай папку мода (например, `MyTextMod`), если она ещё не используется для аудио.
2. Внутри организуй структуру:
   MyTextMod\\
   └── UNION\\
   ㅤㅤ└── Content\\
   ㅤㅤㅤㅤ└── Localization\\
   ㅤㅤㅤㅤㅤㅤ└── en\\
   ㅤㅤㅤㅤㅤㅤㅤㅤ└── Game.locres
3. Скопируй изменённый `Game.locres` в папку `UNION\\Content\\Localization\\en` твоего мода.
4. Если игра использует другие языки, можно продублировать изменённый файл в нужные папки (например, `ja`, `ru` и т.п.), но логика идентификаторов там обычно совпадает.

## Шаг 6. Упаковка текстового мода в .pak

1. Открой командную строку в папке с `UnrealPak.exe` (из тулкита).
2. Выполни команду:
   UnrealPak.exe mod_MyTextMod.pak -Create=MyTextMod\\*.* -compress
   или просто перетащи папку `MyTextMod` на `UnrealPak.bat` — он создаст `mod_MyTextMod.pak`.
3. Переименуй пак, если нужно, чтобы имя начиналось с `mod_` (см. предыдущие советы).

## Шаг 7. Установка текстового мода в игру

1. Найди папку с игрой через Steam: свойства игры → «Установленные файлы» → «Обзор локальных файлов».
2. Перейди в `Union\\Content\\Paks`.
3. Скопируй туда `mod_MyTextMod.pak` (или объедини с уже существующими аудиомодами в один пак, если они не конфликтуют).
4. Запусти игру, смените язык на английский (или тот, который ты редактировал), и проверь, что текст изменился (например, имя персонажа).

Если после обновления игры текстовый мод перестал работать, скорее всего, менялись ключи строк или структура `.locres`. В этом случае нужно заново извлечь свежий `Game.locres` и повторить изменения.

## Часто задаваемые вопросы и советы

- Где взять ключи для всех .acb? Открой `Convert2UNION.bat` — там уже прописаны ключи для большинства .acb (например, VOICE_SHA, VOICE_SON и т.п.). Если какого‑то файла нет, можно поискать ключи в интернете или в сообществе моддеров Sonic Racing.
- Можно ли менять длину звука? Да, игра не требует точного соответствия по длине. Главное — использовать правильный формат .hca с тем же ключом. Но лучше не делать звуки слишком длинными, чтобы не сбить логику диалогов.
- Почему после замены звук не играет или игра вылетает? Чаще всего причина в:
  - неправильном ключе при конвертации в .hca;
  - битрейте или частоте дискретизации, несовместимой с оригиналом;
  - битом/повреждённом .hca или .acb.
  Используй foobar2000 с vgmstream, чтобы проверить, как звук реально выглядит у оригинала, и максимально близко повтори параметры (частота, битность, моно/стерео).
- Как сделать резервную копию? Всегда копируй оригинальные .acb/.awb и Game.locres в отдельную папку до правок. Так проще откатить изменения, если что‑то пошло не так.
- Что если .awb не открывается в foobar? Убедись, что установлен компонент vgmstream последней версии в foobar2000. Иногда помогает перезапуск foobar и перетаскивание файла в окно заново. Если файл всё равно не открывается, попробуй получить его заново через FModel, возможно, он был повреждён при экспорте.
- Можно ли использовать вместо .wav другие форматы (mp3, ogg, flac)? Да, VGAudioCli поддерживает .mp3, .ogg, .flac и другие, но для максимальной совместимости и стабильности лучше готовить звук в .wav (16 бит, 44.1/48 кГц, моно/стерео, как в оригинале). Особенно важно для голосов и коротких SE‑звука.
- Как узнать оригинальные параметры звука (.hca) без лишних телодвижений? В foobar2000:
  - правой кнопкой по треку → Convert → Quick convert;
  - в окне конвертера посмотри частоту, битность и каналы.
  Под эти параметры и конвертируй свой .wav в .hca.
- Почему после замены звук слышен, но с шумами/артефактами? Часто это из‑за:
  - слишком высокого/низкого битрейта или неправильной частоты;
  - неправильного количества каналов (моно/стерео не совпадает с оригиналом).
  Сравни параметры в foobar2000 у оригинального трека и у своего .wav, затем переконвертируй с идентичными настройками.
- Нужно ли менять имя .hca файла при замене? Да, если ты меняешь конкретный трек:
  - найди в foobar2000 ID трека (например `BGM#5` — это ID 5);
  - номер .hca = ID − 1, т.е. для 5‑го трека файл должен называться `00004_streaming.hca`;
  - переименуй свой .hca в нужный номер и положи в папку AcbEditor’а.
  Если просто заменяешь весь банк целиком через AcbEditor, можно оставить оригинальные имена, но для точечной замены номер должен совпадать.
- Можно ли собирать несколько своих .hca в один .acb, не трогая остальные звуки? В большинстве случаев нет: AcbEditor создаёт .acb на основе всех файлов из папки, поэтому если ты добавляешь/удаляешь .hca, количество треков в банке может измениться. Для чистой замены:
  - распакуй оригинальный .acb;
  - оставь все оригинальные .hca на месте;
  - переименуй только нужный файл и замени его своим .hca.
  Так структура банка не сломается.
- Как безопасно тестировать моды, чтобы не ломать игру?
  - работай с резервными копиями оригинальных файлов и рабочих папок;
  - запускай игру с одним .pak одновременно, особенно если тестируешь аудио + локализацию;
  - если игра вылетает, просто удали проблемный пак из папки `Union\\Content\\Paks` и перезапускай игру.

Важно! Не распространяйте моды, содержащие защищённый контент (музыку, голоса) без разрешения авторов. Для личного использования — пожалуйста.

© 2026 | Царь Всея Печенья