0
$\begingroup$

I'm relly new to Blender, so I must be missing something basic here. What I'm trying to do is import a model and its skeleton previously exported from 3DSMax in a custom format (json serialized).

I've got pretty far, but I'm getting some weird effects on the vertices weights (I guess...)

As you can see below, the models and its skeleton is built correctly. The bones are correctly set in the skeleton hierarchy. Also, the vertex groups and its modifiers looks right.

enter image description here

But when I rotate the upper arm some non weighted vertices move too.

enter image description here

The movement of the head and some other parts are perfect, however

Thanks

$\endgroup$
  • $\begingroup$ Here is the code used to build the skeleton, if it is of any help: pastebin.com/eu2dpsFm $\endgroup$ – Iguatemi Mar 10 '17 at 0:02
  • $\begingroup$ I have not read the code, but it seems that the bones are inverted: parent may be children and children parents $\endgroup$ – lemon Mar 10 '17 at 7:00
  • $\begingroup$ The code does not indicate how the bone["parentIndex"] are created previously. But probably the problem is there. $\endgroup$ – lemon Mar 10 '17 at 7:28
  • $\begingroup$ bone['parentIndex'] comes from max bone system, so it should be right, at least in the max context. When I import the model in max it works perfectly, so my guess is that there is a 'gotcha' or something that I'm missing. I'll check the hierarchy again, thanks for helping. $\endgroup$ – Iguatemi Mar 10 '17 at 13:17
  • $\begingroup$ After re reading it: line 36 is incorrect... new_bone.head = parent.tail instead. But the definition itself could be different between blender and max (I don't know it, but for instance collada bones are defined differently from blender's bones). $\endgroup$ – lemon Mar 10 '17 at 13:22
0
$\begingroup$

After reviewing the exporter and Max importer, I found out that the correct way is to reverse the bone tips in Blender when comming from Max.

new_bone.parent = parent
new_bone.tail = parent.head
new_bone.use_connect = False

Also, the model cited in the question is kinda broken, so...

Tested with other models and everything looks fine.

Thanks, lemon, for the input.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.