Stretchy spine using only nodes!...not scaling :(

i gave up with trying to make my character’s spine stretch using expressions…

i learned how to do it using only nodes and now the stretch works great!!

only problem is its not scaling with the rest of the rig

it translates and rotates just fine but when you scale it up the joints stretch out in the Y, but only with the stretch attribute set to 1. when the attribute is set to 0 it scales perfectly but obviously no stretch.

i cant figure out how to make it scale with the rest of the joints and controls

not sure if i just have to group something and parent it to global control/scale
or if i have to use the multiply/divide node again and connect the input1X to something or other input somewhere!!! :?:

if anybody can offer any pointers, would be much appreciated

cheers!!

i attached a copy of the file if anybody would like to take a peek at it :sigh:

p.s. the stretch attribute is on the cc_back01 control curve.

setup a scale factor. So say that your equation goes as follows.

currentArcLen/origArcLen=scale

This, as you said. Doesn’t help if the whole rig is scaled down. so here’s how you handle that. Take whatever you’re using to scale your rig (a single attribute to scale in all 3 directions on the master node) and multiply your original scale by that number.

currentArcLen/(origArcLen*rigScale) = scale

That should do it for you. Just a simple matter of hooking up another multiplyDivide

wow thanks for the quick reply

now i feel like if i stared at your solution for a matter of days i may still not be able to decipher it haha

i should have mentioned that i was a student still :laugh:

no worries though

i actually tired to play around with the multidiv nodes and divide the current arclen and orig arclen (which i believe are the same number?) and

i tired to connect it various ways to the “globalScale01” and no luck of course.

my background is of a i guess you can say traditional artist but i had some success with rigging initially and i really got into it, even so much that i thought i could switch my focus to that but sad to say this problem is making me think twice.

i took a screen grab at what im blindingly staring at

Just out of curiousity, is there any reason for all the separate hierarchies? Seems like your skeleton is a little more granular than it needs to be, even for a “broken rig” type setup.

[QUOTE=djTomServo;6334]Just out of curiousity, is there any reason for all the separate hierarchies? Seems like your skeleton is a little more granular than it needs to be, even for a “broken rig” type setup.[/QUOTE]

yeah, thats the first time ive tried anything like that…

at the art institute of ft lauderdale where i go for my higher educations, they dont teach rigging anymore, even when they did it was never focused on.
so basically ive just tried the tutorials route and that was the way they did it on one of the digital tutors rigging vids.

so far its been working out pretty good, but i had issues with their stretchy spine expression so i went “off the map” a little bit and created the stretchy spine solely out different nodes…

im learning as i go here
but it appears i may have gotten in over my head :scared:

[QUOTE=L.o.s.;6335]yeah, thats the first time ive tried anything like that…

[/QUOTE]

Keeping your joint hierarchy simpler might be one thing to try, also maybe try a translation based stretchy spline?

[QUOTE=djTomServo;6338]translation based stretchy spline?[/QUOTE]

what exactly does that mean again :scared:

Instead of plugging into the scale, you’ll plug into the translate Y (or whatever axis is up). I’m pretty sure that it would require an addition node for each joint, which is why I would use scale, It’s simpler, but I think that game engines don’t account for scale and so they use translate (not sure, I don’t work in games)

[QUOTE=Bharris;6343]I’m pretty sure that it would require an addition node for each joint[/QUOTE]

That it does, but the math is rather straightforward and less prone to weird scaling artifacts (for obvious reasons, hehe). There was a really good tutorial online a few yrs ago that i can’t find but you might be able to dig it up with a bit of searching.

I know I have heard of a school for rigging some where, hmm what was it called:)

Here are some links that will help you out though.
As shown in these examples

http://pragmaticartistry.com/2009/07/15/stretchy-ik-global-scale-fix/

http://pragmaticartistry.com/category/rigging/ Looking here he has some other nice tutorial examples as well.

[QUOTE=bclark;6346]I know I have heard of a school for rigging some where, hmm what was it called:)

Here are some links that will help you out though.
As shown in these examples

http://pragmaticartistry.com/2009/07/15/stretchy-ik-global-scale-fix/

http://pragmaticartistry.com/category/rigging/ Looking here he has some other nice tutorial examples as well.[/QUOTE]

awesome resource! thank you!
i used a similar technique to make the stretchy legs and arms and it worked great. for the spine though i just used the value of the arclen instead of locators, maybe i should make the spine the same way?

looks like the problem is kinda fixed for now, i checked off inherits transform on the bn_spA01 bone and so far it fixed the double-transforms but i have a feeling that was too “easy” and i’ll have to go back to it later

like i was saying, i still have to stare at the nodes in the hypershade for hours sometimes like a optical illusion before i can make any sense of it.

so im learning as i go

at least i was able to take notice and somewhat get a clue as to what was going on

again cheers!

:):

turning off inherit transform to avoid double xforms is perfectly fine way to fix that issue.
Glad to help.
Brad