Skeletal animation in flexcontrollers or flex animation? - linking poseparameters to flexcontrollers
0 replies, posted
Hello,
My aim is to implement flexcontrollers into a model that can move the model's bones, similar to how the hl2 characters like breen have head_updown and leftright flexes. I have invesitgated some things so far, but I would appreciate your opinion (unless it involves upgrading to .dmx):
Flexcontrollers and poseparameters (or blend sequences) share a link in qc as I understand it, where a poseparameter can be controlled via a flex controller.
For instance, if the poseparameters head_pitch and head_yaw exist with the flexcontrollers head "range" -30 30 head_rightleft and head "range" -30 30 head_updown, then in engine or in face poser, if the flexes head_leftright or head_updown are changed, they will emulate head_yaw and head_pitch poseparameter movement.
However, when I attempted to create another poseparameter/flexcontroller pair by substituting "head" for "larm", it created the flexcontroller in face poser but it did not move the poseparameter.
Qc so far:
//flexcontrollers:
$model human "layersfemaleD.smd"{ //model
flexcontroller head "range" -30 30 head_rightleft // this becomes linked to head_yaw poseparameter
flexcontroller head "range" -30 30 head_updown // this becomes linked to head_pitch poseparameter
flexcontroller larm "range" -30 30 larm_rightleft // considering the pattern, this doesn't seem to link to the larm_yaw poseparameter
}
$poseparameter head_yaw -45.00 45.00 //this works and links with flexcontroller head_rightleft, I used breen's ranges for a first test
$poseparameter head_pitch -90.00 90.00 //this also works and links with flexcontroller head_updown, using an arbitrary movement range
//although poseparameters are probably ?not necessary? in the first place, I also included the poseparameter for the larm further down the page...
$weightlist headbits { "bone014" 1.0 } //head only weights
$animation neutral "modulehumanoididle" fps 30 //this I will use to subtract for layering
$animation neck_right "modulehumanoidcompositeanims" frame 4 4 fps 30.000000 subtract neutral 0 weightlist headbits //these are used in the head_yaw blend sequence
$animation neck_center "modulehumanoidcompositeanims" frame 0 0 fps 30.000000 subtract neutral 0 weightlist headbits
$animation neck_left "modulehumanoidcompositeanims" frame 3 3 fps 30.000000 subtract neutral 0 weightlist headbits
$sequence modulehumanoidneckyaw "neck_right" fps 30.00 { //this is the head_yaw blend sequence that works with the flexcontroller
blendwidth 3
blend head_yaw -45 45
delta
autoplay
neck_center neck_left
}
// the head_pitch is similar so I won't include that here (it works the same though)
$poseparameter larm_yaw -45 45 //this is the poseparameter for the upper left arm, it works as a poseparameter but doesn't seem to link to the flexcontroller
$weightlist larm { "bone004" 1.0 "bone005" 0.0 "bone006" 0.0 } //only use the first arm bone for these
$animation larm_up "dynamicmotionslayerfemale" frame 1 1 fps 30.000000 subtract neutral 0 weightlist larm //these are the parts for the larm_yaw blend sequence
$animation larm_middle "dynamicmotionslayerfemale" frame 0 0 fps 30.000000 subtract neutral 0 weightlist larm
$animation larm_down "dynamicmotionslayerfemale" frame 2 2 fps 30.000000 subtract neutral 0 weightlist larm
$sequence dynamiclarma "larm_up" fps 30.00 { //this is the larm_yaw blend sequence, it works as a blend sequence but there is no link to the flexcontroller
blendwidth 3
blend larm_yaw -45 45
delta
autoplay
larm_middle larm_down
}
Any suggestions as to what I am doing wrong (apart from that I'm not using .dmx) and any ideas or knowledge on how to make flexes that control bones, I would be grateful for.
Sorry, you need to Log In to post a reply to this thread.