900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 【AE表达式】简短 跟随摄像机角度

【AE表达式】简短 跟随摄像机角度

时间:2022-03-25 19:57:46

相关推荐

【AE表达式】简短 跟随摄像机角度

在三维空间制作的文本控件,本来是与空间物体对齐的,结果客户又要说都要朝向摄像机方向,就是都是面向画面,这个在官方文档里面有一段说明,我引用一下:

toWorld(point, t=time)

返回类型:数组 [2 或 3]。

参数类型:point是数组 [2 或 3],t是数值。

将点从图层空间变换到与视角无关的世界空间。示例:

toWorld.effect("Bulge")("Bulge Center")

Dan Ebberts 在其 MotionScript 网站上提供了一个使用 toWorld 方法仅沿一个轴自动定向图层的表达式。例如,这可用于在保持垂直时让字符从一侧移到另一侧以跟随摄像机。

After Effects 中的表达式语言 ()Dan Ebberts's Expressioneering Design Guide

delta = toWorld(anchorPoint) - thisComp.activeCamera.toWorld([0,0,0]);radiansToDegrees(Math.atan2(delta[0],delta[2]))

将上面这段代码贴到物体的 Y 轴,你会发现它根本不好使,正确的代码应该是下面这样子:

delta = toWorld(thisComp.activeCamera.pointOfInterest) - toWorld(thisComp.activeCamera.position));radiansToDegrees(Math.atan2(delta[0],delta[2]))

正常情况下,在 javascript 中,数组不能直接使用加减乘除运算符,但是贴心的 AE 允许这样做,他会把上面这个运算自动转化为 AE 内置的专有矢量运算,它等效于下面的代码:

delta = sub(toWorld(thisComp.activeCamera.pointOfInterest), toWorld(thisComp.activeCamera.position));radiansToDegrees(Math.atan2(delta[0],delta[2]))

具体要使用那种方式,随便!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。