Sidebar

Чудеса! Не цепляется физбокс на кость с анимацией($collisionjoints).

Все здравствуйте!
Ну вот и настало время для вопроса профикам по сурсу, конкретно по 3d моделированию, анимации и соответственно .qc файлу.

Для упрощения вопроса я создал в максе, с нуля, простой Box, использую его в качестве референса и сделал его клон - клон(копия) использую как физбокс(это что бы долго не возиться).
Есть простейшая система костей, основная(родительская) и анимированная(dummy), Dummy прилинкованна к родительской, вроде всё как обычно, все проще некуда
door_phisbox_max.jpg
Делаю экспорт в .smd референс и физбокс по отдельности.
Code:
$modelname "props_fallout/reference.mdl"
$bodygroup "door_glass"
{
    studio "reference.smd"
}
$cdmaterials "models\props_fallout\glass\"
$contents "solid"
//-------------------------------------------------------
$bbox 0.0 0.0 0.0 0.0 0.0 0.0   //Movement
//-------------------------------------------------------
$surfaceprop "glass"
//-------------------------------------------------------
    $definebone "BoneArmature" "" 0.000000 -0.000000 0.000000 -89.999983 89.999928 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000 0.000000
    $definebone "Dummy001" "BoneArmature" 0.000000 0.000000 0.000000 0.000091 -90.000017 -90.000017 0.000000 0.000000 0.000000 -0.000000 0.000000 -0.000000
//-------------------------------------------------------
    $bonemerge Dummy001
//-------------------------------------------------------
$sequence "idle" {
    "anims\idle.smd"
    fadein 0.2
    fadeout 0.2
    fps 20
    loop
}
//-------------------------------------------------------
$sequence "open" {
    "anims\open.smd"
    fadein 0.2
    fadeout 0.2
    fps 8
}
//========================================================
$collisionjoints "phis.smd"
{
    $rootbone "BoneArmature"
}
Даже иерархию костей на всякий случай сделал(хотя для такой модели это смешно).
Компилирую, смотрю в просмотрщике моделей - все просто распрекрасно:
door_phisbox_01.jpg door_phisbox_02.jpg

Смотрю модель в игре - вижу полный бардак, физбокс(отмечен синей обводкой), тупо стоит на месте, причем почему-то повёрнут к основной модели на 90%, проще говоря, физбок не линкуется к кости которая с анимацией, как я понимаю. Такое чувство что команда $collisionjoints просто не работает в игре. Может быть какое-то обновление было или что-то еще в этом же духе?
door_phisbox.jpg

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

Что за бред? Или уже глаз замылился напрочь, чего-то простейшего не замечаю второй день уже.
 
Last edited:

*azabetfen*

Well-known member
Mar 2, 2010
2,785
33
210
63
ugu
  • Серебряная медаль RC
  • Золотая медаль 115
  • Золотая медаль 145
$collisionjoints "phis.smd"
{
$rootbone "BoneArmature"
}
Это не все, не хвотает параметров.
Post automatically merged:

Помоему mass, damping, итд...
Post automatically merged:

"tree_deciduous_01a_physbox.smd"
{
$mass 350.0
$concave
}
Post automatically merged:

$collisionjoints "bip01_phys.smd"
{
$mass 115.0
$inertia 2.00
$damping 0.01
$rotdamping 0.40
$rootbone
}
Вот так будет работать.
 
Last edited:
Как у тебя всё просто.
Да нет конечно-же. Не будет работать.
Хотя бы просто потому, что у меня модель динамическая а не физическая, зачем динамику эти параметры, они динамику вообще всё равно, он просто проигрывает анимацию которая запечена в максе, это не физическая модель.

Может быть обновления выходили? Я уверен что проблема с движком игры. Попозже попробую эту модель перекинуть в другую игру, или даже в CSS, проверить там для пущей убедительности. Хотя я уже давно движек не трогал, ничего там измениться не могло с того времени.
 

ZGreen

Navarro
Jun 15, 2006
3,643
37
  • Спец медаль MM18
Попробуй-ка $collisionmodel для начала.
Post automatically merged:

А вообще, на дев-вики-то вроде описан именно твой случай, цитирую:
Bug:$collisionjoints appears to have issues when only 1 joint is defined and used on a prop_dynamic. The position is broken and the joint does not animate. A workaround for this is to define a bone_followers section under $keyvalues, for example:
$keyvalues { bone_followers { "bone" "mycoolbone" } }
 
  • Like
Reactions: tonline_kms6
Попробуй-ка $collisionmodel для начала.
А вообще, на дев-вики-то вроде описан именно твой случай, цитирую:


Ответ более чем интересный.
Сейчас попробую, у меня как-раз используется или вообще одна кость или одна кость из иерархии.
Всё что до этого делал - все использовало больше одной кости в иерархии скелета.
Я думаю если использовать $keyvalues {bone_followers { "bone" "mycoolbone" } } это будет костыль, все таки это уже будет физическая модель. Можно добавить еще костей, хоть тоже костыль но чистый динамик.
Попробую - отпишусь.

А насчет $collisionmodel - конечно все работает, это же статик, всё кости в одну сводит.
Post automatically merged:


Да, это оно и есть.
Всё решение вопроса заключалось в простом добавлении еще одной кости в иерархию.
door_phisbox_end.jpg
Век живи - век учись. Решение бреда - проще некуда, я уже и макса пробовал менять, хорошо что у меня их 3, и модель в CSS закидывал - результат оставался без изменений, т.е. уже было 100% понятно что проблема не в максе, не в компиляторе, и не в .qc файле. Вот кто то мозг себе поломал до понимания причины и выкладывания решения на вики, спасибо поцику.
Это же Source! Возитесь как хотитесь - простор полёта мысли огромен.

Проблема решена, тему можно закрыть.
Отдельная благодарность ZGreen. Спасибо, а то я еще сидел бы х.. знает сколько, гонял по кругу порожняк, зависнув, причём напрочь, на простейшей проблеме.
 
Last edited:

*azabetfen*

Well-known member
Mar 2, 2010
2,785
33
210
63
ugu
  • Серебряная медаль RC
  • Золотая медаль 115
  • Золотая медаль 145
Post automatically merged:


Да, это оно и есть.
Всё решение вопроса заключалось в простом добавлении еще одной кости в иерархию.
View attachment 133250
Век живи - век учись. Решение бреда - проще некуда, я уже и макса пробовал менять, хорошо что у меня их 3, и модель в CSS закидывал - результат оставался без изменений, т.е. уже было 100% понятно что проблема не в максе, не в компиляторе, и не в .qc файле. Вот кто то мозг себе поломал до понимания причины и выкладывания решения на вики, спасибо поцику.
Это же Source! Возитесь как хотитесь - простор полёта мысли огромен.

Проблема решена, тему можно закрыть.
Отдельная благодарность ZGreen. Спасибо, а то я еще сидел бы х.. знает сколько, гонял по кругу порожняк, зависнув, причём напрочь, на простейшей проблеме.
Такие вещи можно сделать простым брашем! С физическим. func_physbox phys_ballsocket attach1 И имя его все!
 
Много что можно сделать, это понятно.
Но меня интересовал именно тот вопрос, который в моей в теме указан и самое главное, не как сделать а почему не получается.
Но тебе всё равно спасибо за активное участие.
 

*azabetfen*

Well-known member
Mar 2, 2010
2,785
33
210
63
ugu
  • Серебряная медаль RC
  • Золотая медаль 115
  • Золотая медаль 145
$jigglebone "ValveBiped.lighter_fire"{
is_flexible {
yaw_stiffness 333
yaw_damping 6
pitch_stiffness 333
pitch_damping 4
tip_mass 5
length 190
angle_constraint 200
}


}
Вот еще есть jigglebone тоже классная штука!
Post automatically merged: