diff --git a/leenkx/blender/lnx/logicnode/lnx_sockets.py b/leenkx/blender/lnx/logicnode/lnx_sockets.py index 585a3b0..3ceab3e 100644 --- a/leenkx/blender/lnx/logicnode/lnx_sockets.py +++ b/leenkx/blender/lnx/logicnode/lnx_sockets.py @@ -201,20 +201,11 @@ class LnxRotationSocket(LnxCustomSocket): x *= pi/180 y *= pi/180 z *= pi/180 - cx, sx = cos(x/2), sin(x/2) - cy, sy = cos(y/2), sin(y/2) - cz, sz = cos(z/2), sin(z/2) - - qw, qx, qy, qz = 1.0,0.0,0.0,0.0 - for direction in param3[::-1]: - qwi, qxi,qyi,qzi = {'X': (cx,sx,0,0), 'Y': (cy,0,sy,0), 'Z': (cz,0,0,sz)}[direction] - - qw = qw*qwi -qx*qxi -qy*qyi -qz*qzi - qx = qx*qwi +qw*qxi +qy*qzi -qz*qyi - qy = qy*qwi +qw*qyi +qz*qxi -qx*qzi - qz = qz*qwi +qw*qzi +qx*qyi -qy*qxi - return mathutils.Vector((qx,qy,qz,qw)) - + + euler = mathutils.Euler((x, y, z), param3) + quat = euler.to_quaternion() + return mathutils.Vector((quat.x, quat.y, quat.z, quat.w)) + def do_update_raw(self, context): part1 = mathutils.Vector((