AEJoy——实现层空间变换(toComp)的表达式实例

Posted panda1234lee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AEJoy——实现层空间变换(toComp)的表达式实例相关的知识,希望对你有一定的参考价值。

3D 镜头光晕

效果图

下面是一个图层空间变换的实际应用。设置是这样的: 你已经构建了一个复杂的 3D 合成,接着通过移动一个光源来实现动画效果。你可能会想用某种方式使光本身可见。有一个绝妙的主意,即如果你能在光的顶部放置一个镜头光晕,你就可以达到这种效果。当然,问题是,镜头光晕效果是一个应用到一个 2D 层 的 2D 效果。所以我们需要的是一种将光在 3D 空间中的位置映射到(代表摄像机视图的) 2D 平面的方法。

此时 “toComp” 函数就可以完美胜任图层空间变换的工作。在这种情况下,我们使用 “toComp” 而不是 “toWorld” ,因为我们想让镜头光晕跟随光线在相机视图中的位置(这是 “toComp” 所做的),而不是在世界空间中的位置。

记住,当你使用 “toComp” 时,你希望从层的空间坐标(即相对于层的左上角)中的一个点开始。对于大多数层来说,锚点是符合逻辑的选择,因为锚点总是在层的坐标系统中表示的。为了验证这一点,只要创建一个任意大小的图层,你会注意到锚点的 x 坐标总是图层宽度的一半,而 y 坐标是图层高度的一半。

不幸的是,灯光和摄像机没有定位点。这没关系,因为我们真正需要的是知道,在光的坐标系中,光在位置就是 [0,0,0] 。因此,我们需要做的就是为 “Flare Center” 参数写一个表达式,将其映射到光源位置

以上是关于AEJoy——实现层空间变换(toComp)的表达式实例的主要内容,如果未能解决你的问题,请参考以下文章

AEJoy —— 27 个表达式实例JS

AEJoy —— 表达式之 3D 角点大头针JS

AEJoy ——表达式代码列表和示例

AEJoy ——表达式代码列表和示例

AEJoy —— 表达式之接触检测JS

AEJoy —— 表达式之面向相机时才显示图层JS