How would I create this same script but without the hassle of using the point object and just modifying the actual objects pivot?
I'm trying to rotate a pivot to look in the direction of a target with an axis constraint.
To test just create a bunch of boxes on different position in 3d space and then create a sphere at 0,0,0 using that as the target.
targetObj = $Sphere001
sel = selection as array
for obj in sel do
(
--pivotLookAt obj $Sphere001
local dummyPt = point()
dist = obj.pos - targetObj.pos
dist = normalize dist
upVec = [0,0,1]
dp = dot dist upVec
t = acos dp
c = cross upVec dist
c = normalize c
dummyPt.transform = obj.transform
dummyPt.dir = c
dummyPt.pos = obj.center
in coordsys local rotate dummyPt (eulerangles -90 0 0)
in coordsys local rotate dummyPt (eulerangles 0 0 -90)
worldAlignPivot obj
theRot = dummyPt.rotation
in coordsys local obj.rotation *= theRot
obj.objectoffsetrot*= theRot
obj.objectoffsetpos*= theRot
delete dummyPt
)
By JokerMartini · 2012-08-09
Graph · 2012-08-10