- User Since
- Jan 28 2014, 8:30 PM (335 w, 4 d)
Fri, Jun 19
Feb 16 2016
One thing I can say is that using the Skeleton type flag on a null does not work.
So it will need to change the full node attribute.
@Bastien Montagne (mont29) I definetly wanted to give it a try myself :), but I am still not sure about some things (like what a 'root' template would look like).
So yes if you can invest the time to fix it please do so, I very much appreciate it.
Feb 15 2016
I think the problem here for me is floating point inaccuracy.
This check if val == self.default_values[idx] will fail if the keys are close but not quite the same.
I do not key any scale curves on my bones, but after resampling it will usually come out as something like 0.999994.
This should probably use the same comparison as the other keys including the min_reldiff_fac and min_absdiff_fac.
Yikes, ok that does not sound very promising.
I am to not very familiar with the fbx spec, but I will see if I can come up with a better way.
Feb 12 2016
Fixed copy paste error
As it is right now it seems like simplify will not drop any curves anymore at all, even those that do not differ from the rest pose and are redundant.
Feb 11 2016
I have created a patched version of the exporter, that changes the node type for armatures from 'Null' to 'LimbNode' which does solve the problem mentioned (At least for me).
You can find it here https://github.com/mordecai154/blender-fbx-exporter-unity-patch
It may break other peoples asset pipelines though, so I am not really expecting this to be accepted into master. (Maybe for 2.8?)
Feb 5 2016
I can confirm that this does not happen with the ascii format.
The difference here seems to be that the armature node is of type "Limb" in the ascii format, while it is of type "Null" in the binary format.
Unity seems to only do that optimization I mentioned when the node is a "Null" node.
Is there any reason why this was changed in the newer format? @Campbell Barton (campbellbarton) @Bastien Montagne (mont29)
This is an issue on the Unity side, Blender does export the rig correctly.
When the fbx file has only a single object as the root, Unity will merge that root object into the prefab root it creates for the imported model. Which is obviously incorrect for animations, since it changes the animation binding paths.
This also happens with non armature objects. Try parenting a cube to an emtpy and exporting that. The same thing will happen in that case.
You can work around that by always exporting an empty with your armatures so the file always contains at least two root objects.