Will the addon be compatible with Blender 2.8?¶
Definitely, it will be ported to 2.8. Currently Blender 2.8 is still in an alpha stage, very unstable, but as soon as it enters in a beta or similar stage it will be time to work on it.
What can I rig with it?¶
It’s meant to rig any stylized or realistic character, based on bipeds/m-peds bone structure with spine bones, arms and legs : humans, cats, dogs, centaurs, spiders… On the contrary, rigging a snake is not supported yet. Bird feathers are not yet included, however you can add your custom bones over it if you know the principles of rigging. Or use the included hand fingers bones to this aim.
How does the auto-detection (Smart) work, what limitations?¶
It works for biped characters only, the model must be in T-Pose or A-Pose. It detects the feet, legs, spine, arms, fingers position and optionally the facial bones. Depending on the character, some manual correction may be required. The algortihm finds the vertices in the markers neighbourhood, compute the volume, position of each part, then analyze the datas to place the bone according to the standard biped proportions. If the model is too special and does not meet these requirement, you can skip the auto-detection feature and simply place the reference bone manually.
Are asymmetrical models supported?¶
Asymmetrical models are supported by both the smart feature and manual bones edition. By turning off Mirror when placing the markers and X-Mirror Axis when editing the reference bones:
Does it include bendy bones?¶
They’re currently used to handle the neck twist deformation, and for the leg and arms secondary deformers in option, since they’re not exportable to game engines. To export the secondary bones to Fbx, it’s best to stick to the original Additive mode.
Is it possible to add new, custom bones?¶
Sure, new bones can be added after generating the final rig (Match to Rig). No reference bones can be created for the custom bones, they will remain in the final rig.
Is it possible to delete bones?¶
If disabling a full limb doesn’t give you enough precision to disable a specific bone, hide the bones you don’t need (H key) but don’t delete them, it would lead to the addon malfunction. Then just delete the vertex groups of the hidden bones to make them ineffective.
To hide the IK and FK bones, delete the driver from the checkbox first:
Clicking Match to Rig leads to an error / The mesh blowns up after clicking Bind¶
Make sure auto-run python scripts is enabled in the preferences (Ctrl-Alt-U > File) or ‘Trusted Source’ when loading the file. Some dependencies such as drivers and scripts execution rely on it.
If Blender freezes when binding, it’s generally related to two possible issues:
1) Split Parts is enabled, while the mesh is made of hundred separate pieces (for example multiple hair meshes). Thus, it’s very long to bind because each separate piece is split into a new object and skinned internally. To fix it: Uncheck Split Parts. Or, select the part of the mesh that is made of multiple pieces, and separate it into a new object (P key). Then bind this object individually later, with Split Parts disabled.
2) The character model is very high resolution (around 70.000 polygons). A huge amount of faces can take a while to bind. To fix it: Check Optimize High Res and set the Polycount Threshold value lower than the amount of faces of the object, i.e. 50.000
Alternatively, you can use the Voxel Heat Diffuse Skinning addon. It’s a different skinning algorithm which can bind high poly meshes quickly: Voxel Skinning
Binding does not work or partially work, help!¶
Unfortunately, there are a few cases preventing binding to work due to invalid mesh topology. This is a current limitation of the Blender automatic weight solver, that Auto-Rig Pro is using as well. Here are instructions to fix it:
- Enable Split Parts: Meshes made of multiple non-connected pieces (clothes, teeth, eyes…) may skin poorly/not at all if Split Parts is not enabled.
- Unit scale: If the mesh is very high poly, it may not work because of the very short distance between vertices. Scale up the character and armature (S key, then type numpad 10 to scale ten time bigger), bind the mesh, then scale it down (S key, type numpad 0.1) to reset to the inital scale.
- Invalid topology: First perform a remove double to delete multiple unnecessary vertices at the same location: select all vertices, W key > Remove double. Also make sure the mesh has no serious deficient topology by pressing Shift-Ctrl-Alt-M to select the non-manifold vertices. If you can see a lot of vertices selected all around the mesh (excluding boundaries), the mesh topology is not good enough: there may be edges connected to more than 2 faces, and other topology issues that needs fixes.
- The mesh contains custom normals: Imported files such as OBJ and FBX format may contain complex/dirty normal datas that the binding solver does not appreciate. Delete them, select all vertices, press Ctrl-N to recalculate correct normals data.
- Coordinates are not initialized: Make sure you initialized the mesh rotation and position by pressing Ctrl-A
- Others : If it still doesn’t work, as weird as it may sound, the mesh is likely subject to an unindentified internal Blender bug that can be strangely fixed by adding a subsurf modifier. Add the subsurf modifier (level 1 is fastest), bind the mesh then delete the modifier.
Binding works, but it’s not smooth¶
When using very high poly meshes (~80.000 faces) the Blender automatic weight solver may become slightly buggy on the edges… A simple way to fix this is switching to Weight Paint mode, and add a little negative level offset to the weight groups. And if more accuracy is needed, just paint over the automatic weights.
The markers are invisible?¶
Make sure the scene units are set to 1.0 scale. You’ll be able to change it later (e.g. Unreal export) but the smart feature only works with 1.0 scale units.
Game Engine Export¶
When exporting with x100 Units, the legs are broken?¶
Due to the an imprecision of the IK stretch calculation, Blender does not handle well big models, whose scale are multiplied by 100 when switching to Unreal Engine units. Unfortunately, after many trials, there’s nothing I can do on my side (addon code) to prevent it. The bug has been reported and hopefully and will be fixed someday. As a workaround, before clicking UE Units just make sure to scale the armature and mesh objects together so that they’re not bigger than the standard grid floor, in Blender units.
Renderfarm/Sheep It Rendering¶
How to render my file with a render farm/ Sheep It?¶
If the render farm, such as Sheep It, does not support bones drivers and python scripts, the rig will be broken and won’t render correctly. The solution is to bake the drivers and save it as a new file for rendering.
- Space bar > type “bake” > choose NLA Bake
If some meshes have driven shape keys, run this script after selecting a mesh to bake the shape keys driver values as keyframe:
import bpy context = bpy.context scene = context.scene object = context.object frame = scene.frame_start while frame < scene.frame_end: scene.frame_set(frame) for fcurve in object.data.shape_keys.animation_data.drivers.values(): object.data.shape_keys.keyframe_insert(fcurve.data_path) frame = frame + 1
Delete all armature drivers from the graph editor: