Комментарии 12
Аналогичным образом в свое время разобрал формат карт для Периметра.
Но все гораздо хуже в проектах, которые следят за целостностью файлов или как-то пакуют данные.
Правда последнее время большинство разработчиков этого не делают, потому что аппаратные ресурсы практически безграничные, а шифроваться нет смысла, т.к. модо-творчество — путь к второй жизни игры.
Но все гораздо хуже в проектах, которые следят за целостностью файлов или как-то пакуют данные.
Правда последнее время большинство разработчиков этого не делают, потому что аппаратные ресурсы практически безграничные, а шифроваться нет смысла, т.к. модо-творчество — путь к второй жизни игры.
0
Упаковка сейчас очень широко используется. Пример был в прошлой статье: habrahabr.ru/post/261561
+2
Мне кажется это скорее исключение.
Я на своей практике встречал игру в которой данные не просто паковались, а еще и шифровались… Но это тоже скорее исключение. :)
Как правило данные лежат в виде максимально комфортном для быстрой загрузки, что существенно упрощает их обработку.
Я на своей практике встречал игру в которой данные не просто паковались, а еще и шифровались… Но это тоже скорее исключение. :)
Как правило данные лежат в виде максимально комфортном для быстрой загрузки, что существенно упрощает их обработку.
0
По моему опыту, наоборот. Большинство «больших» игр пакует либо все ресурсы, либо за исключением видео и звука, которые всё равно сильно не сжимаются.
+1
>> либо за исключением видео и звука, которые всё равно сильно не сжимаются
Они _уже_ пожаты. Кто-то хранит голый wave, или видео в виде последовательности .tga? =)
Они _уже_ пожаты. Кто-то хранит голый wave, или видео в виде последовательности .tga? =)
+1
Внешняя память всегда самая медленная — практически всегда быстрее прочитать небольшой блок упакованных данных одним куском и потом распаковать его в значительно больший объем данных для использования в оперативной памяти.
0
Реверс-инженеринг 3д форматов впервые делал в Elite для ZX-Spectrum. Там 3д модели кораблей были простые, разобраться было несложно. Наделал кучку совершенно других моделей, было весело.
Сейчас реверс-инженеринг с последующим ковырянием модели в hex-едиторе выглядит как-то по-детски. Гораздо проще выдрать модель целиком и отредактировать ее в соответствующем редакторе.
Тем более, что на самом деле гораздо удобнее взять редактор моделей, который подходит для определенного движка, и модели поправить в нем.
Также можно создать в нем простейшие модели каких-либо фигур, и реверсить на них, а не на таких сложных моделях как фигура человека со всеми его формами.
Сейчас реверс-инженеринг с последующим ковырянием модели в hex-едиторе выглядит как-то по-детски. Гораздо проще выдрать модель целиком и отредактировать ее в соответствующем редакторе.
Тем более, что на самом деле гораздо удобнее взять редактор моделей, который подходит для определенного движка, и модели поправить в нем.
Также можно создать в нем простейшие модели каких-либо фигур, и реверсить на них, а не на таких сложных моделях как фигура человека со всеми его формами.
0
Никто не говорит о редактировании модели в HEX редакторе.
Речь о том, чтобы разобрать формат и потом сделать импортер/экспортер, например.
Речь о том, чтобы разобрать формат и потом сделать импортер/экспортер, например.
+1
Импортёр — ладно. Но для экспортёра понадобится знать, что прописывать в те самые магические числа, смысла которых понять не удалось. Если новая модель будет хотя бы иногда показывать что-то правдоподобное — то уже повезло. Но скорее всего, при небольшом изменении топологии или числа вершин/треугольников всё сломается так, что не разберёшь.
0
Я потому и написал в самом начале, что разработчики модифицируют движки. Ни один редактор обычно не подходит.
+3
Что-то маловато написали.
Думаю, стоит упомянуть ещё несколько таблиц, которые тоже бывают: нормали (возможно со знаком бинормали в третьем компоненте), веса костей для скелетной анимации. Ещё текстурных координат может быть два набора (для стационарной геометрии).
Таблицы могут записываться как отдельно, так и вперемешку (то есть все компоненты вершины описывается одной записью), так как во втором случае производительность несколько выше.
Ещё могут быть лоды, описания габартных контейнеров, сам скелет с иерархией костей и т.д.
Думаю, стоит упомянуть ещё несколько таблиц, которые тоже бывают: нормали (возможно со знаком бинормали в третьем компоненте), веса костей для скелетной анимации. Ещё текстурных координат может быть два набора (для стационарной геометрии).
Таблицы могут записываться как отдельно, так и вперемешку (то есть все компоненты вершины описывается одной записью), так как во втором случае производительность несколько выше.
Ещё могут быть лоды, описания габартных контейнеров, сам скелет с иерархией костей и т.д.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Разбор форматов: 3d-модели изнутри