跳至主要内容

经典的树木生长系列

今天不知道为啥,特别对那个树的生长动作,特别有兴趣,用FLASH做出来的效果让不是很满意,搜啊搜的,找到了一个,原来是用After Effects做的,Adobe做的东西真牛。
盘旋繁复的花叶图案慢慢在暗色的背景上卷曲地生长出来,极富形式美感。下面我们就跟着作者用Photoshop和AfterEffects来制作这样的美丽效果。
下面是完成的动画效果:
  
1,首先,我们用Photoshop将花纹描绘出来,并用将每一条花纹分离出来,每一条一层。我这个图案分为四部分,也就是四层。导入AfterEffects。
  
2,将其他层关闭,我们先对其中的一层进行处理,在这层上面新建一层SOLID,将SOLID层显示关闭,用MASK工具在这层上沿着花纹的走向描一条曲线。
  
3,然后施加一个3D STROKE滤镜,调整合适的粗细,使它能将花纹完全遮盖。
  
4,在第0帧、第2秒和第3秒处分别调整offeset的值为-100、0、100,使线条生长并消失,根据你的需要调整速度快慢。
  
5,将花纹层的TrkMat设置为luma matte solid,也就是把这个SOLID层设为花纹层的遮照,即可实现花纹的生长和消失。
  
6,重复上面的步骤,将其他三个层做同样的处理,即可实现整个花纹的生长,注意速度稍有差别会更好看一些。
7,另外再开一个COMP,把做好的效果做为一层导入这个COMP,复制一个,做旋转、放大,以丰富画面。
  
当然也有其他的方法可以实现,这个方法可以充分利用3D STROKE的功能。

评论

此博客中的热门博文

Python学习笔记20100117

映射list   Dictionary 是用{}. list 是一那个[]. turple是用() 当你定义过dictionary后,你可以使用d.keys(), d.values(),d.items()将定义后的时候分别显示出来 当然可以将list里的值加减乘除,也可以如一般的定义直接重新复制这个list. 链接与分割字符串的 li=";", join(li) 则显示的就是 分隔符为;的数 如果使用li=li.split(";")则将刚刚;的分隔符删除,而split里也可定义域,如li.split(";",1)   自省 <---这是啥 之前在使用的时候发觉有些书本上的模块不能调用,很多是py脚本定义过的函数。 下载该脚本s,然后上传至指定位置。 >>>import sys >>>sys.path >>>sys.path.append("绝对位置")然后就能调用这些脚本和参数了。 删除 >>>sys.path.pop() 定义一个参数是 def info(test, test1=10.test2=12): info是函数名,test是必备参数,因为没有定义值,test1和test2是可选参数,定义了初始值   以上是外部函数的调用,下面转到内部函数 内部函数有type,str,dir及其他   ---type 返回任意字符的类型,模块也可以。types模块 >>> type(1) <type 'int'> >>> li=[] >>> type(li) <type 'list'> >>> import odbchelper >>> type(odbchelper) <type 'module'> >>> type(sys) <type 'module'> >>> import types ...

4 steps to delete account in Gerrit DB

4 steps to delete account in DB. Delete from accounts where preferred_email=’’; delete from account_ssh_keys where account_id=''; delete from account_external_ids where external_id='gerrit:*’; delete from account_external_ids where external_id='username:*’; whatever it was in H2 database and postgres db . H2: ssh -p 24198 localhost gerrit gsql Postgres: psql

Python学习笔记20100128

methodList = [method for method in dir(object) if callable(getattr(object, method))] ###插一句, ifconfig pcn0 unplumb 去禁solaris的网卡plumb起网卡   and, or  已经and-or一起用。 and 两者为真,print第二个数,一个为假一个为真返回假,三者为真返回最后一个真。 or 两个为真,返回第一个, 一个为假一个为真返回真,三者为假返回最后一个假   lambda可快速定义最小值函数   g = lambda x:x*2 g(3) 6 (lambda x:x*2)(3)   doc string print getattr(object,mothod).__doc__   ljust ljust 用空格填充字符串以符合指定的长度。info 函数使用它生成了两列输出并将所有在第二列的 doc string 纵向对齐。 如果小于的话不会从中截断   -----面向对象 首先导入,你可以选择import module or from module import module 如果你要经常访问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module import。 如果你想要有选择地导入某些属性和方法,而不想要其它的,使用 from module import。 如果模块包含的属性和方法与你的某个模块同名,你必须使用 import module 来避免名字冲突   -----类的定义 class Lofs    pass   这个类的名字是 Loaf,它没有从其它类继承。 类名通常是第一个字母大写,如:EachWordLikeThis,但这只是一个习惯,不是一个必要条件。   这个类没有定义任何方法或属性,但是从语法上,需要在定义中有些东西,所以你使用 pass。这是一个 Python 保留字,仅仅表示 “向前走,不要往这看”。它是一条什么都不做的语句,当你删空函数或类时,它是一个很好的占位符。   你可能猜...