Каталог туториалов Туториалы Перенесение моделей из DX игр на Source

Перенесение моделей из DX игр на Source

Нам потребуется:

3D Ripper DX 1.8Скачать
S.T.A.L.K.E.R. - Shadow Of Chernobyl

Autodesk 3D Studio Max 2010 (торрент)
Скачать
Source SMD Importer/Exporter
Скачать
Adobe Photoshop CS 3/4/5 (торрент)
Скачать
Adobe Photoshop .VMT Plugin
Скачать
GUI Studio MDL
Скачать


Итак, что за 3D Ripper такой? Эта прога позволяет импортить геометрию из DirectX 6/8/9 (как написано в версии 1.8) игр в формат ".3DR" (плагин для Макса устанавливается автоматически) путём сканирование видеопамяти. То есть, она как бы делает скриншот, только 3D-шный из игры, тырит геометрию, текстуры и шейдеры.

Скачали всё что нужно для тутора, установили, начнём.


Шаг 1. Rip сцены.



Будем тырить модель машины ЗАЗ 968М из S.T.A.L.K.E.R.'а.


Открываем Риппер, вылазит вот такое окошко:



Настроим кое-что:

Please select DirectX 6/8/9 application to analize - здесь выбираем наш EXE-шник запуска игры. (То есть, выбираем наш "XR_3DA.exe" в папке "bin" в директории Сталкера. Например у меня это "D:\Игры\S.T.A.L.K.E.R\bin\XR_3DA.exe")

Command line parameters - сюда пишем дополнительную команду для запуска, в данном случае нам не нужно, оставим пустым.

Options:

Capture Key - Клавиша для сохранения геометрии, текстур и шейдеров

Wireframe mode Key - Клавиша для включения Wireframe режима в игре

Disable Textures Key - Клавиша для выключения текстур в игре

Галочки, которые справа, нам не нужны.

Frames output directory - директория сохранения наших *.3DR

Textures output directory - директория сохранения текстур

Shaders output directory - директория сохранения шейдеров




Так, настроили? Вперёд! Жмём "Launch".

Запускается игра, загружаем и идём к той модели, которую будем рипать. Как я сказал, в нашем случае это Запорожец.

Стоим лицом к ней, чтоб была видна вся модель, жмём "F12".



В зависимости от конфигурации вашего компа, игра подвиснет на некоторое время, сохраняя ".3DR", текстуры и шейдеры.

Хорошо. Выходим из игры, она нам больше не понадобится.

Шаг 2. Исправление модели.



Запускаем 3DS Max, импортируем наш ".3DR"

Вылезает окошко импорта, вроде ничего настраивать не надо, только в Recommended values выберем единственное значение.



Жмём "ОК".

Опять же, в зависимости от вашей конфигурации, ждём некоторое время, когда Макс загружает наш ".3DR".

Сцена загрузится очень маленькой и может быть повёрнутой (а иногда и искаженной), но мы же не ищем лёгких путей :D

В самом центре координат и будет то место, откуда "фоткали".

Сохраняем "Запор" в другой файл. Выделяем его, File=> Save as => Save selected (Файл => Сохранить как => Сохранить выделенное)

Вот так:



Закрываем эту сцену она нам больше не нужна, открываем только что сохраненную модель.

Что самое первое, дак надо выбрать "Hierachy" => "Affect Pivot Only" => "Center to object", чтобы сместить наш Pivot (опору, эти стрелочки, за которые перемещаем) объекта на его центр, затем опять нажимаем на "Affect Pivot Only".



Дальше, выпрямляем наш Запор, разворачиваем как надо, можно, если перекошена модель, применить модификатор FFD 2x2x2 и исправлять с ним.

Отмасштабируем объект, взяв за пример какую-нибудь декомпилированную модельку тачки из игры. (MDL Decompiler'ом декомпилируем в .SMD, и импортнём с помощью SMD Import плагина в Макс прямо в эту сцену.)


Выровняли? Отмасштабировали? Хорошо. Займёмся текстурами.


Шаг 3. Текстуры и экспорт Reference модели.




Открываем Material Editor в Максе (жмём "M"). Жмём на такую пипетку, как показано на рисунке, и тыкаем ей на модель. У нас сразу высветится текстура, которой покрыт наш объект.



Смотрим, где она лежит, как называется, и открываем её в Photoshop. Сохраняем в .tga с именем "zaporozhec" (для того, чтобы читал Макс), и сохраняем в *.VTF, с помощью .VTF плагина для Photoshop, для того, чтобы читал движок, тоже с именем "zaporozhec". Важно, чтобы .tga и .vtf были одного имени. Затем вылезает табличка "VTF Options", просто выбираем "Template - Compressed Texture"



Затем пишем ".vmt" - материал текстуры: создаём .txt документ, туда пишем следующее:

"VertexLitGeneric" // Шейдер - "Вертексное освещение"
{
"$basetexture" "models\stalker\zaporozhec\zaporozhec" //базовая текстура модели

}


Сохраняем с расширением ".vmt" (Файл=>Сохранить как=> zaporozhec.vmt)




Кладём наши .vmt и .vtf в папку игры, в /materials/models/stalker/zapor/.

Переключаемся на Макс.

Займёмся моделью: применим нашу текстуру с новым именем. Для этого в Material Editor'е выберем в списке шейдеров шейдер "Standard", и выберем нашу только что сделанную .tga текстуру запора.



И с помощью нашего SMD Export плагина, экспортируем нашу модель, которую назовём "zapor.smd" в папку игры, в models/stalker/zapor. Не забудем сохранить исходник!

Экспортим вот так:




Всё. Основа модели запорожца готова.

Шаг 4. Collision Model.



Так, теперь займёмся физбоксом (collision model, модель столкновений) нашей модели.

Это упрощённая физическая модель столкновений с окружающим миром, она нужна для того, чтобы в модель не проваливались разные физ. объекты, сам игрок через неё не проходил, через неё не пролетали пули.

Делать физбокс несложно, просто создаём box'ы, повторяющие упрощённую геометрию машины. Важно, чтобы боксы быле НЕ вогнутые. Вот примерно так:



После того, как физбокс сделали, удаляем объект запорожец из сцены.

Затем, применяем этим боксам группу сглаживания 1 и наносим текстуру (можно ту, которую уже использует "zapor.smd".)

Source SMD Exporter'ом экспортим модель под именем "zapor_phymodel.smd" в папку игры models/stalker/zapor.

Так:

Всё, референс готов, физбокс готов, можно компилировать.

Шаг 5. Компиляция.

Делаем .QC скрипт: он нужен для компилятора, в нём указываются все .smd, текстуры, анимации и т.д. Компилятор собирает .mdl по этому .QC скрипту.

Создаём в папке игры, в /materials/models/stalker/zapor/ текстовый документ.

Пишем вот что:

$modelname "stalker/zapor/zapor.mdl" //название скомпилированной модели
$scale 1.0 // масштаб
$body "body" "zapor.smd" // наш smd
$cdmaterials "models\stalker\zaporozhec" // путь к текстуре
$surfaceprop "metal" // материал, из которого сделана модель
$sequence idle "zapor" fps 30 ACT_IDLE 1 // анимация, у нас только idle
$staticprop // модель статическая
$collisionmodel "zapor_phymodel.smd" // наш collision model
{
$concave // сам физбокс имеет вогнутые места (не его части)

}


Сохраняем как "zapor.qc".

.qc скрипт создан. Открываем GUI Studio MDL, выбираем этот QC, компилируем.



Если компиляция прошла успешно, готовая модель появится в папке игры, в /materials/models/stalker/zapor/.


Теперь можно её смело использовать на карте.

Модель в редакторе:

Что было:

А что стало:



Источник: http://КажьАжь ©



Комментарии

Стрелок
 06.09.2011
0  
  Товарищи, информация конечно замечательная, НО почему у меня в 3DMax вроде как импорт идет, а там ничего не появляется вообще....
Или проблема в Ripper'е????
#1 Ответ Цитата

Опрос

Для вас предпочтительнее работа с...

МИНИ-ЧАТ

Друзья сайта

HL2 & Source Games

Mapper720.Ru - сайт о маппинге Half-life 2

 

Статистика


Онлайн всего: 1
Прохожих: 1
Пользователей: 0


Сегодня нас посетили:

Приветствуем нового пользователя:
Noug4at

Новое в AgnesTeam

Теги

smd expotrer smd importer smd плагин 3ds max тутор запор запорожец модель для чайников ленивых Displacement 3ds Max Hammer source создание модели 3D Ripper 3D Ripper DX 3d ripper dx туториал 3D Ripper DX уроки 3D ripper урок 3dr риппер Combine HUD Suit Туториал refract понтовый эффект преломление текстуры Source sdk SkyBox небо скайбокс создание skybox создание скайбокса маппинг portal 2 Portal 2 панели панели веры портал 2 Portal gel source sdk урок гель гель отталкивающий гель туторы source sdk мосты плотного света тутор туторы portal 2 уроки портал 2 строим карту portal 2 hammer editor кейв джонсон туториал portal 2 панели урок source sdk вспышки от выстрелов game_ Ui кодинг облагораживание мода покачивание камеры коддинг создание кода prop_static prop_physics_override энтити prop_ prop_dynamic_ornament физика phys_pulleyconstraint phys_ballsocket Phys_ физика Source phys_motor Left4Dead2: ep2 Episode 2 маппинг машина радар