×
Menu

DXripper

Копипаста заметки тов. Ёжа в свое время лежавшая (2008-9)на одном сайте, но за давностью лет, затеренная.
Подшиваем ее к делу, для общего развития.
Возможно, выдергивание моделей кому-то покажется интересным занятием...
 
(примечание - для МВ фактически уже не актуально, т.к. МВСЕ 2.Х версий делает все это куда быстрее и проще. Сиречь портирует сцены Морровинда в Ниф файлы. При этом не портя текстуры и сохраняя модели в целости! Но в 2009 году до этого было еще очень далеко! прим. от 2020)

И так, Сабж!
 
 Относительно полезная софтинка, для модмейкеров и создателей мувиков на их основе, с шаривар лецензией. Работающая прямо из "коробки", не требующая особливо сложных телодвижений и тонн вспомогательного софта. С простым и удобным интерфейсом. Легка в освоении и удобна в использовании.
 
3D Ripper DX
http://www.deep-shadows.com/hax/3DRipperDX.htm
Цитата
С помощью, коего, вы можете:
 - взять всю геометрию, текстуры и шейдеры
 - импортировать их в 3D Studio Max или Maya
 - увидеть, что именно было составлено в прорисовочном вызове
 - увидеть рендеры, текстуры, потоки вершин, показатели потоков, вершинные и пиксельные шейдеры (включая HLSL код) для каждого индивидуального вызова прорисовки.
3D Ripper DX поддерживает только DirectX 9.0 приложения. OpenGL, старые версии DirectX и рендеры приложений не поддерживаются. (увы)
 Тех требования:
 Платформа: PC
 Разработчик: Roman Lut
 Совместимость с Vista: полная
 Системные требования: 1GB RAM
 DirectX 9
 64 MB видеопамяти
 100 MB HDD
 Поддерживаемые разрядности процессоров:x32/x64
 Язык интерфейса: только английский
 *Плагин для импорта должен работать с версиями 3D Max'a 5.0-9.0(1.7 работает с 2010) - проверено практикой.
 
Проще говоря, во время игры при активации хоткея, заданного в посаженой в трей программе, вы сможете выхватить из игры кусок, либо всю сцену целиком. Обработать оную в Максе и запихать в Морр, либо сделать занимательный ролик, настроив в полученной сцене материалы, свет и прочее. Т.е. сделать фильм по Морровинду стало на шаг ближе!;)
 
 
 А вот краткий вводный курс, с некоторыми рекомендациями.

Стартовое окно программы:
 - указываем, то что хотим запускать. Так вернее и стабильнее. В режиме глобального мониторинга не все перехватывает.
 - за аргументами командной строки, на сайт программы.
 - захват всех шейдеров, для простых сцен, где нужна только геометрия и текстуры, лучше не ставить. Толку все одно нет.
 - захват текстур, всенепременно ставить. *текстуры захваченные софтинкой могут отличать от оригинальных. Т.е. могут быть порезаны на несколько файлов. И да, все текстуры сливаются в одну папку! Т.е. при захвате сцен из разных игр, все текстурные потроха будут в перемешку. Названия, буквенно цифровые ИДЕ - 50cf76d4.ддс - т.е. ориентироваться можно лишь визуально. Поэтому, не забывайте перемещать захваченный материал в отдельную, постоянную, папку, перед импортом оного в МАХ. Иначе, потом геморрою не оберетесь.
 - оконный режим. Пока было больше глюков, чем пользы.
 - отключение 3.0 шейдеров. Для старых видео карт, хотя может быть полезно для старых игр.
 - захват сразу в Обж формат. Опционально. В этом случае проги работающие с obj, как со своим родным форматом, получат "бонус". Для макса, лучше не ставить. Особенно если работаете в 5-ом.
 - директории для текстур, сцен и шейдеров. Лучше задавать для каждой игры и сеанса уникальные, будет проще работать и находить. Кирилицу, тоже лучше не указывать в пути к файлам! Сами файлы захвата обзываются frame_21.07.2011_02.10.12.3dr по дате и времени оного.
 
 - хоткеи. Важно, чтобы они не дублировались в игре! Иначе, может просто не сработать. Поэтому, перед запускам игры, убедитесь в их уникальности.
Можно жать Ланч и топать до интересной локации.
 *в игре, или в окне рендера редактора у вас должно появится, в верхнем углу, примерно следующее сообщение.
Скрытый текст 
Если оного нет, захват не случится. Возвращайтесь к меню запуска программы и попробуйте Глобальный Мониторинг, либо запуск по урле, если было первое.
Теперь, что важно иметь в виду:
 1. прога захватывает лишь видимую вами часть сцены. т.е. что за вашей спиной, может оказаться в дырах, либо вовсе не оказаться. Лучше всего, встать в самом дальнем углу карты, желательно в середине оси Z оной, иначе см. пкт. 2.
 2. желательно максимально прямо поставить камеру. Иначе в МАХе сцена будет под углом, см. скрины сверху. И да, точка 0.0.0. сцены это ваша камера, все вращение объектов пойдет от нее. А это довольно неудобно, плюс, чревато искажениями пропорций объектов. *хотя в данном случае, это скорее известный баг движка морр-обл-фолл с искажениями перспектив.
 3. если у игры есть редактор, то лучше сделать захват в его окне рендера. *тут может понадобиться глобальный мониторинг. Если при первом запуске редактора захват не запустился, попробуйте перезапустить редактор, или софтинку. Т.е. сначала софтинку, если не помогло, тогда редактор при запущенной софтине.
 4. захват в редакторе (на примере оного от МВ) происходит по щелчку, движению мыши в окне рендера. Поскольку там сцена, как бы статична, то нужно в ручную ее "обновить". Т.е. создать следующий фрейм. Если нажать кнопку захвата и ничего не делать со сценой, у вас так и будет висеть сообщение о "начале процессе" оного. Имейте сие в виду!
 5. Обязательно установите камеру на ТОПвид и разместите все объекты в приделах окна рендера! *это избавит от перекоса объектов и искажения пропорций сцены. И да, точка 0.0.0 позиция камеры над сценой.
 
 Что же, получив свой первый фрейм;) Отправляемся в 3дМАХ, в который вы должны были установить плагин для работы с .3dr файлами. *он идет в комплекте поставки программы.
 
 Старт, макс, файл-импорт, указываем свой фрейм и:

 (FOV, Aspect Ratio) - аспект рацио монитора размеры оного т.е. Можно поэкспериментировать.
 1 объект одна структура - весьма важный параметр! Т.е. котлеты отдельно, мухи отдельно. Куски тел НПС отдельно от полов и светильников.
 * скелетная привязка не захватывается(((
 * системы частиц не захватываются((((
 * прочие технические элементы и массы физики объектов, тоже нет.
 * захватываются все позиции объектов в момент захвата. т.е. можно захватить "памятник" клайфрейсер вс неревар, либо, чарольский страж поражающий дремору. Это в случае захвата сцены ингейм.
 * объекты делятся на части, видимо подхватываются ноды мешей. Впрочем в анриле, было тоже самое.
 Если поставить галку на:
 - мердж ин сингл меш - у вас может полететь все текстурирование сцены. Впрочем это тоже бывает полезно, если планируется заливать ее своими текстурами. Развертка сохраняется. Также, "синглмеширование" существенно ускоряет просчет сцены и уменьшает потребление оперативной памяти. *Сие зависит от настроек импорта сцены, см. далее.
 Да-да! памяти понадобится реально много. Сцена комнаты Неревара с энным кол-вом реплейсеров в около 500 объектов заняла под 2.5 гб рамы, а рендер откушал около 5 гб (гыгыгы) и занял весьма много времени.
 Впрочем, сцены попроще, даже с фулл-дефолт Морром откушивают весьма прилично Рамы.
 
 
Возможно, вам стоит попробывать следующий вариант их оптимизации (если вы загрузили сцену с текстурами в режиме раздельных нод):
 1. запускаем диспетчер задач и смотрим что творится с памятью.
 2. загружаем в Мах сцену, сразу сохраняем и закрываем. *еще можно отключить кол-во откатов действий до нуля.
 3. снова Мах - открываем сохраненную сцену, селект Алл - конверт то ЭдитэблМеш. Затем, начинаем удалять все лишнее *увы, визуально, название деталей снова сплошь цифровые ИДЕ.
 4. Если память еще свободна и макс не лезет в своп файл, начинаем аттачить статики и пр в один меш. С удовлетворением отмечая, как растет объем загруженной Рамы;)
 5. при достижении критичного значения, сохраняем и перезапускаем макс.
 6. повторить, до готовности. Можно заВелдить веретексы, это еще больше ускорит рендер сцены и уменьшит кол-во юзаемой рамы, но может создать проблемы при Смурфинге.
 7. обработанная таким образом сцена весит во многие разы меньше, чем изначальная. Теперь с ней можно нормально работать. Выровнять по сцене и все такое. Не забудьте сделать РесетХформ, после выравнивания.
 8. не пытайтесь аттачить АЛЛ если у вас меньше 8 гб Рамы и столько же в свопе, это реально отжирает, память, былинно и неилюзорно!!! Только по кусочкам и заглядывая в диспетчер задач.
 9. добавления Смурфинга, может основательно озадачить Макс, на длительное время! Верно для всех режимов, как синглмеш, так и мультинод. Используйте сие осторожно! Особенно для больших сцен.
 Сами разработчики пишут куда мягче:
1000 objects (typical draw call count) take a lot of memory, don't even try it with less than 1GB RAM !(C)
Простейшая сцена с Даэдрическим Святилищем (без реплейсеров) в режиме синглмеша - заняла 350 мб.
Едем дальше.
 - Асинг текстур стейдж и координат стейдж - игра с этими параметрами может привести к выше означенной потере текстурирования при синглмешировании. Лучше все оставлять по нулям. 0 и 0. Тогда в синглмеше, все текстуры будут на своих местах.
Впрочем, это возможно верно для МВ, в иных играх эти значения могут возыметь отличный результат. Нужно эксперементировать.
 - Ремув даблфейс - удаление лишних косяков и наложений при захвате рендера, стоит по умолчанию.
 Все ниже следующие настройки относятся к оптимизациям сцены, удаляют Скубоксы, элементы интерфейса и прочие элементы ХУДа.
 - Энабл текстур Вию - понятно, включает/выключает текстуры в сцене, для вящего быстродействию.
 Теперь жмем ОК и радуемся открывшимся возможностям и перспективам;)
 
 Вот самые простые "открывшееся" возможности с минимальным геморроем.
 
Примечание.
Помимо этого, ДХ рипер можно использовать для "захвата", например, брони из разных игр.
Т.е. захватив сцену с ГГ в доспехах, эти самые доспехи можно за рескинить и после некоторых шаманств засунуть в Морровинд.

Сцена 2011 год, АльдРеданья, материалы - дефолтные текстуры с бампом (на который пошла дефолтная же текстура стены), добавлен свет, камеры, уровень глоса и пр. поднят.
 

 - на 5-ом максе может просаживать, даже прилизанная сцена, на ровном месте.
812385 полигонов (скромная комната Неревара с парой реплейсеров , а в МВ летат  ) .
 - в старших Максах, сцена реагирует быстрее, но потребляет больше Рамы.
 - фризинг меша, существенно ускоряет рендер, особенно критично при настройке камеры и света.
 - может появляется сообщение "мисинг 00000000000.ддс" файл текстуры. Похоже баг. Можно создать файл с таким названием.
 - в Морре умеет захватывать, как Интерьер, так и частями Экстерьер со всеми позициями НПС и пр. *чем можно попользоваться.
 - воду, частично, в виде статика. Анимации текстур, не подхватывает.
 - если захватывать сцену в МВ, кажется, подхватывается затенение объектов от источников света, в т.ч. подвижных, как магия. Через КС подобного добавления шейдинга не происходит.
 - подхватывает полупрозрачные меши с альфаканалом. Добавляя в материал карту "опасити".

 Чем можно попользоваться:
 ...это можно заюзать в плагинах.
 Например.
 Вы зашли в какую-то (таверну) народ ходит говорит и все такое. Внезапно.
 Альфа 100 (т.е. темнота на экране) через пару секунд вы снова видите, но! Все окаменело)))) Айтимы, двери, нпсы. Если грамотно это заюзать, может получиться очень интересно)))

Утянуто с Тиарума, для пущей сохранности.

рендер комнаты Неревара.
Сцена 2011 год, Закапчурена из игры в которой все было любезно расставлено, в поместье Ретанов, за Балморой. Материалы не корректированы, добавлен источник света, камера, немного поиграл с туманом и источниками света, тенями - реплейсеры установлены в Морре. Все удовольствие за полчаса.