[Bf-committers] Collada: conversion from Joints to Bones
p.visser at illusoft.com
Tue Sep 5 18:29:31 CEST 2006
Hi, thanks for your feedback,
> > I've created a picture to make it more clear:
> > http://colladablender.illusoft.com/screens/joints_bones.gif
> In this drawing hierarchy info is missing. I assume that joint1 in
> collada is parent to the other 2 joints?
Yes, joint1 is the parent of joint2 and joint3
> And what do the v1,2,3,4 denote?
Those are 4 vertices of a mesh. The table to the left are the weights per
vertice per joint/bone.
> What is the meaning of having a joint2 here... if you rotate that
> joint, nothing happens really? In that case this is in Blender a 2-bone
Well, At first I also thought that rotating joint2 does not change anything,
but in maya for example (which also uses joints) you can see that it does
effect the mesh skinned to that joint. See the example here:
As you can see, when joint2 is rotated, the vertices bound to that joint
change position. This effect can only be replicated in Blender by adding a
bone for each joint.
Second, when I do not do this, what do I do with the weights per vertices
> > 1. When I import those 3 joints, I create 4 bones, so that each joint
> > can be
> > rotated. In Collada, when using IK, when I grab joint2, joint3 moves as
> > well.
> Well, that's a very weird IK setup... what is parented to what, and
> where is the root?
> > However, in Blender there Is no 'root' bone (in fact, there are 2 root
> > bones
> > now).
> > When using IK on bone3, bone4 won't move. The only thing that moves is
> > bone1, so it's head is not on the same position as the head of bone2.
> In blender each bone that has no parent is 'root'. By default IK's
> don't move the root position, only the root rotation. I guess in other
> programs that's called "pinned" or so. The behaviour as you describe
> here for Blender seems to me fully correct.
> The Collada spec doc - only did quick glance - confusingly mixes joint
> and bone... but my impression is that they're identical. For skinning
> for example, references to 'joints' are made in one text, another part
> of the doc talks about 'bones'.
> Also samples in the doc indicate that this joint is just the same as a
> Blender bone, defined by a hierarchical set of 4x4 matrices. All
> samples in collada start with a root joint btw.
> So, three joints in Collada can just be 2 bones in Blender.
> > The only way to solve this behaviour is to add an extra root bone
> > which will
> > be the parent of bone1 and bone2. I don't think this is a nice option.
> > (especially when exporting this scene again to Collada, because you
> > end up
> > with an extra joint). As I have not much experience with animation, I
> > was
> > wondering if the above problem is not an issue to you.
> > Also, when exporting the scene without the extra bone is a problem.
> > You will
> > end up with 2 joints on the same spot as joint1. (one for the head of
> > bone1
> > and one for the head of bone2).
> > 2. Again, When I import those 3 joints, I create 4 bones, so that each
> > joint
> > can be rotated.
> > As you can see at the table next to the images, in Collada vertice1 and
> > vertice2 are both bound to the single joint1.
> > In Blender there are 2 bones, so what's your opinion about what to do
> > with
> > the weights of joint1. Should I simply divide them among the
> > bones(bone1 and
> > bone2) created from that joint?
> > Thanks for the help,
> > Pieter
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at projects.blender.org
> > http://projects.blender.org/mailman/listinfo/bf-committers
> Ton Roosendaal Blender Foundation ton at blender.org
> Bf-committers mailing list
> Bf-committers at projects.blender.org
More information about the Bf-committers