Hey all you TA/Ds and Riggers, what's the specs on current Gen engine's rigging capabilities? Things like UE3; Doom3; etc?
Specifically: limit to # of Bones total? # of bones each vertex may be attached to? or phrased differently, blending weights allowed?
I'm asking because from what I've been able to observe, games like Gears; Bioshock, FEAR, Doom3, all had 1/0 weighting; only 1 bone per vertex. But older engine Torque handle blended weights just fine. Is it a technical thing? or just a "not enough time to blend weights" thing?
So whats the low down on rigging for X360/PS3?
Replies
I could be very wrong, though.
Gears was very hard to tell for sure since the designs are all very chunky and the armor had small seams. for All I know those models could have been in segments and childed to the bones with no weights blending at all. Though I doubt thats the case.
But now I know UE3 is capable of 4 bones per vertex.
Gears are 3 maybe 4 bones/vertex... UE3 can I think do 4 (its stated on the info page, whatever it is), but 3 AFAIK is common since most of the time 4 isn't necessary. Though this is a content and not pipeline/engine issue so I'm sure some models use 2, some 4.
Bone amounts are on the Engine page as well, I thought... I'm not sure the max amount of bones Shader3.0 can handle in the vert shader per-mesh but that's probably the max (90 something? can't remember). Anyway, a mesh can be split up if the bones are too many, allowing things like facial bone rigs that would otherwise go over the hardware bone limit.
The jagged edges (screenshot example?) are not really due to bones-per-vertex but with the constraints of smooth skinning. It doesn't displace volume or simulate muscles, so there will always be problems. Things like helper bones and other rigging techniques will remedy this in the future (I think its been a somewhat neglected area of graphics, but as polycounts increase I think it will become more essential), but what you're seeing is probably just natural.
our specs are 24 bones per piece(a model can be broken up into many pieces. though usually, each piece has a corresponding texture sheet.)
we can go up to 127 bones per piece, but those pieces wont be able to cast shadows.
we dont have the ability though to do faces with morph targets/blendshapes though. our facial rig is all joints, probably around 24 total. 3 verts per influence is our limit.
if you saw shitty weighting in FEAR, it was most likely becasue someone did a shitty job weighting it. there really arent a whole lot of technical restrictions.
our biggest one is rotation order, but im sure thats common in every engine.
Time has distorted my memories re: FEAR. The jaggie areas are the hips and shoulders, which have been traditionally problematic.
About bones and casting shadows, why is it that with many bones the piece can't cast shadow? I read something somewhere about skin modifier in max prevents stencil shadows (or somehting to that effect), is that related?
As far as the Skin Modifer, no, that's not true... I know sometimes there are issues with stencil shadows (done on the CPU) and hardware vertex deformation (done on the GPU). I'm sure there are fixes for this (skeletal animation is usually fine in most engines but OGRE for example can't handle other types of vertex shader deformations with stencil shadows). You're probably confusing Skin with skining.
The exporter essentially bakes the animation every frame to the animation file for in-game use?
Cool topic.
I've only used Biped with Torque for the sake of not having to name every bone and sharing animation.
Currently I'm rigging and animating a model for UE3 but it'll be sent to someone else to be tested in the engine; so I'm asking around a bit to see what I can expect with the newer engines.
So far I'm just using Biped and some helper dummies like Poop's setup. I don't think there will be any problems.
Weapon meshes were often one bone per vert in pieces, and UT2k4 included internal render optimizations for segmented meshes with single bone per vertex weighting.
So sure the engine is capable, but the more influences you put on the more intense the calculations are for the end animation, and the less resources you have for other things like AI and collision.
And yes generally speaking any rig stuff is fair game (control rig, not skeleton) and can be omitted from the final in game animation.
what are you animating?
for stencil shadows or in case a mesh is rendered very often in the same state (multi-pass), skinning normally is done on the CPU, where there are no "limits", and where individual counts do make a difference. The result can be reused, whilst GPU skinning must be "recalculated" every time a mesh is drawn.