在制作影片时,视频素材之间最简单的连接方式就是简单的跳转,转场效果可以让视频之间实现自然的切换,它用于控制两个相邻的视频素材如何相互融合在一起,这样看起来会显得很亲切。我们在运用摄像机拍摄时也可以利用它的特效功能获得转场效果,但现在常用的方法是用软件制作,这样更加方便简单。
一、什么是转场
在了解转场之前,我们首先在了解一下镜头组接,所谓镜头组接,即把一个片子的每一个镜头按照一定的/顷序和手法连接起来,成为一个具有条理性和逻辑性的整体,这种构成的方法和技巧叫做镜头组接。它的目的是通过组接建立起作品的整体结构,更好地表达主题;增强作品的艺术感染力,使其成为一个呈现现实、交流思想、表达感情的整体。它需要解决的问题是转换镜头,并使之连贯流畅——逻辑上连贯、视觉上流畅;创造效果,创造新的时空关系和逻辑关系。
影视作品最小的单位是镜头,若干镜头连接在一起形成镜头组,一组镜头经有机组合构成一个逻辑连贯、富于节奏,含义相对完整的**片段,它是导演组织影片素材、揭示思想、创造形象的最基本单位,称为蒙太奇句子。在一般意义上所说的段落转换,有两层含义:一是蒙太奇句子间的转换,二是意义段落的转换,即叙事段落的转换。段落转换是内容发展到一定程度的要求。在影像中段落的划分和转换,是为了使表现内容的条理性更强,层次的发展更清晰。为了使观众的视觉具有连续性,需要利用造型因素和转场手法,使人在视觉上感到段落与段落间的过度自然、顺畅。
二、常用的转场方式
选择、利用合理的组接因素与方法进行场景、段落的转换。转场的方法很多,从连接方式上也可分为技巧转场与无技巧转场两大类。一类是技巧转场。利用特技技巧使两个段落连在一起。其特点是:既容易造成视觉的连贯,又容易造成段落的分隔。技巧转换常用于较大段落的转换上,比较容易形成明显的段落层次。常用方式:淡出淡入(V淡变)、叠化(X淡变)、翻页、划像、圈出圈入、定格等。另一类是无技巧转场。采用直接切换的方式,以镜头的自然过渡来连接两段内容。这种手法多用于镜头组间的画面转换,它在一定程度上加快了电视片的节奏,直接利用镜头的切换进行影片的时空转换、段落过渡在创作上有较大的自由。无技巧的转场方法要注意寻找合理的转换因素和适当的造型因素,使之具有视觉的连贯性,在大段落转换时,又要顾及到心理的隔断性,表达出间歇、停顿和转折的意思。
三、在“会声会影”中添加转场的方法
在“会声会影”中,您可以运用多种特效来实现自然的跳转,即这影片添加转场。具体方法为:
第一步:单击“效果”菜单切换到“效果”步骤,在“效果素材库”中单击“转场效果文件夹”中的下拉列表上的箭头来选择一种类型,这显示的是一个效果画廊;
第二步:查看效果。您可以通过一个个动画略图来查看效果的外观,单击鼠标选中一个转场略图,选中的转场将在预览窗口中显示出来,单击“播放”按钮您可以查看其效果,预览窗口中的A和B分别代表转场效果所连接的两个素材,如果不行再选择其它的转场,直到找到您想要的转场效果为止,如图1;
第三步:添加效果。选择好后用鼠标单击该效果,然后按住鼠标,并将鼠标指针移动到需要添加转场效果的位置,放开鼠标,当前选中的转场将被添加到指定的位置,例如我们选择了“横条”效果;
第四步:调整区间。单击视频轨上的转场效果,然后在“选项面板”中,将选项调成期望的设置,选项面板中的可调整设置将根据所选的转场样式而有所不同。当将转场效果添加到影片中以后,“区间”中设置的时间控制一个场景结束到另一个场景开始之间的转场时间,单击时间码并输入一个数字,可以改变转场持续时间的长短;如图2;
第五步:调整边框和颜色。在文本框中输入数值或者单击右侧的上下箭头,可以指定边框的尺寸,单击右侧的色彩方框,在弹出的色彩下拉菜单中可以直接选择需要使用的边框颜色,也可以选择“友立色彩选取器”或者“Windows色彩选取器”选项,在弹出的对话框中选择自定义的颜色,如图3;
第六步:调整柔化边缘。这里可以指定转场效果和素材之间混合的方式,通过设置合适的混合方式,可以使转场更平缓,创建素材间平滑的过渡效果,其中的4个按钮分别表示柔化边缘的程序,当前处于选中状态的按钮以**显示,按下其中的一个按钮,转场效果与原始素材将按照所选择的方式混合;
第七步:设置转场效果的方向。这里的选项根据所选择的转场类型的不同而变化。有些转场不能指定转场效果的方向,而其他的一些转场可能增加一些新的参数。单击相应的按钮,可以为当前转场指定移动、缩放或旋转的方式
第八步:完成。好了,上面的参数设置好后,单击“应用”按钮即可。如图4。
如果对转场效果感到不满意,还可以进行修改,您可以切换到时间轴模式,并选中添加到视频中的转场,然后在选项面板上进行修改即可。如果您要修改时间,您可以将鼠标指针放在当前选中的转场的一端,鼠标指针变为箭头标志,按住并拖动鼠标,即可改变转场持续的时间,即可改变转场持续的时间。
这样,在播放前一段影片结束过渡到下一段时,影片就会自动按设置的效果播放,增加了影片的感染力。
将各张分布在各个时间轴上,调节好时间长度即可。
AE全称AfterEffect是adobe公司开发的一个视频剪辑及设计软件。AdobeAfterEffects,用于高端视频特效系统的专业特效合成软件,隶属美国Adobe公司。它借鉴了许多优秀软件的的成功之处,将视频特效合成上升到了新的高度:Photoshop中层的引入,使AE可以对多层的合成图像进行控制,制作出天衣无缝的合成效果;关键帧、路径的引入,使我们对控制高级的二维动画游刃有余;高效的视频处理系统,确保了高质量视频的输出;令人眼花缭乱的特技系统使AE能实现使用者的一切创意;AE同样保留有Adobe优秀的软件相互兼容性。
篇一:iOS 8自定义动画转场上手指南
iOS 5发布的时候,苹果针对应用程序界面的设计,提出了一种全新的,革命性的方法—Storyboard,它从根本上改变了现有的设计理念。iOS 5之前,每个视图控制器通常都伴有一个Interface Builder的文件,叫nib或者xib,这个想法比较简单:每个视图控制器的界面应该在各自的nib文件中设计,而所有的nib文件一起构成了整个应用程序的界面。一方面,这个是很方便的,因为它强迫开发者在界面设计的时候将注意力集中在界面上,但另一方面,到最后,太多的文件不得不被创建,开发者将不能概览应用的整体界面。
随着storyboard的产生,上面的这些都成为了历史,因为这种新方法受到了开发者社区的广泛使用。相比老的技术,storyboards提供了三个重要的优势:
整个界面设计只发生在一个文件里。项目的总文件数量大大减少了,特别是在大项目里。当然你可以使用额外的nib文件,并且允许只创建辅助视图。
开发者能即时浏览应用的界面和流程。 视图控制器之间的转换(界面设计的专业术语叫场景(scene)),以及转换是如何发生的,在storyboard中已被完美地定义并清楚地呈现给了开发者。
综上所述,场景之间的转换构成storyboard的特殊部分,我们一般把它叫做转场(segue)。
转场跟应用的导航和处理是密切相关的,因为它明确定义了一个视图切换到另一个视图的转换细节。这些细节指定了是否应用动画,动画的类型,当然还有实际转换时的准备和性能。除此之外,转场也用来将传递数据到下一个视图控制器里,这个用法也很常见。
从编程的角度看,场景是UIStoryboardSegue类的一个对象,它第一次在iOS 5中介绍到。和其它类的对象
不同的是,这种对象不能直接的创建或使用。不过你可以指定转场的属性,然后在转场即将发生时提供给它以达到目的。UIKit框架提供了一些带默认动画过渡的预定义的转场,包括:push segues(包括导航控制器的app),带有动画选择的模态转场(modal segues), popover segues。更高级的情况下,iOS SDK默认的转场可能不够用,所以开发者必须实现他们的自定义转场(custom segues)。 创建一个自定义转场并不难,因为它是iOS标准编程技术的组成部分。实际上你只需要生成UIStoryboardSegue的子类,并重载一个叫perform的方法即可。这个perform方法中必须实现自定义动画的逻辑。从一个视图控制器转换到另一个以及返回操作的触发,也需要由开发者编程提供,这是一个标准的步骤。 在本教程中,我的目标是向你们展示如何实现自定义转场,并通过一个简单的演示应用介绍这个概念的所有方面。拥有创建自定义转场的知识, 可以将你导
向开发更强大的app的道路。此外,对于最大化用户体验,并开发引人注目的漂亮应用,自定义转场也很有帮助。 如果你有兴趣学习我刚刚说的话,就一起来探索教程里的`所有细节和自定义转场的奥秘吧。
应用程序概述不像我之前几个教程提供了一个启动项目,本教程我们将从头开始创建app。事实上,我是故意这么做的,因为,项目中一些重要部分需要用到Interface Builder,所以我认为从头开始按部就班的来做,能让你看清里面的细节。
正如我先前所说,我们将开发一个非常简单的app,在这个应用中我们将创建两个自定义转场。需要提前说明的是,我们的演示应用将有三个视图控制器,也就是在Interface Builder中有三个场景和三个相关类。默认情况下,第一个是由Xcode创建的,因此我们只要再添加两个。我们将创建的自定义转场用来导航第一个视图控制器到第二个
(以及返回),以及从第一个到第三个(以及返回)。第二个和第三个视图控制器之间我们不添加任何联系。
因此,我们需要创建两个自定义转场。因为要包括返回,每一个转场需要创建两个对应的类(因此,共四个):第一个类里我们将实现从第一个视图控制器到另一个转换的所有自定义逻辑。第二个类实现返回到第一个视图控制器的逻辑,或者换句话说要实现解除转场(unwind segue)。后面会讲到解除转场,现在只需要记住这就是用来让我们返回到前一个视图控制器的转场。
视图控制器本身没什么需要做的。我们会用一个label注明视图控制器的名称,每一个会有一个不同的背景颜色,可以让我们很容易地查看转换(是的,这将是一个五颜六色的应用)。第一个和第二个视图控制器也会多一个label,其中从其他视图控制器传来的自定义的消息将被显示出来。
最后,转场将在以下的动作发生的时候
篇二:Swift常用UIView Animation API使用Swift常用UIView Animation API使用
本文默认读者有基础动画编写能力
参数解释
如解释有误,请指出,谢谢
1 duration: 动画执行时间
2 delay:动画延迟执行时间
3 options:
Repeat:动画永远重复的运行
Autoreverse:动画执行结束后按照相反的行为继续执行。该属性只能和Repeat属性组合使用
CurveLinear:动画做线性运动
CurveEaseIn:动画缓慢开始,然后逐渐加速
CurveEaseOut:动画迅速开始,在结束时减速
CurveEaseInOut:动画慢慢开始,然后加速,在结束之前减速TransitionNone:没有转场动画
TransitionFlipFromTop :从顶部围绕水平轴做翻转动画 TransitionFlipFromBottom:从底部围绕水平轴做翻转动画
TransitionFlipFromLeft :从左侧围绕垂直轴做翻转动画
TransitionFlipFromRight:从右侧围绕垂直轴做翻转动画
TransitionCurlUp:从下往上做翻页动画
TransitionCurlDown :从上往下做翻页动画
TransitionCrossDissolve:视图溶解消失显示新视图动画
4 usingSpringWithDamping:弹簧阻力,取值范围为00-10,数值越小“弹簧”振动效果越明显。
5 initialSpringVelocity:动画初始的速度(pt/s),数值越大初始速度越快。但要注意的是,初始速度取值较高而时间较短时,也会出现反弹情况。普通动画
animateWithDuration:delay:options:animations:completion: class func animateWithDuration(_ duration: NSTimeInterval,
delay delay: NSTimeInterval,
options options: UIViewAnimationOptions,
animations animations: () -> Void,
completion completion: ((Bool) -> Void))
Animate changes to one or more views using the specified duration, delay, options, and completion handler
对一个或者多个视图按照相应参数做固定动画(翻译纯属个人见解,有错请指出)
animateWithDuration:delay:usingSpringWithDamping:initialSpringVelocity:options:animations:completion:
class func animateWithDuration(_ duration: NSTimeInterval,
delay delay: NSTimeInterval,
usingSpringWithDamping dampingRatio: CGFloat,
initialSpringVelocity velocity: CGFloat,
options options: UIViewAnimationOptions,
animations animations: () -> Void,
completion completion: ((Bool) -> Void))
Performs a view animation using a timing curve corresponding to the motion of a physical spring
对一个视图按照相应参数做弹性动画(类似于弹簧,翻译纯属个人见解,有错请指出)
借鉴Renfei Song's Blog,只为更清楚的展示调用两个API的不同效果
Spring Animation 和普通的动画的运动曲线的对比:
Spring Animation, Ease-Out Animation 和 Linear Animation 的动画效果:
转场动画
transitionWithView:duration:options:animations:completion: class func transitionWithView(_ view: UIView,
duration duration: NSTimeInterval,
options options: UIViewAnimationOptions,
animations animations: (() -> Void),
completion completion: ((Bool) -> Void))
Creates a transition animation for the specified container view为指定的视图构建一个过渡动画(翻译纯属个人见解,有错请指出)transitionFromView:toView:duration:options:completion:
class func transitionFromView(_ fromView: UIView,
toView toView: UIView,
duration duration: NSTimeInterval,
options options: UIViewAnimationOptions,
completion completion: ((Bool) -> Void))
Creates a transition animation between the specified views using the given parameters
在两个给定视图之间构建过渡动画(翻译纯属个人见解,有错请指出)
以上为UIView Animation的基础动画API,使用其实很简单,就是要理解不同参数的意义。
篇三:iOS开发学习之核心动画
核心动画基本概念
基础动画(CABasicAnimation)
关键帧动画(CAKeyframeAnimation)
动画组
转场动画-CATransition
UIView的转场动画-双视图
一、核心动画基本概念
1导入QuartzCoreframework框架
开发步骤
1)初始化一个动画对象(CAAnimation)并且设置一些动画相关属性
2)CALayer中很多属性都可以通过CAAnimation实现动画效果,包括:opacity、position、transform、bounds、contents等(可以在API文档中搜索:CALayer Animatable Properties)
3)添加动画对象到层(CALayer)中,开始执行动画
4)通过调用CALayer的addAnimation:forKey增加动画到层(CALayer)中,这样就能触发动画。通过调用removeAnimationForKey可以停止层中的动画
5)Core Animation的动画执行过程都是后台操作的,不会阻塞主线程
2属性
1)duration:动画的持续时间
2)repeatCount:重复次数(HUGE_VALF、MAX FLOAT无限重复)
3)repeatDuration:重复时间(用的很少)
4)removedOnCompletion:默认为Yes。动画执行完后默认会从图层删除掉
5)fillMode
6)biginTime
7)timingFunction:速度控制函数,控制动画节奏
8)delegate
二、基础动画(CABasicAnimation)
如果只是实现简单属性变化的动画效果,可以使用UIView的块动画替代基本动画
1属性说明
-fromValue:keyPath相应属性值的初始值
-toValue:keyPath相应属性的结束值
2动画过程说明:
-随着动画的就行,在duration的持续时间内,keyPath相应的属性值从fromValue渐渐变为toValue
-keyPath内容是CALayer的可动画Animation属性
-如果fillMode=kCAFillModeForwards同时removedOnCompletion=NO,那么在动画执行完毕后,图层会保持显示动画执行后的状态,但在实质上,图层的属性值还是动画执行前的初始值,并没有真正改变
3代码实现
位移需要考虑目标点设定的问题
1将动画的所有方法封装到一个类里面
MyCAHelperh
#import
#import
#define kCAHelperAlphaAnimation @"opacity"; // 淡入淡出动画 #define kCAHelperScaleAnimation @"transformscale";// 比例缩放动画
#define kCAHelperRotationAnimation @"transformrotation";// 旋转动画
#define kCAHelperPositionAnimation @"position"; // 平移位置动画
@interface MyCAHelper : NSObject
#pragma mark - 基本动画统一调用方法
+ (CABasicAnimation )myBasicAnimationWithType:(NSString )animationTypeduration:(CFTimeInterval)duration from:(NSValue )from
to:(NSValue )to
autoRevereses:(BOOL)autoRevereses;
#pragma mark - 关键帧动画方法
#pragma mark 摇晃动画
+ (CAKeyframeAnimation
)myKeyShakeAnimationWithDuration:(CFTimeInterval)duration
angle:(CGFloat)angle
repeatCount:(CGFloat)repeatCount;
#pragma mark 贝塞尔路径动画
+ (CAKeyframeAnimation )myKeyPathAnimationWithDuration:(CFTimeInterval)durationpath:(UIBezierPath )path;
#pragma mark 弹力仿真动画
+ (CAKeyframeAnimation )myKeyBounceAnimationFrom:(CGPoint)from
to:(CGPoint)to
duration:(CFTimeInterval)duration;
@end
MyCAHelperm
#import "MyCAHelperh"
@implementation MyCAHelper
#pragma mark - 基本动画统一调用方法
+ (CABasicAnimation )myBasicAnimationWithType:(NSString )animationTypeduration:(CFTimeInterval)duration
from:(NSValue )from
to:(NSValue )to
autoRevereses:(BOOL)autoRevereses
{
// 1 实例化一个CA动画对象
CABasicAnimation anim = [CABasicAnimation animationWithKeyPath:animationType];
// 2 设置动画属性
[anim setDuration:duration];
[anim setFromValue:from];
[anim setToValue:to];
[anim setAutoreverses:autoRevereses];
return anim;
}
#pragma mark - 关键帧动画方法
#pragma mark 摇晃动画
+ (CAKeyframeAnimation
)myKeyShakeAnimationWithDuration:(CFTimeInterval)duration
angle:(CGFloat)angle
repeatCount:(CGFloat)repeatCount
{
// 1 初始化动画对象实例
CAKeyframeAnimation anim = [CAKeyframeAnimation
animationWithKeyPath:@"transformrotation"];
// 2 设置动画属性
[anim setDuration:duration];
[anim setValues:@[@(angle), @(-angle), @(angle)]];
[anim setRepeatCount:repeatCount];
return anim;
}
#pragma mark 贝塞尔路径动画
+ (CAKeyframeAnimation )myKeyPathAnimationWithDuration:(CFTimeInterval)duration path:(UIBezierPath )path
{
// 1 初始化动画对象实例
CAKeyframeAnimation anim = [CAKeyframeAnimation
animationWithKeyPath:@"position"];
// 2 设置动画属性
[anim setDuration:duration];
欢迎分享,转载请注明来源:表白网
评论列表(0条)