CG in Games tosyk's blog

13Июл/1161

3d Ripper UV Repair

Русский

В этой статье я объясню как восстановить текстурные координаты у игровых объектов "снятых" при помощи программы 3d Ripper.

После использования 3d ripper'a многие столкнулись с проблемой потерянных текстурных координат у "рипнутых" моделей. Однако uv-координаты никуда не пропадали. Они присутствуют на модели, но скрыты от глаз в отличном от 1-ого текстурном канале. Для восстановления uv-координат у моделей из большинства игр я написал скрипт для 3ds max, который призван решить проблему "отсутствующих" uv.

скачать скрипт (download script)

Для импорта *.3dr файлов советую всегда пользоваться такими настройками, Recommended values для каждой игры выбирать свой:

Показать настройки »

0. Как запустить скрипт. Открыть 3ds max. Нажать на пункт меню MAXScript и нажать на Run Script...

Выбрать в открывшемся окне скрипт uv-repair-tools.ms и открыть его.

Откроется окно скрипта:

Скрипт подходит для 3ds max любой версии от 9 до 2012. Цифра в скобках означает uv-канал из которого восстанавливаются текстурные координаты. Название игр ничего не значит, написаны они в скрипте потому, что это были первые игры в которых я обнаружил uv-координаты в соответствующих каналах (в скобках).

Восстановление uv-координат состоит из двух этапов.

1. Определение uv-канала. Для определения в каком uv-канале находятся текстурные координаты можно воспользоваться модификатором Unwrap UVW и перейти к пункту 2. А можно затекстурить объект и поочерёдно выполнять пункт 2.

2. Нажать на кнопку. В этом пункте нужно нажать на кнопку. Если через модификатор в 3ds max вы точно узнали в каком uv-канале находятся текстурные координаты, то нажмите на кнопку соответствующую uv-каналу.

Если выбрали поочерёдное нажатие то тут всё просто: поочерёдно нажимайте на каждую кнопку пока не увидите, что текстура встала ровно на модели. После завершения преобразования объект автоматически преобразуется в Editable Poly.

После того как uv-координаты восстановлены попробуйте этот способ ещё на нескольких объектах. Бывает, что в одной и той же игре текстурные координаты у разных объектов находятся в разных uv-каналах. Для определения выбирайте разные типы объектов: главный персонаж, статические объекты, анимированные объекты, оружие, стекло, растительность, монстры, глаза, лампы (сами лампочки/свет), волосы и т.д. Если уверены, что тот или иной тип объектов имеет один и тот же uv-канал то можете выделить группу (иногда все) объекты и нажать на соответствующую кнопку.

ВНИМАНИЕ: В скрипте содержатся непонятные ошибки. Не стоит пренебрегать многократным нажатием на разные (и на одну и ту же) кнопки. Во время нажатия на кнопку с объектом происходят определённые преобразования, в которых участвуют как модификаторы и встроенный скриптовый язык так и луч с венеры отражённый в болотном газе.

3. Это интересно. Существуют игры, в которых uv-координаты действительно теряются. Для их получения можно попробовать следующее:

  • "рипнуть" объект из скриптовой сцены;
  • "рипнуть" модель с другого ракурса или другой игровой локации;
  • перед "рипом" отключить все эффекты оставив тем не менее макс. детализацию объектов;

Бывает и такое, что 3d ripper не справляется и "рипается" только куски уровня/объекта. Пример Mafia: The City of Lost Heaven. Как ни пытался на моей конфигурации компьютера ничего кроме персонажа и ландшафта "рипнуть" не удалось.

В некоторых играх разработчики используют анимацию (или их "подложку") текстурных координат. Пример Bad Company 2. Мало того, что объекты имеют различные каналы с координатами (определил 6 и 8), так ещё и координаты некоторых объектов смещены/уменьшены. Приходится выправлять руками.

Случается и так, что координаты восстановить не удаётся ни при каких условиях (0,1%), тут уж ничего не поделать.

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

p.s.: я так же выкладываю сэмпл: в файле cod-bo-sample.max uv-координаты оригинальные, в файле cod-bo-sample-f.max uv-координаты исправлены. Текстуры прилагаются.

скачать пример

Комментарии (61) Пинги (0)
  1. Согласен))

  2. Tosyk,help! пишу тут т.к. самый свежий мануал(на старые боюсь не откликнишься).Проблема-при скачивании твоих програмок(в конкретном случае-для мафии2(открытие sds) и max payne 2(как распаковщик ras так и конвертеры моделей))-программы из архива не извлекаются.Либо ничего не происходит-либо выдает ошибку.При попытке запуска программы прямо из архива-опять таки ошибка.Если речь о версии то архиватор последний+проблем с не твоими программами которые ты выкладывал-небыло.

  3. secret, c недавнего времени на сайте работает форум (http://cgig.ru/forum/viewforum.php?f=7)
    прошу задай свой вопрос там, я отвечу

  4. cannot access the ms script, can you post anywhere else? RS, Deposit, Skydrive …
    Thanks

  5. rmezatang, i’ve re-uploaded script with direct link

  6. thanks for the effort, but even though I can see the file name, it won’t download

  7. Парни,регистрация на форуме только для избранных?

  8. sutekamari, я отключил регистрацию из-за спама, сейчас временно включил, попробуй.

  9. спасибо,зарегистрировался,жду активации
    можно закрывать

  10. The download links are dead again.
    Could you please re-upload, or email me?

    Also, Deus Ex Human Revolution, I’m experiencing UV scale issues. Will this fix it?
    If not, could you tell me the correct import scale of the UVs for this game?

  11. Как зарегистрироваться ?

  12. xfire116, где?

  13. Tosyk, на форуме

  14. Как зарегистрироваться на форуме ?

  15. xfire116, скажи когда по мск хочешь зарегистрироваться и я открою регистрацию на пол часа.

  16. Tosyk, в 12:30

  17. Откройте регистрацию завтра


Leave a comment

Нет обратных ссылок на эту запись.