Sidebar

Компиляция моделей

Camblu Buildovich

Это я, да
Команда форуму
Супер Модератор
03.01.10
4 594
116
127
63
  • Золотая медаль 154
Вот QC-файл:
$sequence idle "limuzin.smd" loop fps 15
$collisionmodel "limuzin.smd" { $concave }
Как делал: загрузил в МАХ, экспортировал в SMD, скомпилировал studiomdl.exe - всё...

Вот MDL-модель, материалы для MDL и исходник:
Ну естественно, поэтому компилятор и не может сгенерить, ведь он не видит цельную геометрию. И как раз на $concave он впадает в ступор.
Тебе нужна нормальная физмодель. Ее придется моделить вручную. Особенно, если ты хочешь салон.
Открываешь макс, и обтягиваешь свою модель боксами, как брашами. Слева пример очень грубой колизии для статичной модели, справа - тоже грубый пример более детальной колизии, на случай, если у авто должны открываться двери, подниматься/опускаться стекла, и вообще, можно в нее будет залезть игроку. Если честно, я сам такие физмодели еще не делал, и пока мне не совсем ясно, как открывать двери через https://developer.valvesoftware.com/wiki/$collisionjoints
Там где есть боксы - там стена, там где нету - там пустота. Все как в хаммере с брашами.
131935
 
Останнє редагування:
  • Like
Reactions: wsw
Что вы там поцику мозг делаете? Если плохо понимаете смысл своих советов - не советуйте вообще ничего. Развели какой то базар на базаре.

Честно сказать, не могу понять, зачем ты делаешь свою модель составной, из 3 частей? Она же у тебя статичная, на одной центральной кости, делай тогда уж всю модель, целиком. Если ты хочешь получить реальную модель с вращающимися, независимыми(анимированными) частями, с открывающимися дверями и т.д., тебе придется делать модель на разных костях, а это уже совсем другая, для тебя, история, там твоё "детство" закончится, если ты к этому не готов - можно и не продолжать.

Пусть, пока, делает вообще без включения collisionmodel, закомментируй этот блок на время
простейший пример:
Код:
$modelname "props\blood_lenin\blood_lenin_gravstone.mdl"
$model "studio" "gravstone.smd"
$staticprop
$CDMaterials "models\props\blood_lenin\"
$surfaceprop "brick"
//------------------------------------------------------------------------------
$texturegroup skinfamilies
{
    {"gravstone"}
    {"gravstone_glow"}
}
//------------------------------------------------------------------------------
//$attachment "glow" "BoneBace" -33.00 0.00 20.00 rotate -22 0 0
//$attachment "+fire" "BoneBace" 0.0 0.00 0.00 rotate -0 -0 -0
//$attachment "-fire" "BoneBace" 0.00 0.00 0.00 rotate -0 -180 0   // 1 - вертикаль 2 - горизонталь
//------------------------------------------------------------------------------
$sequence "idle" {
    "gravstone_anims\gravstone_idle.smd"
    fadein 0.2
    fadeout 0.2
    fps 10
}
//-------------------------ЭТО БЛОК ФИЗ-БОКСОВ ------------------------
$collisionmodel "gravstone_phis.smd"
{
    $concave  (если есть выпуклые модели столкновений(физбоксы)(это обязательно!))
    $maxconvexpieces 40   (мах количество элементов (или кубов) физбоксов) не более 132
}
//------------------------------------------------------------------------------

если без него ошибка останется - физбокс точно ни причем, значит проблема в референсе. Разберётся с референсом - дальше уже проще будет.
Физбоксами не нужно обтягивать, если нужно - расскажу как сделать проще и точнее физбокс для модели любой сложности( не более 132 боксов).
Это для статической модели, для динамической модели (collisionjoints) там немного сложнее, но главное понять принцип работы и все будет OK, так же сложностей не будет.

После компиляции, в игре, нужно посмотреть, что у тебя там получилось с моделью, командами:
vcollide_wireframe 1 в игре увидеть физбокс
r_drawentities 0 (1 2 3)в игре отображение (2 скелет, 3 хитбоксы)
sv_cheats 1 не забыть, естественно.

Насчет изменения размеров - у тебя же исходники модели есть - значит в максе соединяешь все что есть в группу, группу scale меняешь на сколько тебе нужно, перед конвертацией разгруппируешь, можно, конечно, сделать $scale в .qc файле, но не советую - проблем потом может быть куча, лучше сразу все по уму делать.
Нажать цИферку 7 в максе - посмотреть кол-во поликов, если больше 10000(для простейшей модели) - нет смысла продолжать вообще.

Не пойму, простейшие вещи становятся проблемой, причем проблемой настолько извращенной, что просто диву даёшься, но похвально то, что поцики стараются что-то сделать с таким уровнем знаний.
 
Останнє редагування:

Camblu Buildovich

Это я, да
Команда форуму
Супер Модератор
03.01.10
4 594
116
127
63
  • Золотая медаль 154
сли без него ошибка останется - физбокс точно ни причем, значит проблема в референсе. Разберётся с референсом - дальше уже проще будет.
Конечно же я сконь-пелял кроубаром его модельку, и с рефом вместо физ модели, и с закоменченным рефом.
Если подставлять реф - даже при условии, что в касыго лимиты на
$maxconvexpieces расширили до 90 - конь-пелятор из рефа пытается сделать 451 кусок.
Код:
WARNING: COSTLY COLLISION MODEL!!!! (451 parts - 40 allowed)
      WARNING: Error with convex elements of limuzin.smd, building single convex!!!!
      Model has 439 convex sub-parts
Физбоксами не нужно обтягивать, если нужно - расскажу как сделать проще и точнее физбокс для модели любой сложности( не более 132 боксов).
Пиши, интересно будет почитать.
*только не decimate, только не decimate*
 
Зачем использовать референс вместо физмодели? Бред, но здесь разговор не об этом, сейчас нужно компилировать вообще без модели столкновений(физбокса), забыть про него, пока, вообще.
Post automatically merged:

$maxconvexpieces 90 !? В csgo!?
Не поверю, в hl2, так же и css уже было 132, ты что то путаешь, явно.
Post automatically merged:

Насчёт создания физбокса, в максе, завтра напишу, будет что то типа урока. Там сложного ничего нет.
 
Останнє редагування:

Camblu Buildovich

Это я, да
Команда форуму
Супер Модератор
03.01.10
4 594
116
127
63
  • Золотая медаль 154
На валв вики написано, что для касыго 90 кусков максимум. Пробовал ставить у себя для сурс 13 90 - конь-пеляторы параметр схавали, но ругань на max allowed 40 никуда не делась. Можно, конечно протестить на чем-нибудь с тяжелой физмоделью, но мне пока лень.
 
Значит так, краткий урок о создании точной модели столкновений, или понятнее - физбоксов. Для примера у меня есть моя модель кабины лифта:
phis.jpg
1. Для начала нужно сделать деаттач нужных полигонов основной модели(деаттачить каждый элемент отдельно!).
phis_01.jpg
2. Назначаю материал и группу сглаживания(будут одни для всех деаттаченных элементов физбокса), материал можно без текстуры, всё-равно физбокс в игре будет прозрачным. В принципе, назначение материала и группы сглаживания можно сделать в самом конце, когда все деаттаченные элементы будут собраны в один.
phis_02.jpg phis_03.jpg
3. Если элементом является плоскость(план, и т.д.), накидываем на эту плоскую фигуру модификатор shell, дуем его в нужную сторону(не менее 0,5) и получаем рабочий элемент физбокса.
4. Дальше все деаттаченные элементы соединить в один(attach). Проверить на всякий случай группу сглаживания и назначенный материал.
На этом всё! Сложного ничего нет, точность физбоксов идеальная, у кого есть опыт работы с 3dsmax'ом меня поймут, если такого опыта нет - сорри, я не буду разжевывать каждому что да как.

Что касается сложных моделей столкновений, на нескольких костях, особенно анимированных, это обширная тема, я даже не буду её рассусоливать, я не педагог, у меня нет столько времени, но основной принцип тот же, если, конечно, это не персонажи или npc, здесь да, придётся обтягивать каждую кость боксами или капсулами и каждую из этих капсул(боксов) skin'нить к нужной кости по отдельности, либо другими вариантами делать скин. Можно не искать такие уроки в инете, навряд-ли они там есть(хотя чем чёрт не шутит), это чисто моя технология, отработанная мною и 100% рабочая.
Post automatically merged:

На валв вики написано, что для касыго 90 кусков максимум. Пробовал ставить у себя для сурс 13 90 - конь-пеляторы параметр схавали, но ругань на max allowed 40 никуда не делась. Можно, конечно протестить на чем-нибудь с тяжелой физмоделью, но мне пока лень.
Если ты так же пытаешься делать референс физбоксом(что есть полный бред) - конечно будет ругаться.
Референс - это файл .smd конвертированный из мах(или др. 3d редакторов), это то что мы видим в игре.
Физбокс - это файл .smd(ни в коем случае не референс! это не унриал и юнити и т.д.) конвертированный из отдельной, упрощенной 3d модели референса.
Физбокс делается отдельной, .smd упрощенной моделью, никак иначе(если это, конечно, не ровные прямоугольники :) ).
И в фйле .qc $maxconvexpieces поставь сколько мах. нужно элементов сделать, это же ограничение.
Кстати, я не читаю вальву, как то нет времени да и желания, всё что я пишу - это моё, лично моё наработанное.

Вот, так же, моя моделька перекрёстка коридоров, где есть радиусы и т.д. с применением моей методики создания физбоксов
phis_05.jpg phis_04.jpg
 
Останнє редагування:
  • Like
Reactions: wsw

Camblu Buildovich

Это я, да
Команда форуму
Супер Модератор
03.01.10
4 594
116
127
63
  • Золотая медаль 154
краткий урок о создании точной модели столкновений, или понятнее - физбоксов
Практически ничем не отличается от обтягивания боксами, и годится только для сравнительно простых моделей.
Если ты так же пытаешься делать референс физбоксом(что есть полный бред) - конечно будет ругаться.
Ты вообще читаешь, что я пишу? Это пытался сделать другой юзер. Я лишь подтвердил свои догадки, и написал этому юзеру, как проще всего ему сделать физбоксы, ведь даже вольво настолько не заморачиваются с ними, и у них все работает (кроме гнома в джиппе в эп2). Авто не нужны настолько точные физбоксы.
 
Практически ничем не отличается от обтягивания боксами, и годится только для сравнительно простых моделей.

Ты вообще читаешь, что я пишу? Это пытался сделать другой юзер. Я лишь подтвердил свои догадки, и написал этому юзеру, как проще всего ему сделать физбоксы, ведь даже вольво настолько не заморачиваются с ними, и у них все работает (кроме гнома в джиппе в эп2). Авто не нужны настолько точные физбоксы.
Мне все равно кто там что пытался сделать. Я пишу урок. Это мой урок, личный.
По хорошему нужно бы спасибо сказать. Если у тебя мало опыта работы с 3d редакторами, не нужно грубить, нужно внимательно читать, и пытаться понять о чем урок. Свои женские амбиции хорошо бы оставить при себе, иначе мы так никуда не уйдем. Если у тебя есть свои уроки в этом плане - я с удовольствием их посмотрю, там и поспорим с тобой.
Мой урок - это мой, личный, урок. Никто мне не скажет что я его где-то там, на ютубе или еще где-то подсмотрел. Я автор.

Этот способ применим для очень сложных и очень точных физбоксов. Создаются просто и быстро, при этом не важно какой формы основная референс-модель.

Ты же можешь продолжать обтягивать и дальше, тратить на это огромное количество времени, при этом твои физбоксы, просто по определению, не будут точными никогда, при всем этом ты, ничего не понимая о принципах работы движка, пытаешься спорить - удивительно.
Я же тебе не запрещаю - дерзай, только не груби.
Post automatically merged:

Практически ничем не отличается от обтягивания боксами, и годится только для сравнительно простых моделей.
Простой пример - вот этот момент объясни, почему? Как ты "обтягиваешь боксами", может быть ты каким-то своим языком объясняешь, а я его не понимаю? А вдруг я твой метод не знаю?! Новый и супер действенный, так-то языком брякать любой может, давай посмотрим как ты делаешь. Может быть ты используешь WallWorm(если я не путаю), а может быть еще что-то, пусть это не твоё но хоть что то.
Сомневаюсь что ты что-то новенькое сообщить сможешь(хотя кто его знает, в этом и интрига), спорить я с тобой больше не буду, не вижу смысла.
Возьми урок на заметку для себя, спасибо потом скажешь.
Post automatically merged:

Вальвой не нужно козырять, мне они не указ.
Да движек ихний, да API ихние, только инфо. они всю спрятали, что люди сами нарыли, раскопали тем и пользуемся.
Движек source - терра инкогнито, просто простор для извращенных фантазий, особенно в плане программирования :) .
 
Останнє редагування:
Использование моего метода создания физбоксов, на примере моей сложной, статич. модели, как раз доделывал свой умывальник(фонтан).:).
Хоть модель и статичная, но достаточно сложная, время создания референс модели с UVW разверткой 5 часов, время создания физбоксов 3 часа.

phis_06.jpg
Очень интересно было бы посмотреть за процессом "обтягивания боксами" такой модели.
 

wsw

Well-known member
27.10.05
1 447
58
136
63
  • Серебряная медаль 224
Всем привет!
Как можно сделать так, чтобы не было видно этот перегиб?

Это в МАХе:
z2.png

Это в Хаммере:
z1.png

А это после компиляции карты:
z3.png
 
Всем привет!
Как можно сделать так, чтобы не было видно этот перегиб?
Я всегда делаю по самому простому варианту, выделение нужных полигонов, деаттач как объект и все ОК, работаешь с деаттаченым, больные полики удаляешь.
Можно сделать ресет, но как то я такому варианту не совсем доверяю.
Post automatically merged:

Не могу разобраться, как с тел. изменить свои сообщения.
Но надеюсь понятно что делать с такой болячкой, это перегиб треугольников, где то ты какой то из вертексов неправильно поставил, а потом не смог правильно сделать сглаживание.
 
Останнє редагування:
  • Like
Reactions: wsw

wsw

Well-known member
27.10.05
1 447
58
136
63
  • Серебряная медаль 224
Спасибо, tonline_kms6, у меня получилось! :)

Выделил полигоны и нажал в меню на ... и всё получилось... :)
z4.png
z5.png
 

wsw

Well-known member
27.10.05
1 447
58
136
63
  • Серебряная медаль 224
Всем привет!
Как в 3DS MAX (даже не знаю как это назвать...) опустить пониже эти белые уголки, чтобы башня была поменьше?
1693578918296.png
 

Camblu Buildovich

Это я, да
Команда форуму
Супер Модератор
03.01.10
4 594
116
127
63
  • Золотая медаль 154
Это bounding boxes. По-сути - это границы меша по всем осям.
Мне кажется, что оно такое большое, потому что на задней части башни должна быть антенна, но ее нет почему-то.
@tonline_kms6
Мнение сорс эксперта?
@wsw можно сам меш?
 
  • Like
Reactions: wsw
А я разве эксперт.
Судя по всему, после удаления, остались неудаленые вертексы, визуально их не видно, но по ним компилятором строится ограничительная рамка(боундингбокс), компилятор эти вертексы видит.
Нужно в максе удалить их, мозги себе не ломай.
В Viewer'е нажми галку нормалей(Ctrl+N), вполне возможно покажет где и что увеличивает тебе рамку.

В принципе, если подумать, а чем она тебе мешает? Это при кодировании AI, при трассировке препятствий, AI может считать эту рамку как будто у твоего танка большая башня и эта башня не пролезет по высоте, хотя опять же, ты будешь линковать(приаттачивать) башню к телу а при таком раскладе дочерние элементы(как раз это башня) отключают свои ограничения(физбоксы, хитбоксы(точно не помню, как-то с хитбоксами эксперементировал, но не помню уже результат), и т. д.).
В общем вопрос сомнительный, в плане того, что бы с ним мучаться, как говорится - забей, ну или как 100% вариант - 3dsmax.
 
Останнє редагування:
  • Like
Reactions: wsw

wsw

Well-known member
27.10.05
1 447
58
136
63
  • Серебряная медаль 224
на задней части башни должна быть антенна
Да, была и я её удалил, чтобы башня была пониже...

В Viewer'е нажми галку нормалей(Ctrl+N)
Ctrl+N - создание нового файла... :)

Но идею я понял! Выделил все вертексы и увидел, что не полностью удалил антенну... :)

Всем спасибо, получилось!!! :drink:
1693634171421.png

Зачем мне это было надо: танк и башня у меня "prop_dynamic" - когда в них попадает выстрел из гранатомёта, он типа взрывается, а этот "объём" (bounding boxes) над башней мешал попаданиям, если снаряд проходил выше башни - танк тоже "взрывался"...
 
Останнє редагування:

wsw

Well-known member
27.10.05
1 447
58
136
63
  • Серебряная медаль 224
Не вышел каменный цветок... После компиляции в SMD - bounding boxes остались почти такими же...
Сделал по другому: у танка поставил collision - not solid, вокруг него сделал браш - func_brekable, теперь всё работает как хотел :)
 

wsw

Well-known member
27.10.05
1 447
58
136
63
  • Серебряная медаль 224
Может кто-нибудь переделать модель гранатомёта? Заменить тот, что есть на РПГ-7.
wsw_zagotovka0000.jpg

Все исходники есть...

Я пробовал, но, что-то идёт не так... :(
В Crowbar декомпилировал исходную модель (MDL), получилось 9 файлов SMD, 7 файлов анимации в отдельном каталоге и два с самим гранатомётом, которые я и пытался переделать.
Все SMD импортировались в MAX нормально (у меня версия 2012). Вставлял РПГ-7 вместо прежнего, сохранял в SMD и Crowbar-ом компилировал, но: то гранатомёт развёрнут не в ту
сторону, то вообще всё в разные стороны разъехалось и руки куда-то делись...
Помогите люди добрые с моделькой :)
Post automatically merged:

Вставлял РПГ-7 вместо прежнего
1693653124331.png
 

Вкладення

  • 18.7 MБ Перегляди: 2
Останнє редагування:
Пока не поймешь принципа работы - смысла в этой, твоей, суете не будет. Так и будешь тыкаться носом как кутёнок.
Хотя по другому у тебя(да и у любого) никак не получится, здесь не может быть уроков и подсказок типа - "нажми эту кнопочку".
Тебе нужно понять строение скелета, костей в отдельности, причём это я говорю пока про одиночную игру, а если это мультиплеер.... тебе нужен будет еще и вид от 3 лица(со стороны), и это нужно все как то совместить воедино, + сервер и клиента нужно будет друг с другом связать.
Я думаю ты рано полез с вопросами такого плана. Нет ответа без понимания принципа, никто за тебя делать ничего не будет.
Без обид.

А вообще, конкретно, по твоему вопросу - просто найди модель рук с гранатомётом, посадишь на вальвовский скелет, это и будет наиболее подходящий, для твоего случая, пример(конечно не ахти какой, зато простой но верный), там все точки аттачей, развесовка, анимация и т.д. уже есть, тебе нужно будет просто обтянуть вальвовские кости мясом, вот и всё.
 
Останнє редагування:

Game Server

Доноры Красавчики

Користувачі онлайн

Немає користувачів онлайн.