alternative character rig

alternative character rig

Postby gruntunbur » 24 Jul 2013, 12:39

So I wanted to give an example of a better rig for character animation. Even if it uses some unsupported features.
The point of it is to demonstrate the benefits of IK and some copy/limit rotation modifiers.
Hopefully making it obvious it's easier to animate.

some setup info:
  • The main animation bones are visible, hiding the others on a different layer.
  • Except for the main heel-to-toe-bone all have their own shape.
  • Hands and feet have their own target, including pole targets for the elbow and knee joints.
  • A fancy heel to toe bone (see blenderguru tutorial)
  • Copy and limit rotation modifiers for the fingers/thumbs on the X axis. The main finger bone would be the rectangular one.
  • Hips are fun to play with, and rotate around a sensible origin. ( the reversed hip deformation bone is hiding on another layer )
  • The weight painting is functional but definitely not polished.
  • Sadly no titty bones but thats not the point right now. Implement some softbody physics or something :P jk.
  • It took way longer to setup than i previously though, including making all the stupid custom shapes.
  • Its probably useless with all its fancy modifiers for LOS but a good demo me thinks :)
    edit: Copy- Rotation, Location, Scale ( no seperate x,y,z scale ) and IK modifiers now supported \o/

The whole thing is based upon this 3 part tutorial and thus the rigify addon armature ( included in the newer blender 2.6 versions )
The finished tutorial .blend file has a better weighted character with better topology. I recommend looking at that one too.
Attachments
aerbody1_rigged3.blend
(1.22 MiB) Downloaded 592 times
Last edited by gruntunbur on 26 Jul 2013, 13:52, edited 2 times in total.
gruntunbur
 
Posts: 45
Joined: 27 Jul 2011, 21:04

Re: alternative character rig

Postby amuzen » 24 Jul 2013, 14:33

Looks really good! It's certainly easier to use than the current rig, and it might actually even be usable in-game after some minor changes. The exporter script should theoretically be able to bake IK animations into FK, so animations created with this rig should be usable in-game. I haven't tested the exporter with an IK rig in a long time so it could be broken in subtle ways, but I don't think that it'd be hard to get the rig and its animations to export correctly.

The only criticism I have about the rig itself is that the individual finger bones aren't particularly useful to us, especially then they come with the cost of doubling the number of mesh deforming bones. Older video cards can't handle more than about 32 deforming bones when doing skeletal animations on the GPU, so I'd prefer the number of vertex groups in the model to not exceed 32. If you were wondering why the old rig didn't have individual finger bones, this is actually the reason.

Nevertheless, the rig looks good, and I'm positive that it could be used in practice. The biggest obstacle is that the animations would have to be redone, but that would probably be offset in the long term by the rig being easier to animate.
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Re: alternative character rig

Postby gruntunbur » 24 Jul 2013, 16:10

good to know IK ain't far from functional :)
I guess a simple tentacle thingy would be good for testing it, including a pole target. ( essential for knee/elbow joints )
Wondering if the copy/limit rotation, location, scale modifiers are problematic. Do they even need to be translated when exporting? Including more than one acting upon a single bone.
gruntunbur
 
Posts: 45
Joined: 27 Jul 2011, 21:04

Re: alternative character rig

Postby amuzen » 24 Jul 2013, 16:50

The exporter doesn't really care about the modifiers because Blender actually does all the animation playback work in the background. The exporter just samples the bone positions and rotations each frame based on how Blender solves the constraints. Because of that, if Blender itself can handle the armature and the animations correctly, you should, in principle, be able to give them to the exporter as is and get the expected output.

I have tested the copy rotation modifier a longish time ago and it used to work at least back then. I don't see any reason why the other modifiers wouldn't work too. Well, the scale modifiers wouldn't work currently since the scale tracks aren't exported. However, it wouldn't be particularly hard to change the animation file format to include those too if they were needed for something.
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Re: alternative character rig

Postby gruntunbur » 25 Jul 2013, 13:03

I've created a simple and stunningly beautiful IK monster for testing purposes
it includes a pole target and a copy rotation bone
Ah and an amazing realistic "swoop" animation

edit: Added a test rig using just copy - rotation, location, scale modifiers and a swoop animation.
Attachments
bone_mod.blend
(516.69 KiB) Downloaded 590 times
ik_monster.blend
(691.65 KiB) Downloaded 587 times
gruntunbur
 
Posts: 45
Joined: 27 Jul 2011, 21:04

Re: alternative character rig

Postby amuzen » 25 Jul 2013, 19:47

For people who don't hang around in the IRC channel, the test rigs and animations seem to export correctly now. Hence, using IK rigs should now be feasible. Support was also added for exporting animations that use bone scaling.
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Re: alternative character rig

Postby charlie » 25 Jul 2013, 23:06

Not to sound like wanting to complicate things, but isn't there an LOD equivalent for bones so unecessary bones could be optionally ignored on lower spec GPUs?
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2134
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: alternative character rig

Postby gruntunbur » 26 Jul 2013, 13:46

Thats complicated! :P
Don't think so, nope.
gruntunbur
 
Posts: 45
Joined: 27 Jul 2011, 21:04

Re: alternative character rig

Postby amuzen » 26 Jul 2013, 15:01

Well, there are various ways to work around the bone count limit, such as splitting the hands into a separate mesh, using an alternative hand mesh with fewer vertex groups or somehow merging vertex groups. Even though it's doable, individual finger bones are more trouble in many ways compared to just not having them. There's the extra effort required by the bone count workarounds, the effort required to animate the individual fingers and some minor performance implications for doubling the bone count.

However, even more than the work and the minor issues, I'm concerned about the fact that you can't actually distinguish the fingers in-game unless you stop and zoom really close, and that the only use cases are the two common gestures. The gestures could be implemented relatively easily with alternative hand meshes so, as far as I can tell, there's little point to have the finger bones. Sure, you can't say that the rig is AAA quality if it doesn't have individually animated fingers, but that'd be an odd marketing point when the mesh and texture quality is unlikely to ever be anywhere near AAA.
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Re: alternative character rig

Postby Julius » 26 Jul 2013, 16:52

Usually it works to only have index finger & thumb bones and one set for the remaining fingers as those usually are moved quite uniformly.

However, since it is really about the deformed vertexes a LOD system that has hand-made LOD level should do the trick, no? E.g. If you don't apply any vertex-weights to the extra bones in the lower LODs and let the engine choose the LOD level not only on distance but also GPU capability (kind of automatic as you can't turn the settings that high on an older card).
But for most games it is not worth the effort, I agree.
“Reality is that which, when you stop believing in it, doesn’t go away.” - Philip K. Dick
User avatar
Julius
Community Moderator
 
Posts: 3025
Joined: 06 Dec 2009, 14:02

Who is online

Users browsing this forum: No registered users and 1 guest