向安宇知识库 向安宇知识库
  • 读书向
  • 学习向
    • AI工具
    • AI研究
    • 笔记
    • AIP:克丽丝AI日志
  • 创作向
    • 写作
      • 非虚构
      • 剧本
      • 小说
      • 文言
      • 随笔
      • 日记
    • 视听
      • 纪录片
      • 设计
      • 视频
      • 摄影
    • 课程
  • 影视向
    • 创意策划
    • 前期拍摄
    • 后期制作
    • 影像实验
    • 影像设备
    • 大师镜头
    • 电影赏析
    • 视频论文
    • 项目复盘
  • 折腾向
    • 穿越机
    • 户外
    • 代码
    • 手工
    • 书法
    • 篆刻
    • 绘画
首页 › 创作向 › 课程 › AE表达式|20、如何进行2D和3D的转换?@toCamp @toWorld
  • 65
  • 0

AE表达式|20、如何进行2D和3D的转换?@toCamp @toWorld

向安宇
2018-09-04 17:49:57

AE有三层空间。

图层空间:二维数组,是图层左上角相对于锚点的位置。
合成空间:二维数组,是层的位置,对于3D图层,与活动摄影机有关。
世界空间:三位数组,对于3D图层,独立于摄影机。

来通过一个小案例理解。

新建工程,打开字幕指示框(主要为了找和层的中心点),选择椭圆工具,按住shift + command(ctrl)+左键从合成中心点开始拖拽,得到一个圆作为“恒星”。

接着我们来制作一个围绕这个“恒星”旋转的“行星”。同样方式绘制一个小一点的圆,然后选中图层,将其命名为green,打开三维图层,按“a”键调出Aachor Point,给其x轴一个值,这个案例我们给500。按“r”打开orientation,给Y Rotation给一个表达式time*90 。“行星”开始围绕“恒星”以500像素的距离,4秒一圈的速度旋转。

AE表达式|20、如何进行2D和3D的转换?@toCamp @toWorld-向安宇知识库

这种方法我们发现一个问题,就是“行星”在公转的同时还有自转,那么怎样让这个“行星”始终朝向正面?如下图的蓝色小球一样。
AE表达式|20、如何进行2D和3D的转换?@toCamp @toWorld-向安宇知识库

绘制一个蓝色小球,打开三位图层,给Position添加表达式:

thisComp.layer("green").toWorld([0,0,0])

这个表达式是将刚刚的绿色“恒星”的世界空间位置输出出来,蓝色小球以这个位置轨迹运动,但是不跟着旋转。

我们继续绘制一个黑色小球作为“卫星”,让它围绕“行星”运动。

选中绘制好的黑色小球所在图层,按住shift利用拾取器,拾取蓝色小球所在图层,让其成为蓝色小球所在图层的子图层。黑色小球开始和蓝色小球同步运动。

按“a”键掉出Anchor Position,给y轴一个偏移量,这个案例我给的是135。按“r”键,给x Rotation添加表达式time*90,让黑色“卫星”以4秒一周的速度、135像素的距离围绕蓝色“行星”转动。
AE表达式|20、如何进行2D和3D的转换?@toCamp @toWorld-向安宇知识库

这里的黑色小球跟之前的绿色小球同样的问题,转动的同时自身也在旋转。我们还是希望这个“卫星”始终朝向正面。

绘制一个红色小球,打开三维图层,给Position添加表达式:

thisComp.layer("black").toWorld([0,0,0])

搞定。
AE表达式|20、如何进行2D和3D的转换?@toCamp @toWorld-向安宇知识库
我们再来介绍一个表达式toCamp(),这个表达式通常用来3D转2D。比如这个案例里,黑色“卫星”的运动是既围绕“恒星”公转又围绕蓝色“行星”转动的一个三维运动,我们能否将其转化为一个图层的二维运动?

新建一个黄色的小球,不打开三维图层,给position添加表达式:

thisComp.layer("black").toComp([0,0,0])

之后我们得到这样的效果:
AE表达式|20、如何进行2D和3D的转换?@toCamp @toWorld-向安宇知识库
这个小黄球并不会转到行星后面去,因为它是在一个平面上运动的。

这个场景里,转成二维其实没有意义,但在有一些场景里,比如有的ae特效只支持二维,而我们又希望其绑定跟随一个三维对象,这个时候,就希望将三维降成二维,这个时候,toCamp()就发挥作用了。

比如AE自带的CC Particle Systems II,它的位置就只支持二维:

AE表达式|20、如何进行2D和3D的转换?@toCamp @toWorld-向安宇知识库

通过给其position添加表达式:

thisComp.layer("black").toComp([0,0,0])

我们一样可以得到一个类似三维的效果:
AE表达式|20、如何进行2D和3D的转换?@toCamp @toWorld-向安宇知识库

我们回到制作蓝色“行星”那一步,之前是利用了绿色小球的运动来驱动蓝色小球,如果我们一开始就直接来制作蓝色“行星”,而不是先绘制一个绿色小球,可以怎样操作?

首先我们新建一个null,不用移动位置,打开null的3D开关,给Y Rotation添加表达式time*90,这一步可以让null在y轴上4秒旋转一周。

之后绘制蓝色小球,打开3D开关,同样其锚点位置还是[960,540,0](工程为1920*1080)。给位置Position添加表达式:

thisComp.layer("null 1").toWorld([500,0,0])

AE表达式|20、如何进行2D和3D的转换?@toCamp @toWorld-向安宇知识库
前面未曾讲的是,toWorld()和toCmomp()括号内需要给出一个数组,其参数值为偏移量。这里给了[500,0,0],也就是在x轴有500的偏移,于是我们得到一个围绕空对象null,在距500像素的位置,以4秒一周的速度转动的蓝色小球。

而在另一些应用场景里,我们需要同步的时候,通常会在括号里输入引用层的锚点位置,以锚点位置的偏移来抵消运动,从而达到同步的目的。

来看个例子:

新绘制一个黑色小球,命名为“miniblack”,按住shift利用拾取器连接到“red”,于是得到一个跟随红色小球运动的黑色小球。按“a”键打开Anchor Point,给x轴一个数值,比如-240,让黑色小球与其锚点产生240像素的偏移,然后给黑色小球的Y Rotation和Z Rotation都添加表达式time*180,这样得到一个围绕其锚点旋转的黑色小球,而黑色小球的锚点又是和红色小球同步的,于是我们就有了一个不同自身锚点运动同步运动的黑色小球。

接着我们要试验给toComp()括号中添加不同的偏移量,为了便于观察轨迹,我们新建一个固态层solid,添加效果write-on,调整好画笔粗细等参数后,将Paint Style选择成为On Transparent,给画笔位置Brush Position添加表达式:

thisComp.layer("miniblack").toComp([0,0,0])

偏移量是零,所以返回的值是黑色小球miniblack层的位置,也就是下图中黑色虚线绘制出来的轨迹。
AE表达式|20、如何进行2D和3D的转换?@toCamp @toWorld-向安宇知识库
复制一层刚刚的solid,将画笔颜色修改为红色,其他参数适当修改,区别于之前的黑色虚线,将Brush Position的表达式修改为:

roc = thisComp.layer("miniblack");
roc.toComp(roc.transform.anchorPoint)

也就是以其锚点作为偏移量,抵消了层的位置与锚点位置之间的偏移,让其返回数值跟锚点的位置同步,于是其轨迹就成了黑色小球锚点位置的轨迹(上图中的红色线条)。

 

< 返回目录

AE表达式
65
AE表达式|19、如何制作一只黑色幻蝶?@ Math.sin @ valueAtTime
上一篇
混音初探
下一篇

评论 (0)

登录后可发布~
立即登录
暂无评论

向安宇

痴迷文字,醉心影像
447
文章
5
评论
325
喜欢

近期评论

不同意知识过时这么快,数学公式几百年都没变啊
—— Baron von Laughsalot 10 月前 1.我将深入研究如何提升学习力,以及如何用AI提升学习效率
这学习方法太适合我这种记性差的了,必须追更!
—— 狂血战士 11 月前 AIP克丽丝的构想
数字人做语言教学太香了,求Anni快出实操指南!
—— 贪吃小熊 11 月前 Anni搞钱系列:普通人用AI,到底能做起来什么副业?
想问作者会开线下课吗?想带孩子去听听
—— 秋分桂落 11 月前 1.我将深入研究如何提升学习力,以及如何用AI提升学习效率
想问下这个AI工具对服务器配置要求高吗?
—— 狂喜的烟花 11 月前 wordpress也要拥抱AI

猜你喜欢

2、光圈和景深

2、光圈和景深

2019-11-03 17:10:31
2,274 0 2
AE表达式|10、怎样写条件判断表达式?@ if / else

AE表达式|10、怎样写条件判断表达式?@ if / else

2018-08-21 18:00:42
5,680 2 3
AE表达式|文字滚动效果的修改和升级——取模运算实现循环效果

AE表达式|文字滚动效果的修改和升级——取模运算实现循环效果

2019-01-22 16:56:43
6,631 3 11
AE表达式|30、如何制作打字光标效果?

AE表达式|30、如何制作打字光标效果?

2018-10-19 15:19:29
4,040 1 3
65

关于我:

想要读万卷书,行万里路,看万部电影。

推荐栏目:

视频论文 课程 后期制作 非虚构 照片 视频

特色专题:

专题汇总 宜看一侃 帧影帧画 重读文学史 青玉记
Copyright © 2016-2026 向安宇知识库. Designed by nicetheme. 鄂ICP备16005400号-1 鄂公网安备42050602000017号
  • 读书向
  • 学习向
    • AI工具
    • AI研究
    • 笔记
    • AIP:克丽丝AI日志
  • 创作向
    • 写作
    • 视听
    • 课程
  • 影视向
    • 创意策划
    • 前期拍摄
    • 后期制作
    • 影像实验
    • 影像设备
    • 大师镜头
    • 电影赏析
    • 视频论文
    • 项目复盘
  • 折腾向
    • 穿越机
    • 户外
    • 代码
    • 手工
    • 书法
    • 篆刻
    • 绘画
  • 剪辑
  • 转场
  • 纪录片

向安宇

痴迷文字,醉心影像
447
文章
5
评论
325
喜欢