BlenderOni
BlenderOni is a Blender add-on intended as an integral companion tool for the Animation rig for Blender. It contains functionalities that automate a lot of operations necessary for the rig to function and be used properly. However, the vast majority of the add-on's options can also be used for general Blender tasks.
BlenderOni can be downloaded HERE.
History
When the Rigify-Oni rig was first released to the public, it was meant to be used together with a number of scripts stored within the Blender scene containing the rig. However, those scripts were not ideal - they were awkward to use as setting up the appropriate values was possible only by changing the script code.
Those scripts have become obsolete with the introduction of BlenderOni, which is essentially little more than those scripts wrapped into a GUI. The scripts are nonetheless archived HERE for legacy purposes.
Options
Bake Keyframe Rotation Mode
Keyframes the rotation data in the selected rotation mode for every selected object, for every frame in the specified frame range. Usually used for converting rotation data from Euler angles to Quaternions if needed.
Change Rotation Mode
Changes the rotation mode of every selected object to the selected rotation mode.
Adjust Throw Target
Moves the selected object by the specified offset for every frame in the specified frame range. If the "Adjust and rotate throw target" operation is selected, the object will also get rotated by 180 degrees in the frame range. If the "Adjust back throw target" operation is selected and the object's location is not { X , Y } = { 0 , 0 }, it gets moved to { X , Y } = { 0 , 0 }.
Used for adjusting the position of the throw target animation, both for forward (Adjust and rotate throw target) and back (Adjust back throw target) throws.
If you are importing an animation from Oni, the X, Y and Z fields are supposed to be taken from the <Position> tag. The position tag has the following order:
<Position>x y z</Position>
BlenderOni takes them in a different order due to differences in axis orientation:
X: x, Y: -z, Z: -y
So given the following <Position> tag with the following example values:
<Position>1 2 -3</Position>
The arguments in BlenderOni should be as follows:
X: 1, Y: 3, Z: -2
If you have created a new animation and want to adjust it back to { X , Y } = { 0 , 0 }, then the X and Y arguments will be the inversions of the X and Y location coordinates of the throw target's pelvis in the first frame of the animation. Z should be set to 0. The new resulting <Position> tag should be created using the order schematic above, with the exception of the height (Blender Z, <Position> y) - this value is mostly taken from other TRAMs and adjusted in a trial-and-error manner until the animation looks okay on most characters.
This is because the height adjustment is one and the same for every character type, regardless of their height - so if you pick the right height, smaller characters will float off the ground and the tallest ones will sink into it, while average height characters should have their feet on the ground.
Object Constraint Switch
Bone Constraint Switch
Object Visual Transformer
Bone Visual Transformer
Set Object Constraint Targets
Set Rig Bone Constraint Targets
Constrain Character Model
Use cases
To be further described, but probably best to link to the rig documentation