关键帧

使用ivx制作进场动画的经验总结

家住魔仙堡 提交于 2020-04-01 01:00:43
在案例制作中为了让展示效果更加精致,可能用到一些进场的小动效。今天使用时间轴和轨迹做了3个小样例给大家作为一个参考。轨迹在之前的帖子里已经讲过了,时间轴可能还比较陌生,可以把它理解为一个对轨迹进行管理的组件。因为有时案例中会有很多组件都分别有各自的轨迹,而它们又是为了实现一个总体效果,这时就会把这些子组件都添加到一个时间轴里统一管理。 一.循环翻转 这个动效比较简单,时间轴内只有一个按钮对象,我们将它设置成一个正方形并添加上一个轨迹即可。 因为做的是一个进场动画的效果,所以我们需要开启自动播放和循环播放(动画出现了却不动或者就播放一遍会冷场的呀)。原始时长控制的是下面时刻表的长度,时刻越长我们则可以添加更多的关键帧使控制更加精确,当然我们也可以通过改变播放速度设置案例实际运行时时间轴播放的时长。 我们要做的效果是让这个正方形绕X轴旋转180°,再绕Y轴旋转180°,所以一共需要添加3个关键帧。因为是循环播放,那么最开始的关键帧和最末尾的关键帧组件的状态一定要一致,这样循环播放的时候才能流畅衔接(X轴或Y轴旋转设置180°与0°静态看是一样的)。 二.循环分合 这个动画我们要实现的是四个小圆向中间移动直到重叠在一起,然后各自回到初始位置再重新开始下一次播放的效果。我们在时间轴里添加好四个椭圆组件,给每个椭圆添加一个轨迹。 设置上依旧是时间轴的初始状态与末尾状态要一致

Cocos2d-x——CocosBuilder官方帮助文档翻译3 动画

柔情痞子 提交于 2020-03-17 06:35:16
Working with Animations 动画 You can use CocosBuilder for creating character animations, animating complete scenes or just about any animation you can imagine. The animation editor has full support for multiple resolutions, easing between keyframes, boned animations and multiple timelines to name a few of the features. 你可以使用CocosBuilder创建角色动画,场景动画或者其他一些动画。动画编辑器完全支持多分辨率,动画关键帧,骨骼动画以及多条时间轴等功能。 The Basics 基础 In the bottom of the main window you can find the timeline. You use the timeline to create your animations. 在下图中你可以看到时间轴,你可以使用时间轴来创建你的动画。 By default your ccb-file has a single timeline that is

CSS3动画之二:Animations功能

和自甴很熟 提交于 2020-03-14 23:13:38
  Animations功能与Transitions功能相同,都是通过改变元素的属性值来实现动画效果,不同之处是:Transitions功能只能通过改变指定属性的开始值与结束值,然后再这两个属性值之间进行平滑的过渡来实现动画效果。所以Transitions功能不能实现比较复杂的动画效果;Animations功能可以定义多个关键帧以及定义每个关键帧中元素的属性值来实现复杂的动画效果。   首先明白了Animations功能的工作原理,下面就通过一个实例来看一下Animations功能的用法:(到目前为止Safari 4+、Chrome 2+对Animations功能提供支持)。 代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <title>Animations功能使用方法</title> 6 <style> 7 div { 8 background-color: red; 9 }10 @-webkit-keyframes mycolor {11 0% {12 background-color: red;13 }14 40% {15 background-color: darkblue;16 }17 70% {18 background-color: yellow;19 }20 100%

cocos2d-x开发记录:二,基本概念(骨骼动画)

蹲街弑〆低调 提交于 2020-03-07 07:48:45
九,骨骼动画 1.骨骼动画vs Sprite sheets 你能使用sprite sheets 创建动画,它很快又容易。直到你意识到你的游戏需要大量的动画并且内存消耗越来越高,并且需要时间载入全部数据。为了限制大小,你需要为动画限制到比较低的FPS,然后动画看起来不会如你所期望的那么平滑。这时你就需要骨骼动画了。 2.骨骼动画简介 骨骼动画在cocos2d-x动画是一个技术,一个角色由两部分组成:一个显示的表皮和类似人骨头样的网格。 Cocos2d-x提供了一种方式来在你的应用程序中使用2 D骨骼动画。骨骼动画设置的过程可能有些复杂,但使用起来很容易,当然有一些工具能简化这个过程。当使用骨骼动画时,动画是由几个骨头批次连接组成。影响一个骨头也会影响它下面的所有子元素。通过在每个骨头不同的组合转换,你可以获得不同姿势的骨架。 如果对于一个时间点的每个骨骼使用某个转换定义关键帧,你能插入关键帧来让骨骼动画更为平滑。附加代码中,我使用一个类,名叫Transformation,它包含2D转换数据,如平移,旋转,缩放。然后一个关键帧通过一个帧数被定义成一个这样的转换。一个关键帧定义了一个KeyframeAnimation的集合。最后一个SkeletonAnimation是一个KeyframeAnimations集合,一个用于每个骨骼。另外,你使用一个骨骼,保持关节的列表定义骨骼的层次结构

关键帧动画

别来无恙 提交于 2020-03-06 02:01:09
到目前为止,看到的所有动画都使用线性插值从起点到终点。但如果需要创建具有多个分段的动画和不规则移动的动画。例如,可能希望创建一个动画,快速地将一个元素滑入到视图中,然后慢慢地将它移到正确位置。可通过创建两个连续的动画,并使用BeginTime属性在第一个动画之后开始第二个动画来实现这种效果。然而,还有更简单的方法——可使用关键帧动画。   关键帧动画是由许多较短的段构成的动画。每段表示动画中的初始值,最终值或中间值当运行动画时,它平滑地从一个值移到另一个值。   例如,分析下面的将RadialGradientBrush画刷的中心点从一个位置移到另一个位置的Point动画: <PointAnimation Storyboard.TargetName="ellipse" Storyboard.TargetProperty="Fill.GradientOrigin" From="0.7,0.3" To="0.3,0.7" Duration="0:0:10" AutoReverse="True" RepeatBehavior="Forever"> </PointAnimation>   可使用一个效果相同的PointAnimationUsingKeyFrames对象代替这个PointAnimation对象,如下所示: 复制代码 <PointAnimationUsingKeyFrames

iOS:核心动画之关键帧动画CAKeyframeAnimation

点点圈 提交于 2020-03-02 01:26:08
CAKeyframeAnimation——关键帧动画 关键帧动画,也是CAPropertyAnimation的子类,与CABasicAnimation的区别是: –CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值 – 属性说明: –values:上述的NSArray对象。里面的元素称为“关键帧”(keyframe)。动画对象会在指定的时间(duration)内,依次显示values数组中的每一个关键帧 –path:可以设置一个CGPathRef、CGMutablePathRef,让图层按照路径轨迹移动。path只对CALayer的anchorPoint和position起作用。如果设置了path,那么values将被忽略 –keyTimes:可以为对应的关键帧指定对应的时间点,其取值范围为0到1.0,keyTimes中的每一个时间值都对应values中的每一帧。如果没有设置keyTimes,各个关键帧的时间是平分的 CABasicAnimation可看做是只有2个关键帧的CAKeyframeAnimation 具体的关键帧实例如下: 实例一:设置改变的属性值为透明度opacity,触摸屏幕时,动画开始执行, 动画执行过程中,动画的透明度逐渐变浅

iOS UIView动画实践(五):Keyframe Animation

十年热恋 提交于 2020-02-28 17:19:03
前言 有些时候大家可能会遇到制作复杂、具有连贯性UIView动画的需求,这时大家可能会使用在 completion 闭包中衔接一段一段的动画,使之成为一段连续的动画。 如果我们只是连接2个,或者3个动画,这种方式或许还行得通,但如果有更多的动画片段需要连接的时候,这种方式会带来灾难性的问题,你的代码会非常的冗余,不断的在 completion 闭包中嵌套代码,使代码维护起来相当的困难。所以今天向大家介绍能更好地实现这个需求的方法,Keyframe动画。 Keyframe动画可以让我们有效的拆分由若干段动画连接而成的复杂动画,可以较为精准的定义每段动画的起始点及持续时间,并且在代码组织方面也非常清晰。先看看今天要带大家实现的动画Demo:            使用场景 我们先来认识一下,在什么样的场景下需要使用Keyframe动画。如图下所示,这是一个由四段动画组成的一个复杂动画,让UIView沿着长方形的轨迹运动: 我们来看看用代码如何实现: [cpp] view plain copy UIView.animateWithDuration(1, animations: { view.center.x += 200.0 }, completion: { _ in UIView.animateWithDuration(1, animations: { view.center.y +=

ORBSLAM2代码学习(3):tracking 线程 - - track local map

谁都会走 提交于 2020-02-25 20:06:14
基于 此文 的基础上对track local map 记下自己的理解。 局部地图跟踪流程(Tracking::TrackLocalMap()) 第一步:寻找局部地图的关键帧,假设有n个关键帧(这里的关键帧和local mapping中的关键帧不同,local mapping中的关键帧应该是从这里的关键帧选出来的)。将这n个关键帧看到的全部地图点的总和视为局部地图的地图点。(UpdateLocalMap()) 第二步:将当前帧视野范围内的地图点和当前帧的特征点进行投影匹配,在局部地图的全部地图点中查找与当前帧匹配的MapPoints。(SearchLocalPoints()) 第三步:用pnp对当前帧的位姿进一步优化,这样就用到了更多的信息。(PoseOptimization(&mCurrentFrame)) 参考自上文,相机位姿跟踪与局部地图跟踪之间有什么区别和联系? 在相机位姿跟踪过程中,不论是运动模型跟踪还是参考关键帧模型,他们都是根据上一帧的位姿来初步确定当前帧的位姿,然后对位姿进行优化。在该过程中,确定相机位姿的时候只用到了当前帧之前的一帧或两帧图像。对之前数据的利用程度不高。 在局部地图跟踪过程中,局部地图更新的前提是必须知道当前帧的姿态和地图点(尽管可能不准确)。然后局部地图地图点与当前帧地图点进行匹配,然后进行当前帧的位姿优化。在该过程中

欧拉角研究 

吃可爱长大的小学妹 提交于 2020-02-21 05:28:28
https://www.cnblogs.com/liuzhenbo/p/10749458.html 欧拉角研究  对于在三维空间里的一个参考系,任何其它坐标系的取向,都可以用三个欧拉角来表现。参考系又称为实验室参考系,是静止不动的。而坐标系则固定于刚体,随着刚体的旋转而旋转。   欧拉角是用来表示三维坐标系中方向和方向变换的。我们平时说的欧拉角其实还可以细分为欧拉角(Euler-angles)和泰特布莱恩角(Tait-Bryan-angles),这两种方法都利用了笛卡尔坐标系的三轴作为旋转轴,主要区别在于选取顺序。欧拉角的选取顺序有 这6种,可见选取顺序是a,b,a这样的顺序,也就是绕a轴旋转某角度后,绕新生成的b轴旋转一个角度,最后绕两次旋转以后的a轴再旋转一个角度,以此表示最终的方向。泰特布莱恩角的旋转轴选取有 这6种,也就是历遍笛卡尔坐标系的三轴,比如我们最常见到的Roll-Pitch-Yaw角就是其中 的情况。但这两种方法,其实都是在空间中用最直观的方式和最少的参数表示任意方向的通用方法。 (一) zxz顺序欧拉角 如下图所示。设定xyz-轴为参考系的参考轴XYZ-轴为物体上的坐标系轴。称xy-平面与XY-平面的相交为交点线,用英文字母(N)代表。zxz顺规的欧拉角可以静态地这样定义 α 是x-轴与交点线的夹角, β 是z-轴与Z-轴的夹角, γ 是交点线与X-轴的夹角。

Pr剪辑

断了今生、忘了曾经 提交于 2020-02-18 21:23:18
目录 Pr剪辑教程 入门基础 创建序列类别 导出文件 导入各类别素材 剪辑素材常用方法 剪辑速度 画面定格效果 添加转场 调整音频素材音量 音频过渡 音频素材添加效果 关键帧 嵌套序列 字幕 蒙版 视频特效 无缝转场技巧 急摇转场: 遮罩转场 丝滑缩放转场 PR上分剪辑教程系列 电子相册案例 动漫混剪 音效 摄影三要素 调色 绿幕抠图 延时摄影 Pr剪辑教程 入门基础 打开创建序列方法: 文件选项 => 新建 => 新建序列 快捷键 Ctrl + N 创建序列类别 国内一般使用25帧率 逐行扫描的形式 类别 对应选项 标清(4:3) DV-PAL 标准48kHz 帧大小为(720h 576v) 标签(16:9) DV-PAL 宽屏48kHz 帧大小为(720h 576v) 高清(4:3) DVCPROHD 720p50 帧大小为(960h 720v) 高清(16:9) 带HD序列下 720p25 帧大小为(1280h 720v) 超高清(4:3) XDCAM HD 1080p25 帧大小为(1440h 1080v) 超高清(16:9) 带HD序列下 1080p25 帧大小为(1920h 1080v) 处理非正常序列 方法一:直接拖到时间轴面板 方法二: 已有一个假设为标清16:9的序列 选择该序列后 将素材拖到该序列的时间轴上 会出现下面提示: 选择保持现有设置 将保持原有标清16