Темы, вроде бы, не было. По мере поступления вопросов и ответов будем править первые несколько сообщений, придавая им качество справочника.
Прежде всего напоминаем, что такое ОниСплит. Это программа, написанная на C# и требующая (на ПК) наличия .NET 2.0. В современных Окнах .NET установлен по умолчанию. ОниСплит поставляется с Эдишном (давно не было релиза; в скором будущем может появиться...), но помимо Эдишна обновляется и используется как самостоятельная прога. Скачать можно здесь, там же находится некоторое количество более или менее устаревшей документации на аглицкой мове: http://wiki.oni2.net/OniSplit
ОниСплит сделан прежде всего для того, чтобы управляться с бинарными ресурсами Они, что раньше было трудоёмким и очень ограниченным занятием. Программа умеет распаковывать так называемые инстенс-файлы .dat в самостоятельные модули .oni и комбинировать модули обратно в инстенс-файлы.
Кроме этой принципиальной функциональности, программа позволяет оперировать с модулями, как отдельно, так и учитывая их иерархию (ссылки). Например, можно узнать, на какие модули ссылается данный модуль, или скопировать/переместить модуль куда-либо вместе со всем, что ему нужно.
Наконец, ОниСплит позволяет конвертировать модули из бинарного формата .oni в более удобные для работы формы (например, в текстовый формат XML). Однако работа с ОниСплитом, конечно, всё ещё требует хорошего понимания того, как ресурсы взаимодействуют между собой, с движком, и со скриптами.
Командная строка OniSplit сильно зависит от того, где лежат инстенс-файлы, модули .oni, и сам ОниСплит. В примерах ниже приведены "примерные" пути.
"1-Как с его подмогой выдрать текстуры из игры?" papka\gde\lezhit\programma\OniSplit.exe -extract:png papka\kuda\pojdut\kartinki papka\gde\lezhat\moduli\txmp\TXMP*.oni или papka\gde\lezhit\programma\OniSplit.exe -extract:png papka\kuda\pojdut\kartinki papka\gde\lezhat\instance\fajly\level*.dat Естественно, вместо "всех" текстур можно выдрать только некоторые, а также фильтровать по имени текстуры или инстенс-файла. Кроме того, некоторые онишные текстуры хранятся в форматах, которые не могут быть сэкспортированы в PNG "один-в-один" (сжатие, анимация, блики) Кроме BMP и PNG, ОниСплит поддерживает форматы TGA и DDS (а последний - поддерживает сжатие). Анимация и блики сохраняются в отдельных файлах.
Кроме того, с недавних пор есть возможность экспортировать текстуры без потери информации. Картинки сохраняются в TGA, а мета-данные - в XML. Именно из такого формата удобнее всего импортировать текстуры (см. ниже). В противном случае в командной строке надо писать ворох параметров.
"2-Как с его подмогой выдрать звуки из игры?" papka\gde\lezhit\programma\OniSplit.exe -extract:wav papka\kuda\pojdut\zvuki papka\gde\lezhat\moduli\sndd\SNDD*.oni или papka\gde\lezhit\programma\OniSplit.exe -extract:wav papka\kuda\pojdut\zvuki papka\gde\lezhat\instance\fajly\level*.dat Если вы работаете с Маковой версией, то формат звуков отличается: вместо -extract:wav надо использовать -extract:aif
"3-Как с его подмогой сконвертировать из .oni в .png?(Если такое возможно)" см. выше (1)
"4-Как с его подмогой сконвертировать из .png в .oni?(Если такое возможно)" Функциональность онишных текстур превосходит функциональность картинок, будь то в формате PNG или TGA или ... Поэтому при импортировании из голых картинок требуется много дополнительной информации о назначении текстуры. <program> -create:txmp <target directory> [-genmipmaps] [-nouwrap] [-novwrap] [-format:bgr32|bgra32|bgr555|bgra5551|bgra4444|dxt1] [-envmap:texture_name] <filename> В этой типовой командной строке угловыми скобками обозначены пути, а квадратными - необязательные настроечные параметры. -envmap:hrjuk прописывает для данной текстуры имя другой текстуры TXMPhrjuk, которую следует использовать в качестве блика. -format определяет битность цвета, наличие дополнительного канала "alpha" для прозрачности/отражаемости, или сжатие (DXT1). -genmipmaps заставляет ОниСплит сгенерировать уменьшенные версии текстуры для эффективного отображения на расстоянии. -nouwrap и -novwrap отменяют периодическое повторение текстуры вдоль оси U и/или V. Редкий финт, но о нём следует помнить. Это самые важные параметры, однако у Онишных текстур есть множество других настроек. Более мощный метод - импорт из XML: papka\gde\lezhit\programma\OniSplit.exe -create papka\kuda\pojdjot\tekstura papka\gde\lezhit\xml\barmaglot.xml
|