Jump to content

Isner spine?


Jason

Recommended Posts

i thought about it after watching a demo of XSI. i was disappointed with the take-home version of 2.0 XSI when i tried to download and use the add-on. The demo doesn't have add-ons enable so i wasn't able to play around with it.

it is an interesting concept of being able to have set length to a spine and being about to obtain 720 degrees of freedom in the rotations. three simple controls to do all the rotations necessary to handle the spine rotations.

i've seen spine set up done in maya which was interested but it was a bit dangerous for my personal taste. the length of the spline the bones rested on was open but they used an arc length function to color bones in an attempt to warn the animator they did something wrong.

for houdini i have set up a two bone system to try to mix the best of both worlds. a simple noK system to handle the gross movement. in each bone you can place an addSOP in each bone and then object merge those pts all together in another Geo and create your locked length spine spline with a few sops. the high level bone system (more bones) would be doing that ik on a curve thing. now depending on how you set it up you would be able to add another level of control to the spline to allow for a finer level of animation. this kind of system takes care of the biggest problem with bones on a curve... the sliding off the spline by the bones. that always drives me nuts. the lower level of bones will provide a closer solution of maintaining the length of the spline. you will definitely need a way to get the first and last bones to rotate the spline pts more than you will get out of them with a single pt. try it and you will see those two bones have a slightly different effect to the higher level chain.

i'd love to hear some other ideas if anyone has them.

-k

Link to comment
Share on other sites

Forgive my incompetence (I've never done any charecter rigging) but what is so bad about "gimbel locking"?

As I understand,(and feel :)) there is limits to elastisity of spine of any living creature. Why would you need a spine that would allow a character to bend like a snake?

Gimbal lock occurs when you use Euler angles for rotations as most 3D applications do. Gimbal Lock is when you lose a rotation axis, in effect what happens is one rotation axis overrides another. So instead of being able to rotate on X,Y, and/or Z you are only able to rotate on X and Y or Y and Z, or whatever.

Link to comment
Share on other sites

If you search Google for "gimbal lock", you'll see a boatload of descriptions for it.

As for the Isner Spine, I read an article that they used it in the Sea monsters in Spy Kids 2. Kenny, your spine sounds interesting.. any chance of a hipfile describing it?

Cheers,

J.

Link to comment
Share on other sites

sure jason, i was tinkering with how to create some extra controls and then i was distracted by all that fun.

i'll see if i can get one up and running shortly for everyone. i found that i needed the lower numbered chain of bones to be around 4 before i liked the the rotation i was seeing in the higher chain. i was using a noK bone chain but i'd like to try it with a series of fk bones as well to see the difference. i think then i would be able to use the blendOP to act as a pt constraint/rotational constraint to all for simplier controls for shoulders/hips. ( you can see how i was distracted )

i still have to do some thinking in how the rib cage attaches to the spine in order for it to maintain its form but still all for a slight compression/stretch between bones.

one thing at a time.

stay tuned:)

-k

Link to comment
Share on other sites

okay a day later, but i've included my leg/foot rigging method as well.

i'm not 100% happy with the solution once i actually tried with a real spine model. i added a few more bones in the lower chain in order to get better performance. anything on a spline is more apt for a snake, a human spine doesn't have that level of articulation.

once i attached a vertebrae to each high bone as a child i saw the rotations were not smooth enough between each vert for a real world solution.

i started to play around with some other ideas. a copySTAMP could place a vert on each pt of a resample spline based on the same method i used. the only missing thing would be obtaining the smooth rotations for all verts between the first and last. so if the first and last were rotated in world space i guess you could do some crazy CHOP stuff to obtain the rotational values for each vert so they would handle the rotations correctly. hmm.. i'm thinking of this as i type so it might take me another day or so to try it out.

i'd love to hear comments on the rigs

-k

spine_leg.1.hip.zip

Link to comment
Share on other sites

did it :)

post-12-1039280921.jpg

For the moment it has:

-Adjust overall "curviness" for the interpolated curve.

-Same thing for each end of the spine separately.

-Adjust number of samples.

-It's FAST! nothing to envy to compiled monolithic plugin in that area.

Lacks:

-Would like to have a way to limit max and min length as well as deciding where the elongations and compressions occur. Sice the curve is resampled at the final step, the distribution of points is always regular.

-Still don't know what to do with the skeletal elements. I'm about to leave to the user the matter of drawing bones him/herself once the size and resolution of the spine is set. but then i'd have no control on twisting distribution.

Link to comment
Share on other sites

thekenny:

---

You foot rig seems really excellent. I think you've done a great job of setting the right "selectable" flags and such. It's so easy to use! Just picked it up and went to town without breaking it immediately (I'm like that ;) I'm a very quick bug-finder). I like the control icons too - very inuitive. The spine setup is interesting too. I think I'm going to play with both of these for a while and see how they perform.

miguel

--

Well done there! I wonder how to tackle the bones and twisting distribution? This reminds me of the old Skeleton SOP (soon to be obsolete).. the rings work well in that setup.

Link to comment
Share on other sites

miguel,

i'm confused by your post. did you make a hipfile of your own for this setup?

what you are describing sounds interesting, i'd love to see it.

thanks for the comments, jason. the foot set up is something that is fairly stable and will work in extreme situations. if there is ever a flipping problem with the leg from the twist controls you can just bring them closer to their parent. it will correct the craziness if that ik flipping can cause.

i'm still going to continue some other ideas on the spine setup. i'm glad this thread started. i've was thinking for a while that there were very few people doing character work in houdini. it's good to finally have a chance to share ideas.

the old skeleton sop did have a control for twist along its length. it was a capture/deform solution for the radius/ulna arm setup problem. i was thinking about it as well....

-k

-k

Link to comment
Share on other sites

i'm still going to continue some other ideas on the spine setup. i'm glad this thread started. i've was thinking for a while that there were very few people doing character work in houdini. it's good to finally have a chance to share ideas.

hi again,

the spine

---

now that you have such a high-resolution spine, how do you propose to weight it? proximity? painting weights becomes super tricky, although the smooth weights function comes in handy.

the foot

---

i must say that i'm kind of surprised to see the Blend OBJects in there. i wouldn't have thought of that myself. how did you intend the animator to use this rig? did you expect translations on the green block [heel] and rotations on the red balls [ball and toe]? i see that the ball can still be translated too.. suggesting to me that you'd expect to animate the translation. is that right?

also, what is the reason for the single-input Blend OBJects in the skeleton? why could those not be Nulls?

..

i believe there is a lot of potential behind the foundation SESI have laid with the character tools in 5.5. as far as i've heard, there will be few more goodies coming in the near future with the release of Escape. and it's fun!

Link to comment
Share on other sites

hi kenny

i really like the foot setup, very simple and nice. great to see, but i am a touch confused with the blendOP in this set, could you explain it a little for me?

even though i haven't toyed with character tools for a while now, i have been playing with CHOPs and after seeing how easy + effective a setup can be i have to agree with jason that it really is looking good for character animation, can't wait to see the what new goodies are in "escape"!!

Link to comment
Share on other sites

okay, why the blendOP.

well, in the old days of character setups in soft we would used positional constraints to rig characters so that the rotations of a parent object would not follow to the child. the blendOP that is inbetween the foot and that last leg bone serves this function. what is missing is the second input, the masterNull of the character, which would only sharing rotational information with the blendOP. the blendOP can serve as a positional constraint in this manner and an orientational as well.

now for the other one, by using two single ik bones for the foot, i can use a twist goal to correct flipping. if you use the twist goal you don't really have to worry about the parent/child rotation thing. so if you use the twist on the feet you don't need the blendOP inbetween the foot/leg. but since i'm trying to use one goal for both foot bones, i thought why not allow the blendOP to average the position between both bones so i get a best fit scenario. it might not work, but you would have to break the character's foot to get the flipping at 180 problem ik inherently has built in.

the spine. why so dense? well i wasn't thinking about capturing, more so how to get all the verts in the spine to behaviour correctly. chances are i wouldn't be using captures at all in the next thing i built unless i had to. i've got some other tricks to handle those kinds of deformations.

i just haven't had time to go back and look at the spine setup again and try some new ideas.

and stu, yes channel referencing is a solution to the problem and it works. in my mind it's not "animator friendly". most of what i make in houdini is geared for the masses not the specific. if you want special case scenarios, that's why we use houdini. it is the toolbox of 3d.

thanks for the comments.

like i said before hopefully this will get the character stuff rolling a bit in houdini.

-k

Link to comment
Share on other sites

  • 5 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...