blended weights vs. rigid

Community Forums/Showcase/blended weights vs. rigid

jhocking(Posted 2004) [#1]
A lot of people have been asking for (in some cases demanding, but whatever) a side-by-side comparison of animation with and without blended vertex weights. It occurred to me that a model I'm working with right now would make an easy comparison, so I put this together:

www.3darteest.com/downloads/adele_test.zip

It's not the best comparison since she isn't really doing much, but her right shoulder in particular gives a good example since she puts that joint through some pretty extreme rotations. Hit R to see the version with rigid weights, B to switch back to blended weights, and rotate left and right with the arrow keys. Notice how the polygons buckle and overlap in an ugly way in the rigid version, whereas those problems aren't nearly as evident with blended vertex weights. Oh, and note that I am influencing each vertex by 3 bones.


*(Posted 2004) [#2]
nice model =), it does make transitions between frame better ie less twisting of the mesh =)


puki(Posted 2004) [#3]
Yep, blended wins.


gellyware(Posted 2004) [#4]
High Quality model there Joe!

The blended vertex weight model TKO's the Rigid!


scribbla(Posted 2004) [#5]
blendid will help to cut down on the geometry,riggin and animation time as with no blending you have to have more segments to any joints to take care of the rigidity (one weight cutting through the next)...but i use lightwave and terrabits converter which doesnt support blendid at the moment


jhocking(Posted 2004) [#6]
You got that backwards actually. Without blended vertex weights you don't want to have too many segments in your joints because of the rigid skeletal animation. Having more segments is WORSE with rigid weights. Conversely, less detail in the mesh makes blended vertex weights pointless because the vertex density is too low for the blending to matter.


scribbla(Posted 2004) [#7]
i see said the blind man.....must be bed time


skn3(Posted 2004) [#8]
With a rigid model, you have to position your verts carefully, otherwise you get nasty effects in creases. With smoothed verts, you are now free to modle freeform.

Alright example jhocking, you could have done some more fluid animation to demonstrate.. but hey :)


jhocking(Posted 2004) [#9]
A lot of people think like that, that blended vertex weights will magically mean you don't have to pay attention to the placement of vertices. This line of thinking is the same as people who think using Photoshop filters will magically make them expert 2D artists. Life don't work like that. In many cases just the opposite is true, vertex placement is MORE important when using blended vertex weights than without. I'm thinking here of Paul Steed's infamous made-up term "vertex for accomodation." The idea is that you cunningly place an extra vertex/segment in the middle of a joint in order to weight it 50% to each bone and thus preserve the mesh volume around the joint. With rigid vertex weights however you wouldn't even want to have a vertex in the middle of your joint since you cannot attach it 50% to each bone.

Vertex placement/edge distribution is still vital, you just end up with a nicer visual effect.

And yeah, as I said some more extreme animation would make a better demonstration. If anyone really wants to see that I suppose I could bang out an animation of Adele doing jumping jacks or something, but for a simple demonstration of blended vs. rigid weights this'll do.


Ruz(Posted 2004) [#10]
yeah , jhocking is right, its not a magic solution. you still have to pay careful attention to how you build the model.
I suppose that just comes with practice/experience.
and just becase you could use 3000 polys for a character, you still want to try and getaway with a low polycount as possible


skn3(Posted 2004) [#11]
A lot of people think like that, that blended vertex weights will magically mean you don't have to pay attention to the placement of vertices. This line of thinking is the same as people who think using Photoshop filters will magically make them expert 2D artists. Life don't work like that. In many cases just the opposite is true, vertex placement is MORE important when using blended vertex weights than without. I'm thinking here of Paul Steed's infamous made-up term "vertex for accomodation." The idea is that you cunningly place an extra vertex/segment in the middle of a joint in order to weight it 50% to each bone and thus preserve the mesh volume around the joint. With rigid vertex weights however you wouldn't even want to have a vertex in the middle of your joint since you cannot attach it 50% to each bone.


That's not what I said now is it. It is a fact that when you are modelling a rigid vert model, you HAVE to make sure certain verts are in certain places, otherwise it will just look butt ugly. The benifits of using smoothed verts is, you can position your verts exactly how you choose, and make an optimized model, without having to worry that your mesh will break due to the rigid verts. That is all I meant, so no need to get defensive ;)


jhocking(Posted 2004) [#12]
I wasn't getting defensive, I was getting annoyed that you are dispensing incorrect information. Your exact words were "model freeform," which, given the context, meant one does not have to position vertices carefully (ie. the reverse of your comment that "with a rigid model, you have to position your verts carefully.") Note that you are still saying that: "you can position your verts exactly how you choose..." This is incorrect, and it annoys me that you are passing out incorrect information as though it is correct.

With or without blended weights it is vital to position your geometry correctly in order for the mesh to animate well. A poorly constructed model is going to look ugly no matter how the vertex weights are set.

I believe a specific example is in order here. Imagine a tall cylinder. The optimized static form would be no segments along its length, just vertices at the top and bottom. This mesh would not work for an animation of the cylinder bending over however. You need segments (ie. rings of vertices) along the cylinder's length. The resulting animation would look better with blended vertex weights than rigid, but the geometry requirements are the same either way. You cannot simply optimise the form without any thought to animation; the mesh must be designed in a way to facilitate animation.


skn3(Posted 2004) [#13]
[edit]

I believe a specific example is in order here. Imagine a tall cylinder. The optimized static form would be no segments along its length, just vertices at the top and bottom. This mesh would not work for an animation of the cylinder bending over however. You need segments (ie. rings of vertices) along the cylinder's length. The resulting animation would look better with blended vertex weights than rigid, but the geometry requirements are the same either way. You cannot simply optimise the form without any thought to animation; the mesh must be designed in a way to facilitate animation.


But that is not an example that would be used ever, and doesn't represent the problem. imagine an arm attatched to a body. With rigid verts, you would have to position the verts differently around the join, to get them to animate in a more suitable way. Whilst you could leave it the same, rigid or smooth, to get the desired effect with rigid requires more work, and a stricter "layout" of your verts.
[/edit]


Your exact words were "model freeform," which, given the context, meant one does not have to position vertices carefully

Im not trying to argue here, but that is not the context of what I said.

I said:
If you are using rigid verts, you have to model carefully. (otherwise your model will look like crap when it animates)

With blended verts you free to model freeform (you don't have to worry about the restraints of rigid verts, EG you are modelling free from restrictions)

Please don't quote me out of context then demand that your understanding of what I said is correct to, continue an argument.

Lets leave it at there, blitz has finally got smoothed vert blending, so lets all be happy and make decent models with decent animation :)


jhocking(Posted 2004) [#14]
"you are modelling free from restrictions"

I understand the context of your statements. The line quoted here, your explanation for the contect of your earlier statment, is exactly what I am reacting to. One is NOT modeling free from restrictions. Modeling for animation with blended vertex weights still involves a lot of restrictions. In some cases fewer restrictions, but in some cases more restrictions, and in most cases pretty much the same restrictions.

Also, you wanted i.e, not e.g, but that's just nitpicking. There was a funny scene in "Get Shorty" with the character's arguing about that nitpick.


jhocking(Posted 2004) [#15]
"But that is not an example that would be used ever, and doesn't represent the problem."

Actually, I see variations of this problem quite often. The general problem I was describing is of failing to segment polygons to allows correct creasing of the mesh. In one recent example, a client sent me a model and asked me to animate it running. The modeler however did not consider animation while modeling, so he didn't arrange the polygons correctly. Specifically, there were single continuous polygons running up from about mid-thigh to the character's stomach. In other words, there were no edges across the line where the leg meets the body. Using blended vertex weights would not have changed the fact that the modeler would have to split the polygons at the top of the character's leg in order for it to animate correctly.

Anyway, there is a more fundamental thing to point out. You say that "with rigid verts, you would have to position the verts differently." Yes, rigid vertex weighting requires the modeler arrange vertices in a very specific way in order to facillitate animation. I never disagreed with that. However, you also said before that using blended vertex weights means the modeler no longer has to be careful laying out their vertices. This is incorrect, and the key is your use of the word "differently." Perhaps the required layout when using blended vertex weights is different (and this is not necessarily the case, but for the sake of argument I'll just go with that) but there is still a specific, required layout. The restrictions have changed, but there are still restrictions, and plenty of them.


skn3(Posted 2004) [#16]
One thing is for sure, games from now on should look at least a litle bit better :)


jhocking(Posted 2004) [#17]
Maybe, but in the hands of people who don't know what they're doing new toys often lead to new kinds of crappy content. That's even true with people who do know what they're doing; just a couple days ago I tossed out a really fast and sloppy model in order to demo multiplayer to someone else, and they commented that the model animating looked like Gumby. Before the latest update to Blitz3D it would have looked like a robot, but either way it looks crappy.


Ricky Smith(Posted 2004) [#18]
Here's another clear example of how vertex weighting can improve animation even with a very low poly model.Look at the waist area.
Using JHocking's code from the previous example

http://webzoom.freewebs.com/smiff/blended_robot.zip
(Requires 1.86 update to view vertex weighting)

Rigid Assignment :



Weighted Assignment (4 Bones):



All vertex in the pelvic and waist area are assigned to 4 bones. The weighting values are auto assigned using PaceMaker.


Skitchy(Posted 2004) [#19]
Me want PaceMaker. Me make animations good then ... :)


jhocking(Posted 2004) [#20]
Nice demonstration. I assume you can auto-assign different numbers of bones in Pacemaker? Like only 2 or 3 bones per vertex instead of the full 4?


Ricky Smith(Posted 2004) [#21]
Yes - Any amount - 1 to 4 -You select a Primary joint and then up to 3 others.The weighting value is auto calculated initially based on distance from each individual vertex to the bone . You can, if desired, set a bias value on the "Primary Joint" to tweak how much additional influence it has over the selection - in effect this just reduces the distance value for this joint. This bias value can be changed per assignment.
You can also tweak individual weight values. In the above example I just left everything at the default values.
The nice thing is its easy to adjust existing animated models with rigid vertex and get instant improvements. All I did was select all the vertex in the pelvic and stomach area - select the 4 joints and hit 'Select Assigned' - et voila - a totally flexible and soft animating posterior !
Have a look at the 'Walk' animation as well - it makes a tremendous difference in the crotch area !

http://webzoom.freewebs.com/smiff/blended_walk.zip

This is just the .bb file


BlackJumper(Posted 2004) [#22]
Nice model Smiff - and that walk animation really makes the point about the blended option... he looks like he will be needing a liberal dose of Castrol Magnatech poured down his shreddies at the end of a long day of rigid patrolling !

For game atmosphere you might like to stick with rigid, as the sheer discomfort would make him a much more sinister enemy - y'know, like...

"Programmed to hunt you down. Relentless. Untiring. Unswerving. Dedicated to your demise... not even jock itch can divert him from the path of destruction !"


QuickSilva(Posted 2004) [#23]
Well Smiff youv`e got my attention :) When is the next demo of Pacemaker out? Or better still when is the full version planned for release?

Jason.


Ricky Smith(Posted 2004) [#24]
@ Blackjumper - thanks but the model is by Psionic :

http://www.psionic3d.co.uk/

@ QuickSilva - a new test version including all the new features should be available this weekend - hopefully Sunday evening.


QuickSilva(Posted 2004) [#25]
Great :) Can`t wait.

Jason.