i'm trying to mirror 3 still objects that are: shoulder, biceps and forearm. i remember it was like this: select all of them, center the cursor to world origin (shift + c), duplicate, scale, x, -1. but the rotation screws up for some reason. same for the legs
1
-
3$\begingroup$ maybe apply the rotation of your object before making the mirror $\endgroup$ – moonboots May 6 at 16:45
0
$\begingroup$
$\endgroup$
I agree, it seems counterintuitive, how SX-1 or ⎈ CtrlM work in this case.
You can always apply a mirror matrix to the object matrix. Simply select the object and execute the following script.
import bpy
import mathutils
ob = bpy.context.object
mat_mirror = mathutils.Matrix.Scale(-1, 4, (1.0, 0.0, 0.0))
ob.matrix_world = mat_mirror @ ob.matrix_world
# For Blender 2.79 and previous, use the * symbol for matrix multiplication.
#ob.matrix_world = mat_mirror * ob.matrix_world
With mathutils.Matrix.Scale(-1, 4, (1.0, 0.0, 0.0))
we construct a matrix scaled -1
along X.