weighted vertexes ?

Blitz3D Forums/Blitz3D Programming/weighted vertexes ?

nadia(Posted 2005) [#1]
Hi,
Does Blitz3D use weighted vertexes for boned and animated meshes loaded via a 3DS , .X or B3D file?


flying willy(Posted 2005) [#2]
Via B3D files ONLY.

This is dependent on the exporter used. For example the 3dsmax one is www.onigirl.com/pipeline


nadia(Posted 2005) [#3]
Are you saying that if I animate a mesh in 3dsmax and export it with the pipleine exporter to a B3D file and load this into Blitz3D, that Blitz3D will make use of the weighted vertexes?


Mustang(Posted 2005) [#4]
.3DS is now pre-historic format, it does not have bones, never did and never will... DX8 .X has bones, but Blitz3D supports directly only older DX7 .X format which does not have bones.


Are you saying that if I animate a mesh in 3dsmax and export it with the pipleine exporter to a B3D file and load this into Blitz3D, that Blitz3D will make use of the weighted vertexes?



Yes, it should do that.


nadia(Posted 2005) [#5]
ok, so I stick with B3D format and I'm happy that Blitz3D uses wheighted vertexes for animation :-)
Thanx!


cermit(Posted 2005) [#6]
What does wheighted vertexes do? Does it simple apply wheight to vertices and therefor makes a more organic animation or something like that?


Mustang(Posted 2005) [#7]
If you have one "seamless skin" model (like a character that's one continuos mesh) you need bones to deform (animate) it - bit like your own skin and skeleton / muscles inside it. Bones themselves are not enough, you need a way to tell the bones what vertices to move when the bone moves, so you need weights. you can also assign same vertices to several bones so that you get smoothly moving joints, ie organic animation.

You CAN do "rigid body" animation with bones too, like robots or tanks, you just then assign the whole one mechanical piece (like an arm or turret) to one control bone only instead of doing the usual / old "hierarchial animation" way.


cermit(Posted 2005) [#8]
Okay : ) thanks.


IPete2(Posted 2005) [#9]
Mustang,

Am I right in thinking that B3D bones 'weights' are fixed to a vlaue of '1' where Nadia may be expecting to have a variety of values in there? Just a thought.

IPete2.


Mustang(Posted 2005) [#10]
Mmmm... Usually bones and all it's assigned vertices have a total sum/value of 1 (or 100%).

For example:

-Vertex is attached to ONE bone only, so it has 100% value and moves totally 1:1 with it's parent bone.

-Vertex is attached to TWO bones simultaneously (ie it's on a joint/border), so then both vertices have 50% value... if ONE of these bones moves the vertex is moved "half speed" because the other one is stationary bone and limits the movement speed/direction. If both bones were moving to the same direction at the same speed then the vertex would also; otherwise it's somewhere between.

I can't remember what's the maximum number of bones per vertex in Blitz3D, it's at least 2, but might be four. More than that is not needed, if you have more per vertex you're a bad rigger. :)


Barliesque(Posted 2005) [#11]
Examining an animated B3D model of mine, I was surprised to find that *all* of the weights were 100%. I have yet to investigate further, but maybe it's possible that multiple bones with 100% influence over the same vertex will result in a smaller weight for each. So two bones with 100% influence over the same bone will end up having 50% influence each.

Like I say, I haven't verified that yet, but it just makes sense. :)

Blitz3D, it's at least 2, but might be four. More than that is not needed, if you have more per vertex you're a bad rigger. :)

Well, I don't know about that. Many very sophisticated systems will automatically distribute your bone weights for you. If you use fan bones at knee joints, you could easily hit that limit.


Ricky Smith(Posted 2005) [#12]

Many very sophisticated systems will automatically distribute your bone weights for you.



..and some basic packages do that too like PaceMaker !


Barliesque(Posted 2005) [#13]
Yeah actually, I think that's fairly standard.


jhocking(Posted 2005) [#14]
Well yes, but most automatic weighting tools allow you to set how many bones per vertex. And regardless, a good rigger will adjust the weighting setup by the automatic tool.

I usually shoot for 3 bones per vertex (and not for every joint; most joints will only be 2, but complex joints like shoulders get 3.) Remember: the more bones per vertex, the bigger processing hit. And since for most joints there's only a subtle visual difference between 2 bones per vertex and any more, using more is a waste of processing power. As for 'fan bones,' I'm assuming that's some sort of rigging trick used for cinematic animation that is not a good approach to rigging a character for in-game use.


Alberto(Posted 2005) [#15]
PaceMaker is really a great packages and ,even more important ,it is what blitz3D comunity definitly need.
I do hope PaceMaker v2 is released as soon as possible.
I also hope that Halo accept the reasonable critics about his animation software, as it is now ,it is an unfinished masterpiece.


Litobyte(Posted 2005) [#16]
Wait wait wait, do you want to tell me that at this state, the only tools that will write a correctly shared-weights model is PaceMaker v2 ?

Since I saw the b3d update that introduced shared weights for animated models, I didn't see anywhere any good example of a shared weights animated model running in blitz3D.

What I mean is that I'm sure that blitz3D now is capable of playing animations with models that have different weights (not only 100% or 50%) but even eg: a bone has 20% on a vertices while has remaining 80% splitted 40% / 40% on 2 other vertices, but I never seen a plugin or a tool capable of write such a .b3d file.

Anyone ?


Alberto(Posted 2005) [#17]
Is it true that GameSpace can export the .b3d file format but no weights?


Beaker(Posted 2005) [#18]
Most tools let you create weighted verts: b3dpipeline, PaceMaker, Fragmotion, CharacterShop etc. Not sure about GameSpace.