Hello,
I’m working with a programmer on getting assets to properly animate within Unity, after exporting them via Blender.
I now know multiple rigging parameters don’t translate from Blender to Unity very well, or at all (even via .fbx format). The constraints for rotating/rolling a wheel, or a wishbone suspension for example, don’t even make it in. IN FACT, the programmer has to completely redo the rigging inside Unity by removing the now-garbage armatures and parenting the meshes appropriately (and that shouldn’t be his job).
Someone suggested I just use armatures + weight painting: a single mesh (no sub-meshes), which are weight-painted to rigged bones that would allow for logical transformation. BUT I’d like to verify through you guys if that’s the best approach.
I’ve uploaded one example of what I’m trying to properly animate
Any help greatly appreciated.
Which version of unity are you using? IN 2017.1 it looks like blender importer can now handle objects parented to bones correctly. Previously it couldn’t do it.
The problem is coordinate system conversion. Models with bones imported into blender will have rotation -90 degrees on X axis, and may have helper scale on some of the bones. It may cause problems depending on what you’re planning to do here.
In your scenario (car model), I would write a script (python/unity side) to transfer constraints and would consider using different transfer format. The one which wouldn’t add helper transforms.
Obviosuly, without helper scripts (the ones you’ll write), all sort of constraints will be gone.
I believe somebody previously mentioend “proper” blender export settings ( @zombiegorilla , most likely), would’ve been great if they chimed in.
I’m no expert…but I have it understood that the only good and sure things to get Blender to export to Unity are bone based animations, and vertex skinning. Any special constraints, etc… will not likely work unless they can “bake” into bone or vertex based stuff. For example, you can use the IK constraint to help you make your animations because in the end you get bone animation. Other things won’t work, or at least not in my experience.
This is incorrect.
You can export solid meshes like buildings, etc. Those do not require skinning.
It is worth keeping in mind that skinned meshes add some overhead, so if you don’t need them, don’t use them.
The problems MAY appear when you have armatures in your scene, and objects linked to those armatures.
In previous versions unity failed to process armatures correctly when an object was partented to the bone. However, I have not seen this error after I’ve tried a simple test in 2017.1.
Constraints are not being exported into fbx file. And they’re not being transferred via blend export. Those will be gone and will have to be reconfigured in-game.
If you have animation drivers in your scene, those will need to be recreated.
You need to understand that game animation system is quite different from blender/3d modeling software animation system, and 3d modeling software animation system is much more flexible. Hence it supports constraints, inverse kinematics, etc. In game this will have to be scripted.
I just LOLed. Of course you can export simple models with no animation. I should have been more specific on that though. The problems are almost always with animations type stuff, or material type stuff. Actual modelling type stuff is generally fine, as modifiers get applied upon export even.
1 Like