恭喜你成为UI中国推荐设计师 (详情)
//百度统计 20220402 uicn

您的意见是我们 UI 中国进步的动力!
点击立即反馈按钮,发表您的意见!
立即反馈
QQ群反馈
您也可以加入UI中国官方反馈群进行反馈!
群号:302892100
备注:反馈问题后@管理员能让我们及时了解您的意见

提交需求

赛事与广告咨询合作,请填写需求表单,我们会在第一时间与您联系!

0/20
0/200

设计大赛

  • 设计大赛
  • 发布广告
  • 发布招聘
  • 其它需求

提交完成
感谢您对UI中国的支持和信赖!
如何利用一个变量来精确控制多个变量
0.0°
2015-01-14 原创文章 教程 原作者: 原作者 举报 45243 386 212 79

..........

最少关键帧原则

       这个原则是我在平时工作中总结出来的,“最少关键帧原则”。就是说在能完成同一动画效果的前提下,我总是乐意用尽量少关键帧去实现。就好比上一篇文章提到的,利用表达式去剔除“多余的”关键帧,尽量由一个变量来主导其他变量。这样做不仅后期修改起来得心应手,节奏上容易把控,而且整个文档也非常简练,看着心情愉快,效率自然更高。


linear表达式介绍&用法

       子父链接,表达式属性之间的链接都可以实现由一个变量去控制多个的变量。说到链接,不得不提到表达式“linear”,它的存在为我争取了更多刷ui中国的时间,哈哈,就是说自从用“linear”,一口气做了5个需求,不费劲,谁用谁知道啊!

     同样,我们先来看看官方是如何定义“linear”的:

插值方法(节选)

linear(t, value1, value2)

返回类型:数值或数组。

参数 t 通常是 time 或 value,但它也可以采用其他值。如果 t 是 time,则值之间的插值会在持续时间内发生。如果 t 是 value,则表达式会将一系列值映射到新系列值。

同样我们可以在表达式库中调用它:

       通过官方简单介绍你能明白“linear”是个什么东西了吗?如果你懂了,本教程到此结束。至少我当时查看的时候,以为adobe的中文版帮助文档是直接拿英文版Google翻译的。硬是没看懂啊!?

       经过九九八十一天发酵,我懂了!

       其实它一点都不复杂,顺着往下看相信大家都能学会。

       我们主要来看看这个语句,linear(t, tMin, tMax, value1, value2)。上文官方定义中提到,如果 t 是 value,则表达式会将一系列值映射到新系列值。而我们恰好就要利用这个映射功能,还记得我们的标题吗?“‘精确’控制多个变量”。

        同样拿一个小实例来帮助我们分析。

有A,B两个圆,先对A圈的X轴方向上做位移关键帧动画,A圈从128运动到670,如下图:

接着我们点开B圆的X位置属性(右键单独尺寸),点开表达式窗口,将其关联到A圆的X轴,如下图:

紧接着,我们定义一个“Ax”并且让 Ax=thisComp.layer("A圆").transform.xPosition;(注意“;”相当于句号,不要忘记了)。然后再调用“linear”表达式,并改变里面的参数,具体如下图:

Ax=thisComp.layer("A").transform.xPosition;

linear(Ax,128,670,128,420)

仔细观察“linear”后头括号中的数字,然后我们来感受一下“linear”的效果:

看到这里我想大家都懂了吧,是不是so easy。什么!?还不明白!

稍微改一下再看看:

Ax=thisComp.layer("A").transform.xPosition;

linear(Ax,128,300,128,620)


(我有先把A圆的位移动画改成了128到300哦,如果不改的话,大家可以想象一下是怎么样的一种情景。)

       通过上面的实例,我们不难看出“linear”的“映射”是怎么工作的。简单的解释“linear(Ax,128,300,128,620)”,当Ax从128到300变化时,映射出128到620的值;即Ax=128时输出128,Ax=300时输出620,输出的对应值就作用到了B圆的X轴属性上了。而我们又把A圆的x轴位置属性定义给了“Ax”,所以就相当于把A圆的x轴映射给了B圆的X轴,至于具体的变化范围,就看你括号里的参数怎么定义了。

       需要注意的是映射的对象不是一对一,可以一对多;也不必需要X轴映射X轴,你可以X轴映射Y轴,甚至X轴映射透明度,缩放,旋转等等。具体怎么个射法还是得看你的tiwei,是体力,不是,是能力。总之“linear”会让你动画中的元素关系更加密切,而不是孤立的个体。

        就是这么简单实用,即学即用的映射技巧,你学会了吗?

简单示范&思路分享

       上面实例中A圆是主导对象,由他的运动来影响B圆的运动。在很多情况下我需要选对主导对象,因为是由主导对象发起动画,一般关键帧也是打在它身上。所以要根据具体情况来分析,选对主导对象对你后面的工作影响重大。一般我都是选跟手指操作的关系最密切的对象作为主导。

       下面简单示范和分析一下我做的一些小实例,由于篇幅原因我不对细节做具体分析,方法也因人而异,旨在分享哈。

例1

思路:banner的高度去映射背景图的缩放;


例2:

思路:侧边栏的X轴去映射首页的缩放&圆角&灰度;

例3:

思路:顶层的Y轴映射自己的缩放&圆角,同时映射第2,3层的y轴&缩放&圆角;

例4:

思路:蓝圆映射多边形的大小;绿圆映射多边形的圆度;黄圆映射背景颜色等等;

例5:

思路:旋钮的旋转映射数字从0变化到10&背景颜色&刻度条等等;

例6:

思路:第一个圆的缩放映射其他圆的缩放&投影&脚标的缩放等等;

实例到此结束~

希望能给大家一下小小的启发哈~

最后

大家想知道这个抽风圆点怎么实现吗?可是篇幅实在太长了,请听下回分解吧。

谢谢观看

更新:2015-01-14

收藏

386人已收藏

J_King

为创作而生

  • 28

    作品

  • 4645

    粉丝

  • 33

    关注

  • Raindrop
  • Login UI
  • 常用手势小动画库 for AE
  • 续·弹性表达式示例(附原文件)

    猜你喜欢

      2015-01-14 原创文章 教程 原作者: 原作者 举报 45243 386 212 79

      如何利用一个变量来精确控制多个变量

      0.0°

      你确定要举报如何利用一个变量来精确控制多个变量

      如果查出恶意举报,十天内禁止提交任何举报申请。

      0/200

      上传证据: 超过10M的附件请使用网盘地址

      点击上传附件

      对谁可见:

      全部设计师
      • 全部设计师
      • 推荐设计师和认证设计师

      您确认要推荐?

      该作品发布时间:2015年01月14日

      评分

      完整度

      启发性

      勤奋性

      排版布局

      推荐心得

      建议20-200字以内

      0/200

      212
      386
      79

      账号或密码错误,请重新输入

      账号或密码错误,请重新输入

      登录

      手机号

      发送验证码 120s 验证码错误

      登录
      第三方账号登录