Puppet

Post unfinished images or JPatch model files for comment.

Puppet

Postby Torf » Sat Jan 07, 2006 3:17 pm

Now that JPatch has this nice bones, morphs, rigging and other stuff support, I thought it was the right time to actually learn what those words mean :D Now none of my old models seemed to be up to the task, and additionally I always wanted to model that puppet standing there in my room - so here it is :) Textures are just standard ones from POV, but I'm working on it.

Seems I got a model now, but still no clue about how this bones 'n' stuff is supposed to work. I'm using 0.5.2 and I already found the "Add Bone" tool and played with it (assigning control points, etc.) and it's really fun! But I wasn't able to actually connect two bones (which seems to be crucial for rigging :wink:). How's that done? And is there some introduction to the whole principle available on the net?
Attachments
puppet.jpg
puppet.jpg (17.86 KiB) Viewed 7685 times
Torf
 
Posts: 155
Joined: Mon Nov 08, 2004 8:45 pm
Location: Germany/Konstanz

Postby sascha » Sat Jan 07, 2006 3:33 pm

Hi Torf. The puppet looks awesome - nice work!

Textures are just standard ones from POV, but I'm working on it

Unfortunately POV-Ray has no support for reference geometry - i.e. procedural 3D textures won't "stick" to the model when it's animated.
It's a pity because it's so trivial to add (just a few lines of code in the case of Inyo), so I hope some C developer will eventually add it to POV too, as it's so crucial for animation.

But I wasn't able to actually connect two bones (which seems to be crucial for rigging Wink). How's that done?

By right-clicking (just like welding two splines). You should see the result displayed in the bone-hierarchy (in the tree view) immediately.
To attach points to bones just select a number of points and one or more bones and use auto-assign from the popup-menu. Each selected point will be attached to the closest selected bone. You can then change how the points weight will be computed for each dof when you select the DOF from the tree (there are three modes: rigid, soft and smooth. I'd choose rigid for mechanical parts - like your pupper, soft as the default and smooth for "twist" DOFs - e.g. the lower arm twist). Also check out the "muscle morphs" - you can add morph targets to DOFs - this way you can e.g. simulate muscles, or correct intersection problems (e.g. if you bend the elbow by 160 degrees it's very likely that upper and lower arms will intersect - this can be easily corrected by applying a morph-target to the 160 degree position).

And is there some introduction to the whole principle available on the net?

As far as JPatch is concerned, unfortunaltely not. But I'll write something and put it into the Wiki.
For some general introduction: I don't know. David...?! :wink:
I think most animation tools support some sort of hierarchical skeleton.
sascha
Site Admin
 
Posts: 2792
Joined: Thu May 20, 2004 9:16 am
Location: Austria

Postby dcuny » Sun Jan 08, 2006 8:08 pm

Someone who uses another animation program will have very little problem adapting to JPatch. All the animation features in it so far can be found in other animation packages. For example, any animation program that supports bones will, at a minimum support forward kinematics (because FK is so much easier to implement than IK).

Although I'm asking about fairly esoteric stuff (hair, particles, IMP-Edit), what I really want to see done this year is to have JPatch reach a baseline where it's not missing any basic features. That's where the IRTC competition comes in handy - by actually using JPatch for animations, Sascha can find out pretty quickly what important things need to be added. ;)

Once the Animator is integrated into the Modeler (Real Soon Now), I'll try to get some documentation together. Having an overview of some sort is a good idea . Blender starts their manual with a "Getting Started" section that shows how to animate a gingerbread man from scratch. Along the way, it introduces modeling, texturing, lighting, rendering, rigging and forward kinematics. I think JPatch would benefit from something like this.
dcuny
 
Posts: 2902
Joined: Fri May 21, 2004 6:07 am

Postby sascha » Sun Jan 08, 2006 8:31 pm

Once the Animator is integrated into the Modeler (Real Soon Now), I'll try to get some documentation together. Having an overview of some sort is a good idea . Blender starts their manual with a "Getting Started" section that shows how to animate a gingerbread man from scratch. Along the way, it introduces modeling, texturing, lighting, rendering, rigging and forward kinematics. I think JPatch would benefit from something like this.

Agreed, that would be great! :D

Integrating the animator has, so far, been pretty easy. I'm really glad that I waited until now and didn't start earlier with it. The new tree-model made it easy to map the animation hierarchy into JPatch's tree-view, and the additinal layer of abstraction added to the tools was a pain to implement, but finally pays off: It is possible to use the move/scale and the rotate tool in animations for models, cameras and lightsources - it required just a few lines of additional code. Cool 8)

The current plan for version 0.6 is to have the animator fully integrated, FK controls and a project file format. These features should be available in one of the next 0.5.x development snapshots. After they are implemented I'd like to spend some time searching and fixing bugs, to have 0.6 "stable" again.

U/V mapping, IK and thinks like walk cycles are scheduled for version 0.8 (and will be implemented in the 0.7.x development versions).
sascha
Site Admin
 
Posts: 2792
Joined: Thu May 20, 2004 9:16 am
Location: Austria

Postby dcuny » Sun Jan 08, 2006 10:05 pm

Sascha wrote:U/V mapping, IK and things like walk cycles are scheduled for version 0.8 (and will be implemented in the 0.7.x development versions).
That'll rock! You'll make me run out of excuses for not doing any animations myself. 8)

The only other big item will be the timeline, which I'm sure will be undergoing constant (re)development. ;)
dcuny
 
Posts: 2902
Joined: Fri May 21, 2004 6:07 am

Postby sascha » Sun Jan 08, 2006 10:15 pm

There will be a timeline in the next development version (I'm going to need it for the animation) - it will at least feature some kind of copy and paste for poses, but it might still be based on the old one. Once the animation is done we can focus on the timeline interface for JLipSync. :)
sascha
Site Admin
 
Posts: 2792
Joined: Thu May 20, 2004 9:16 am
Location: Austria

Postby Torf » Sat Jan 21, 2006 12:02 pm

I'm finishes rigging that guy. Once able to move, he definitely wanted to say "hi" to the people who helped creating him :wink:

I removed the wood textures and replaced the complicated joints with simple spheres, because it reduces the patch count a lot (the screws didn't add much to the model anyway IMHO).

Now on to learn all this "morph" stuff :D
Attachments
puppet_says_hello.jpg
puppet_says_hello.jpg (18.03 KiB) Viewed 7616 times
puppet_hello_wire.jpg
puppet_hello_wire.jpg (18.34 KiB) Viewed 7615 times
Torf
 
Posts: 155
Joined: Mon Nov 08, 2004 8:45 pm
Location: Germany/Konstanz

Postby sascha » Sat Jan 21, 2006 12:08 pm

Cool! :)

Just in case you haven't seen it - you can set the point "weighting" mode for each DOF individually. While "soft" usually works best for "organic" models, you can use "rigid" for mechanical parts.

You can auto assign the whole mesh to the whole skeleton in one step, but for mechanical parts I'd do it part for part - select the part (e.g. with the extend-selection -enter key- mode), the bone an click on assign points->bones and repeat it for the whole model.

Auto-mirror should work for morphs and bones as well, so it's sufficient to rig just one side of the model. When auto-mirroring, be sure that both, the mesh and the skeleton is selected, and that both, the points and the bones on the mirror plane are exactly aligned (to X = 0) - (you can use grid snapping to align the bones).
sascha
Site Admin
 
Posts: 2792
Joined: Thu May 20, 2004 9:16 am
Location: Austria


Return to WIP (work in progress)

Who is online

Users browsing this forum: No registered users and 1 guest

cron