Если кому-то интересно как у меня получилось:...
Всё оказалось проще чем я думал... (хотя, когда не знаешь как, то очень сложно ) Надеюсь помог таким как Я...
1. Импортировал в МАХ модель в формате OBJ;
2. Разделил модель на три части: удалил сначала 2 части модели оставив одну и экспортировал в формат SMD (потом назад (Ctrl+Z) и удалил другие две части и так три раза);
(сохранил с именами: pac3_1, pac3_2, pac3_3)
Сохранять (экспортировать) - без этой галочки:
3. Создал QC-файл, можно в любом текстовом редакторе:
$modelname "wsw/igi/pac3/pac3_1.mdl" //путь в папке Steam где лежат модели... например: C:\SteamApps\common\Counter-Strike Global Offensive\csgo\models... $staticprop //модель будет статическая $scale "30" //размер модели, спасибо Camblu $body mybody "pac3_1.smd" //имя SMD-файла с моделью которую экспортировали из МАХа $surfaceprop "metal" //физическое свойство модели - металл $cdmaterials "models/wsw/igi/pac3" //путь к папке с материалами... например: C:\SteamApps\common\Counter-Strike Global Offensive\csgo\materials\models... $sequence idle "pac3_1.smd" loop fps 15 //тут не шарю скопировал из хелпа в инете $collisionmodel "pac3_1.smd" { $concave } //тут тоже не шарю, но: Параметр, отвечающий за колизию (модель столкновений) модели.
//Т.е. это модель, по которой мы бьём монтировкой, в которую попадают пули и прочее, на её основе на основную модель
// уже наносятся в нужных местах декали повреждений.
Имя файла модели (pac3_1.smd) и QC-файла должны быть одинаковыми (pac3_1.qc)
4. Модель SMD и QC положил в папку с моделями:
например: C:\SteamApps\common\Counter-Strike Global Offensive\csgo\models...
(В моём случае я сделал подкаталоги: "wsw/igi/pac3")
5. Поскольку я скачал модель в инете, к модели были текстуры в формате TGA, я их сохранил в формат VTF и сделал VMT-файл:
pac3_1.vmt: "VertexlitGeneric"
{
"$basetexture" "models/wsw/igi/pac3/pac3_tractor_d"
"$bumpmap" "models/wsw/igi/pac3/pac3_tractor_n"
"$surfaceprop" "metal"
}
VMT и VTF файлы в папку с материалами моделей: C:\SteamApps\common\Counter-Strike Global Offensive\csgo\materials\models...
(в моём случае я сделал подкаталоги: wsw/igi/pac3)
5. Открываем в (например в блокноте) файл SMD и начинаем его править
version 1
nodes
0 "window" -1 //тут вместо "window" пишем имя своей модели, у меня: "pac3_1"
end
skeleton
time 0
0 3.649662 0.000000 0.000000 0.000000 -0.000000 0.000000
end
triangles pac_3_tractor_d.tga //тут текстура модели, все такие строки заменяем на свою текстуру (VMT-файл), у меня: pac3_1 (имена совпали , у Вас имя может быть другим)
0 8.7749 1.6336 3.2339 -0.8802 -0.4745 -0.0000 0.8779 0.7900
0 8.6604 1.8460 3.2339 -0.8802 -0.4745 -0.0000 0.9385 0.7900
0 8.7749 1.6336 2.7960 -0.8802 -0.4745 -0.0000 0.8779 0.9140 pac_3_tractor_d.tga //тут текстура модели, все такие строки заменяем на свою текстуру (VMT-файл), у меня: pac3_1 (имена совпали , у Вас имя может быть другим)
0 8.7749 1.6336 2.7960 -0.8802 -0.4745 -0.0000 0.8779 0.9140
0 8.6604 1.8460 3.2339 -0.8802 -0.4745 -0.0000 0.9385 0.7900
0 8.6604 1.8460 2.7960 -0.8802 -0.4745 -0.0000 0.9385 0.9140
...
и так далее до конца файла...
Сохраняем изменения...
6. Идём в папку где лежит studiomdl.exe (например: C:\SteamApps\common\Counter-Strike Global Offensive\csgo\bin...)
в папке создаём CMD-файл (имя как Вам нравится, например: _model_compil_pac3_1.cmd)
и пишем в него: полный путь к файлу studiomdl.exe, параметр -nop4 (это чтобы не ругался компилятор на отсутствие p4.dll) и полный путь к QC-файлу:
"E:\Valve\SteamApps\common\Counter-Strike Global Offensive\bin\studiomdl.exe" -nop4 "E:\Valve\SteamApps\common\Counter-Strike Global Offensive\csgo\models\WSW\IGI\pac3\pac3_1.qc"
@pause
pause - чтобы посмотреть результаты компиляции...
7. Если всё правильно сделали - двойной клик по CMD-файлу и пошёл процесс компиляции, что он там пишет я не знаю, но если всё правильно в папке с моделями появятся дополнительные файлы: MDL, PHY, VVD, DX90.VTX
8. Открываем Hammer и проверяем свою модель...
9. Всё...
P.S. С размером модели вопрос не снимаю...
Post automatically merged:
... и никаких "Блендеров"... мата, а только пиво, пиво и пиво...
Камблю залипал, читая первые страницы темы по млп.
Поэтому, Камблю слоупони.
1)Скорее всего он не мог найти путь к /game_root/bin см аттач
2)Почему крышу попердолило - куча разных причин может быть. Например, несвелженные вертексы компиллер иногда пердолит конкретно. Максовский импортер вроде сразу все велдит.
3)$scale - ответ на твой последний вопрос.
4)Скейлить в самом редакторе категорически не советую, у меня так брат умер, компиляторы, по крайней мере для source 2013 очень любят сшивать маленькие полигоны. См аттач 4, тут должно было быть объемное крыло.
5)
$collisionmodel "pac3_1.smd" { $concave } //тут тоже не шарю, но: Параметр, отвечающий за колизию (модель столкновений) модели.
Судя по всему ты выдал коллизии не упрощенный меш, что чревато проблемами.
Обычно его строят из простых, выпуклых (convex) примитивов вокруг меша.
А потом в том же fallout 3 у нас оружие не разложить на стеллажи, и еда из мисок выпрыгивает.
$concave как раз и говорит конпелятору моделей, мол братан, я с углублениями (выпуклостями), учти это.
См аттач 2. Слева обычная convex, справа - concave.
Camblu, подскажи, к модели было три текстуры, они отличались только последней буквой, я в VMT-файле сделал так:
"VertexlitGeneric"
{
"$basetexture" "models/wsw/igi/pac3/pac3_tractor_d" //исходный файл: pac_3_tractor_d.tga
"$bumpmap" "models/wsw/igi/pac3/pac3_tractor_n" //исходный файл: pac_3_tractor_n.tga
"$surfaceprop" "metal"
}
Я так понимаю, что это из какой-то игры вытянули.
Что значит "_s" в "pac_3_tractor_s" я не знаю, есть 2 предположения.Второй скин, или карта теней, вроде Ambient Occlusion. Или это попытка сделать roughness.
Что в GO наворотили - не знаю, source 13 о таком точно не знает, поэтому для него проще всего в photoshop совместить 2 текстуры.
_d под низ, _s на второй слой, и дрочить режимы смешивания вместе с прозрачностью слоя.
Я так pbr-ные карты совмещал для non-pbr сталкира.
Возможно при живом бампе третью карту вообще нет смысла использовать. С виду там просто запеченное затенение, если вдруг попикселки на видюхе не будет.
Всем привет!
Как создать "hull for mesh"?
Одни модели его имеют, а другие нет...
По этому лимузину: удалил из него все внутренности (тормоза, сиденья, руль, ремни безопасности и т.п.), экспортировал в SMD, скомпилировал с помощью studiomdl в MDL
и хаммер нормально его схавал.
А вот если сразу из 3DS MAX экспортировать (без удаления части модели) в SMD, то получается так как на картинке...
Почему так? Вроде бы не добавил в модель что-то, а наоборот удалил...
Странно, но гугл вообще ничего не выдает по этой ошибке (кроме пары людей с такими же вопросами без ответов).
Судя по логу - да, это компилятор создает этот хулл. Только я вот не знаю, что это такое есть.