《Adobe After Effects CS6完全剖析》——导读

前 言

为什么要编写本书?

本书是一本关于创建视觉特效的书,是专门介绍怎样组装完全不同的元素,并使其看起来像是用一台单独的摄影机拍摄出来的科学和艺术的书。当有人问我这本书介绍的到底是什么的时候,我告诉他们,这本书介绍了艺术家怎样在一台电脑上组装多个镜头,并使之看起来像是使用一台摄影机拍摄的;还介绍了怎样使平凡的镜头变得不平凡,同时使人深信不疑。

本书的主题非常明显,将深入探讨其他After Effects图书只会浅尝辄止的核心主题:视觉特效。我们将主要介绍校色、键控、跟踪、创建动态蒙版等方面的内容,而将或多或少地忽略更专用于运动图形的工具(文本、形状层)。这并不是意味着在After Effects中这些工具不重要,而是在本书中不适合详细地介绍它们的使用。

作为作者,我没有回避一些很有主见的观点,即使这些观点与正统观点有着很大的差异。这些观点和技术,是在使用世界上一些最先进的视觉特效制作设施,制作视觉特效的过程中形成的,不仅适用于“高端”的制作,也适用于任何的视觉特效合成。只要合适,我们就会给出使用某种技术而不使用另一种技术的理由。我不希望你仅仅成为一名可以熟练操作软件的人,而应当成为一名在行业内有影响力的艺术家和技术人员。

视觉特效制作行业一直有着保守商业机密的传统,这个行业经常把所有的制作信息都视为独有的。不过,在处理一个大项目时,你很快就会发现,即使是最复杂的镜头,在很大程度上也是由可重复的技术和操作组成的;这里所谓的“技术”是指如何应用、组合和自定义这些操作,以及需要从这些操作中添加(或去除)什么内容。同时,视觉特效艺术家们可以彻底并友好地共享他们的发现,要知道这是艺术,而不是最终使差距更大的智慧的魔术袋。

每个镜头都是独一无二的,并且每个镜头的拍摄都依赖于试图使用的技术。本书将尽可能多地告诉你应当使用的技术,这样你就可以集中精力关注镜头。这里没有太多逐步的指导,理解软件的工作原理更重要,这样你就可以将技术应用到自己的每个镜头上。

本书并不是为初学者准备的。尽管第一部分旨在确保你最佳地使用软件,但这并不是一本讲述After Effects或者数字视频的启蒙读物。如果你是After Effects新手,那你要先花一些时间阅读它的优秀帮助文档,或者读一些可以帮助初学者学会如何使用After Effects的书籍。

另一方面,如果你精通Photoshop,并熟悉视觉特效的处理过程,那么在使用After Effects时会更有优势,如果你已经阅读过这本书,可以尝试钻研本书中重新设计过的第1章,并让我知道学习效果如何。

目 录

[第一部分 工作基础
第1章 After Effects 中的合成
合成基础](/)
合成是把元素A放置到元素B上,还不只这些
正确的设置
使用用户界面
在After Effects中的“特效”:插件和动画预设
输出:渲染队列和替代选择
按逻辑组装镜头
[第2章 时间标尺
营造整洁的工作流程之梦](/)
定时:关键帧和图形编辑器
必要的快捷键
动画:最重要的是关系
精确的运动模糊
定时与重定时
弹力球教给你些什么
第3章 选择:合成的关键
第4章 优化项目
第二部分 特效合成基础
第5章 校色
第6章 抠像
第7章 动态蒙版和绘画
第8章 有效的运动跟踪
第9章 摄影机和光学原理
第10章 表达式
第11章 高级色彩选项和HDR
第三部分 创造性探索
第12章 颜色与光线
第13章 气候与环境
第14章 烟火特效:热量、火焰与爆炸

时间: 2024-07-29 07:57:37

《Adobe After Effects CS6完全剖析》——导读的相关文章

《深入理解Scala》——第1章,第1.2节当函数式编程遇见面向对象

1.2 当函数式编程遇见面向对象 深入理解Scala 函数式编程和面向对象编程是软件开发的两种不同途径.函数式编程并非什么新概念,在现代开发者的开发工具箱里也绝非是什么天外来客.我们将通过Java生态圈里的例子来展示这一点,主要来看Spring Application framework和Google Collections库.这两个库都在Java的面向对象基础上融合了函数式的概念,而如果我们把它们翻译成Scala,则会优雅得多.在深入之前,我们需要先理解面向对象编程和函数式编程这两个术语的含义

《深入理解Scala》——第1章,第1.4节与JVM的无缝集成

1.4 与JVM的无缝集成 深入理解Scala Scala的吸引力之一在于它与Java和JVM的无缝集成.Scala与Java有很强的兼容性,比如说Java类可以直接映射为Scala类.这种紧密联系使Java到Scala的迁移相当简单,但在使用Scala的一些高级特性时还是需要小心的,Scala有些高级特性是Java里没有的.在Scala语言设计时已经小心地考虑了与Java无缝交互的问题,用Java写的库,大部分可以直接照搬(as-is)到Scala里. 1.4.1 Scala调用Java 从S

《深入理解Scala》——第2章,第2.1节学习使用Scala交互模式(REPL)

第2章 核心规则深入理解Scala 本章包括的内容: • 使用Scala交互模式(Read Eval Print Loop 简称REPL) • 面向表达式编程 • 不变性(Immutability) • Option类 本章内容覆盖了每个新Scala开发者都需要知道的几个主题.本章不会深入到每个主题里,但是会讲到可以让你自己去接着探索的程度.你将学会使用REPL,学会如何利用这个工具做软件的快速原型开发.然后我们会学到面向表达式编程,并从另一个视角来看控制结构是怎么回事.在此基础上,我们来研究不

《深入理解Scala》——第1章,第1.3节静态类型和表达力

1.3 静态类型和表达力 深入理解Scala 开发人员中有一个误解,认为静态类型必然导致冗长的代码.之所以如此是因为很多继承自C的语言强制要求程序员必须在代码中多处明确地指定类型.随着软件开发技术和编译器理论的发展,情况已经改变.Scala利用了其中一些技术进步来减少样板(boilerplate)代码,保持代码简洁. Scala做了以下几个简单的设计决策,以提高代码表达力. • 把类型标注(type annotation)换到变量右边. • 类型推断. • 可扩展的语法. • 用户自定义的隐式转

《深入理解Scala》——第1章,第1.5节总结

1.5 总结 深入理解Scala 本章中,你学到了一些Scala的设计理念.设计Scala的初衷在于把不同语言中的多种概念融合起来.Scala融合了函数式和面向对象编程,尽管显然Java也已经这么做了.Scala精选其语法,极大地减少了语言中的繁冗之处,使一些强大的特性可以优雅地表达,比如类型推断.最后,Scala和Java能够紧密集成,而且运行在Java虚拟机上,这或许是让Scala变成一种实用选择的最重要的一点.几乎不花代价就可以把Scala用于我们的日常工作中. 因为Scala融合了多种概

《深入理解Scala》——第1章,第1.1节Scala一种混合式编程语言

第1章 Scala--一种混合式编程语言 Scala是一种将其他编程语言中的多种技巧融合为一的语言.Scala尝试跨越多种不同类型的语言,给开发者提供面向对象编程.函数式编程.富有表达力的语法.静态强类型和丰富的泛型等特性,而且全部架设于Java虚拟机之上.因此开发者使用Scala时可以继续使用原本熟悉的某种编程特性,但要发挥Scala的强大能力则需要结合使用这些有时候相互抵触的概念和特性,建立一种平衡的和谐.Scala对开发者的真正解放之处在于让开发者可以随意使用最适合手头上的问题的编程范式.

《深入理解Scala》——第2章,第2.2节优先采用面向表达式编程

2.2 优先采用面向表达式编程 深入理解Scala 面向表达式编程是个术语,意思是在代码中使用表达式而不用语句.表达式和语句的区别是什么?语句是可以执行的东西,表达式是可以求值的东西.在实践中这有什么意义呢?表达式返回值,语句执行代码,但是不返回值.本节我们将学习面向表达式编程的全部知识,并理解它对简化程序有什么帮助.我们也会看一下对象的可变性,以及可变性与面向表达式编程的关系. 作者注:语句VS表达式 语句是可以执行的东西,表达式是可以求值的东西. 表达式是运算结果为一个值的代码块.Scala

《深入理解Scala》——第2章,第2.3节优先选择不变性

2.3 优先选择不变性 深入理解Scala 编程中的不变性指对象一旦创建后就不再改变状态.这是函数式编程的基石之一,也是JVM上的面向对象编程的推荐实践之一.Scala也不例外,在设计上优先选择不变性,在很多场景中把不变性作为默认设置.对此,你可能一下子会不适应.本节中,我们将学到不变性对于判等问题和并发编程能提供什么帮助. Scala里首先要明白的是不变对象和不变引用(immutable referene)的区别.Scala里的所有变量都是指向对象的引用.把变量声明为val意味着它是个不变"引

《深入理解Scala》——第2章,第2.4节用None不用null

2.4 用None不用null深入理解Scala Scala在标准库里提供了scala.Option类,鼓励大家在一般编程时尽量不要使用null.Option可以视作一个容器,里面要么有东西,要么什么都没有.Option通过两个子类来实现此含义:Some和None.Some表示容器里有且仅有一个东西,None表示空容器,有点类似List的Nil的含义. 在Java和其他允许null的语言里,null经常作为一个占位符用于返回值,表示非致命的错误,或者表示一个变量未被初始化.Scala里,你可以用

《深入理解Scala》——第2章,第2.5节多态场景下的判等

2.5 多态场景下的判等 深入理解Scala 众所周知,为多态的面向对象系统定义合适的判等和散列方法是个特别难的过程.这是因为子类可能在整个过程中造成一些相当怪异的问题,尤其是当类型层次上有多个实体(concrete)级别的时候.一般来说,对于需要比引用判等更强的判等(译者注:比如需要判断对象内部数据)的类,最好避免多层实体类层次.这是什么意思呢?有些时候类只需要引用判等就够了.也就是说只要两个对象不是同一个实例就判为不等.但是如果我们需要判断两个不同实例是否相等,而且又有多层实体类层次(mul