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-координаты исправлены. Текстуры прилагаются.
74 thoughts on “3d Ripper UV Repair”