Activity › Forums › Adobe After Effects › How to get the rotation data of a 3D auto-orientation layer
-
How to get the rotation data of a 3D auto-orientation layer
Posted by Gthief on April 6, 2005 at 12:43 amthe rotation date don’t show in “Rotation” when i turn auto-orientation on, what can i do?
Gthief replied 21 years, 1 month ago 3 Members · 5 Replies -
5 Replies
-
Yoondo
April 6, 2005 at 1:06 amYou need to turn off the auto orientation in order to gain control over the rotation
property of the layer. -
Dan Ebberts
April 6, 2005 at 2:32 amIt’s not trivial. If “Layer 1” is your auto-oriented layer, this expression should give the orientation values (apply it to another layer’s orientation property):
L = thisComp.layer("Layer 1"); s = L.scale/100; u = L.toWorldVec([s[0],0,0]); v = L.toWorldVec([0,s[1],0]); w = L.toWorldVec([0,0,s[2]]); sinb = clamp(w[0],-1,1); b = Math.asin(sinb/thisComp.pixelAspect); cosb = Math.cos(b); if (Math.abs(cosb) > .0005){ c = -Math.atan2(v[0],u[0]); a = -Math.atan2(w[1],w[2]); }else{ a = Math.atan2(u[1],v[1]); c = 0; } [radiansToDegrees(a),radiansToDegrees(b),radiansToDegrees(c)]Dan
-
Gthief
April 6, 2005 at 2:53 amthanks Dan, i’m not good in writing expression, can you tell me how it work?
-
Dan Ebberts
April 6, 2005 at 3:56 amIt’s all 3D vector math and rotation matrix transforms. Easier to use than to explain. 🙂
Dan
Reply to this Discussion! Login or Sign Up