- Рейтинг
- 10
Нужно сделать скрипт который бы поворачивал выделенные кости на определённый угол, но не поворачивал бы ось.
Из разных источников мне удалось собрать несколько вариантов,
но все они вместе с объектом поворачивают и его ось.
Варианты:
Важное уточнение: после или до поворота мне все эти кости нужно уменьшить на определённое значение, например так
Пожалуйста подскажите решение.
Из разных источников мне удалось собрать несколько вариантов,
но все они вместе с объектом поворачивают и его ось.
Варианты:
Код:
$.boneEnable=false
toolMode.coordsys #local
maxops.pivotmode = #objectonly
rotate $ (angleaxis -90 [0,0,1])
Код:
$.boneEnable=false
toolMode.coordsys #local
maxops.pivotmode = #objectonly
currentMatrix = $.transform
preRotate currentMatrix (eulertoquat (eulerAngles 0 0 -90))
$.transform = currentMatrix
Код:
------------------------------------------------------
-- Set the given object's rotation to the given values
------------------------------------------------------
$.boneEnable=false
toolMode.coordsys #local
maxops.pivotmode = #objectonly
fn SetObjectRotation obj rx ry rz =
(
-- Reset the object's transformation matrix so that
-- it only includes position and scale information.
-- Doing this clears out any previous object rotation.
local translateMat = transMatrix obj.transform.pos
local scaleMat = scaleMatrix obj.transform.scale
obj.transform = scaleMat * translateMat
-- Perform each axis rotation individually
rotate obj (angleaxis rx [1,0,0])
rotate obj (angleaxis ry [0,1,0])
rotate obj (angleaxis rz [0,0,1])
)
-- Set currently selected Object's rotation to 80 50 100
SetObjectRotation selection[1] 0 0 -90
Код:
$.width = 0.125
$.height = 0.125
$.length = 0.125