本文将介绍在Android平台上实现和演示迪士尼动画基本准则

项目开源,GitHub: https://github.com/vhow/animation

说明:

夸张手法

很多时候,动画需要模拟现实世界中物理的真实动画。但一味拘泥于现实,不免枯燥和乏味。因此,动画的撰写可以大胆夸张,夺人眼目。

跟随和覆盖行为

现实物体会受惯性作用,要模拟现实,就要考虑惯性。《猫和老鼠》等动画中常使用此技巧,以人物奔跑为例:

  • 开始奔跑
  • 逐渐加速
  • 奔跑中身体后倾
  • 逐步减速 (受惯性作用)
  • 停止,身体归正

预备动作

现实世界中,物体在行动前都有预期行为。例如:

  • 小猫在上跳前会下蹲
  • 狮子在发起攻击前会俯身蓄力

在编写动画代码时,也可以加入这些预备动作——预告接下来的行为,让用户产生预期。

挤压和拉伸

物体存在重量,也由不同材质组成。在运动过程中会发生挤压和拉伸。《猫和老鼠》中,猫撞墙时会发生扁平形变,就是应用了此准则。

突出显示

舞台上,领舞一般都被突出出来,向前走一步,或者穿着不同的衣服。动画亦是如此,需要突出强调关键元素以吸引用户的注意力。

接续动作与关键动作

开发动画之前,目标对象从初始位置过渡到终止位置,需要事前想好关键位置,也就是所谓的关键帧。这些关键帧定义好之后,动画就可以持续从一个关键帧过渡到另一个关键帧。

缓入缓出

真实世界中,物体从静止运动,是一个逐渐加速的过程。从运动静止是一个逐渐减速的过程。动画需要利用贝塞尔曲线,模拟这种状态切换过程。

弧线运动

有生命力的事物,例如老鹰,其移动轨迹往往是曲线,而非直线。动画也要模拟这种弧线运动轨迹,以切近现实。

时间节奏

时间和节奏是动画的灵魂。两个物体,哪怕初始状态、终止状态完全一样,只要节奏不同,其运动效果也会千差万别。

用Android属性动画实现和演示迪士尼动画基本原则的更多相关文章

  1. html迪士尼网页实现代码

    html body>     <div>         <!-- 导航设置 -->         <header>             <nav ...

  2. 用HTML编写迪士尼乐园页面

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/html"><head lang="e ...

  3. 杂项-公司-百科:华特·迪士尼-un

    ylbtech-杂项-公司-百科:华特·迪士尼 华特·迪士尼(Walt Disney,全名Walter Elias Disney,又译沃尔特·迪士尼,1901年12月5日—1966年12月15日),出 ...

  4. 迪士尼黑科技:爬墙机器人 VertiGo

    12 月 30 日,迪士尼研发出的一款爬墙机器人曝光了一段有趣的视频.从视频里可看出这个机器人碰到墙壁时迅速地作出反应爬了上去. 据了解,这个爬墙机器人名叫 VertiGo,由迪士尼研究中心和苏黎世联 ...

  5. HK游记 Day2迪斯尼(下)

    接下来我们要去看狮子王庆典,绕啊绕啊,终于进场了,说实话我对一大帮人扮演动物歌舞表演不是很感冒,静倒是觉得很好看,印象最深的是狮子王的主题曲,还有大象车,长颈鹿车,狮子王车,静举着手机拍视频. 看完表 ...

  6. Android属性动画完全解析(下)

    转载:http://blog.csdn.net/guolin_blog/article/details/44171115 大家好,欢迎继续回到Android属性动画完全解析.在上一篇文章当中我们学习了 ...

  7. Android属性动画完全解析(上)

    Android属性动画完全解析(上) 转载:http://blog.csdn.net/guolin_blog/article/details/43536355 在手机上去实现一些动画效果算是件比较炫酷 ...

  8. Android 属性动画(二)

    当然了属性动画还有一部分的知识点,也能做出很不错的效果,将在本篇博客为您展示~ 1.如何使用xml文件来创建属性动画 大家肯定都清楚,View Animator .Drawable Animator都 ...

  9. Android 属性动画(Property Animation) 全然解析 (下)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38092093 上一篇Android 属性动画(Property Animatio ...

随机推荐

  1. C++ 默认参数(转载)

    函数的默认参数值,即在定义参数的时候同时给它一个初始值.在调用函数的时候,我们可以省略含有默认值的参数.也就是说,如果用户指定了参数值,则使用用户指定的值,否则使用默认参数的值. void Func( ...

  2. linux 树型显示文件 tree ls tree 命令

    原创 2016年07月27日 09:50:19   yum install tree tree www │?? │?? │?? └── xml.test │?? │?? └── valgrind.su ...

  3. linux中的两个命令setfacl和chmod有什么区别

    setfacl命令可以用来细分linux下的文件权限.chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限. 比较常用的用法如下:setfacl ...

  4. ser-u服务器安装和使用(创建ftp服务器)

    安装serv-u,创建ftp服务器,以及连接服务器上传和下载文件. 工具/原料 serv-u,8uftp 装有win7以上或者winserver系统的电脑 安装serv-u 1 http://pan. ...

  5. CCF系列之Z字形扫描(201412-2)

    试题编号:201412-2试题名称:Z字形扫描时间限制: 2.0s内存限制: 256.0MB 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan).给定一个n ...

  6. 深入理解final关键字以及一些建议

    引子:一说到final关键字,相信大家都会立刻想起一些基本的作用,那么我们先稍微用寥寥数行来回顾一下. 一.final关键字的含义 final是Java中的一个保留关键字,它可以标记在成员变量.方法. ...

  7. 优化 gruop by 语句

    默认情况下,mysql对所有的gruop by col1,col2...的字段进行排序.如果查询包含group by但用户想要避免排序结果的消耗,则可以指定order by null禁止排序. exp ...

  8. 找不到javax.servlet.Filter类,

    找不到javax.servlet.Filter类, 在构建的依赖包中缺少servlet.api

  9. _2_head_中标签

    创:20_3_2017修:5_4_2017 什么是title标签? --title   页面名(双) -- 整个html的页面名字,相当于一本书的书名 <title>北门吹雪</ti ...

  10. python_tornado_session用户验证

    什么是session? -- Django中带有session,tornado中自己写 -- 逻辑整理 用户请求过来,验证通过,随机生成一个字符串当作value返回给浏览器, 在服务器中用户信息与随机 ...