Plugin MirrorBone


After downloading the plugin , simple copy the file MirrorBone.hxt into the HXT directory your A:M installation .
The plugin was originally designed as a working relief for me , and therefor raises far no claim to completness or accuracy, however it is freeware .


With this plugin you can mirror the bonestructure and cpweights for a model . It works only , if the cp's and bones on both sides are on the same (or near the same) position with (for bones) same (mirrored) orientation . The mirror axis is always the Y-axis.
The secondary plugin, included in the download , is only for mirroring constraints. The bonestructur must exist before you start this plugin . It's mirrored most of the constraints , except surface and constraints with two targets.
The third plugin included correct corrupted cpweights , start from a selected model with "Check CP Weight's" .


Starting the plugin is possible in two ways in the modellingmode.
From a selected bone, from a selected cp or a group of cp's.
In both modes the plugin mirrors the cpweights , if there are any ...


source side for mirroring defines the sourceside, it's needed , because the plugin can't know , which is the sourceside if on both sides bones/cpweights exist and you start from a middle bone
Search string the string that will be replaced in the bonename on the mirrorside
The string is case dependant , if "Search string casesensitive" is checked . 
Replace with the string that replaces the searchstring
as example
Source side
Bonename "Right_Bone1"
Mirror side
Bonename changed to "Left_Bone1"
the bonenames are used for creating new bones and find bones on the mirrorside if they still exists
The string is case dependant !
Search string casesensitiveif this checkbox is checked , the search string is casesensitive
exclude startbone the bone from which the plugin is startet are excluded from mirroring be sure , this affects also bones at X0 , if you start from such a bone
and have this checkbox checked , the cpassignments and weights for this bone are NOT correctet
correct position and properties for mirrorbone If matching bones on the mirrorside are exists, they getting the properties and (mirrorred) position from the matching bones on the sourceside, if this checkbox is checked
tolerance for bones at X0 means a bone inside the specified tolerance are used as bone at X0 , and will be not mirrorred (means no new bone is createt)
cpassignments and cpweights are correctet for this bones too
weight unweightet cp's at X0 under some circumstands cp's at x0 are having no cpweights, because they are assigned to one bone (at one side), when this bone is mirrored and this option is checked , the plugin create a new cpweight for this cp , where both bones get 50% weight for this cp
use tolerance for cpposition in some cases the cp's on the mirrorside are not exactly on the same position as the cp's on the sourceside , this allows to use a tolerance , inside this the positions can be different
search for mirror only using bonenames if this checkbox is NOT checked , the plugin tries to find mirrorbones through the position of the bones
(searching for names is always on)
this can produce problems , if more than one bone at the same position
use tolerance for bone position if this checkbox is checked , and a value greater 0 is in the correspondending entryfield , the bone on the opposite side must not exactly on the same position and having the same rotation, now it is checked if the boneposition , is in a radius around the expectet position , where the distance is smaller than in the entryfield given, use it with care
only possible if the checkbox "search for mirror only using bonenames" is NOT checked
make a group for unassigned cp's when cp's on the mirrorside can not assigned to a bone (not in the tolerance for mirrorposition), they are added to a group , so you can easier find such cp's (only cp's at targetside are added to the group)
group CP's ,where the mirror can't found making a group for cp's , where on the targetside no correspondending cp's can't be found (only cp's at sourceside are added to the group)
clear first cpweights at targetside clear the weights on targetside , before mirroring them from the sourceside , for the reason , that weights always apllied on the targetside , but on the sourceside for the corresponding cp no cpweights exist,
not used (equal if checked or not ) , when the plugin is startet from a cp/group of cp's
write logfile write a logfile , what the plugin does, including the settings for the plugin
format of the file "mb_"Projectname".txt"
this file is needed , when you make a bugreport
extended logfiles writing additional logfiles
"mbw_before"Projectname".txt" - Information about the cp's on the sourceside before mirroring
"mbw_after"Projectname".txt" - Information about all cp's after mirroring weights
"mbw_conflicts"Projectname".txt" - If some error occurs for weighting , this logfile is written , with holds information about the problems (only written , if a error occurs !)



To the index

To the pluginindex