前两天在《火星》上看到一些表达式的教程,觉得挺有意思的,可惜大多数似乎是国外教程的翻译,缺乏国人自己写的表达式高级教程,CDV上关于表达式的部分更是少之又少,觉得有些不服气,斗胆上载一篇。
之前需要说明的是,这篇教程是为了我即将出版的一本论文集中的一篇文章,是我和我的两位同事yingcheng、guyi共同原创的。这里上载的是这篇论文的一部分(简化版)。由于要出版,所以未经本人同意请勿转载,谢谢!
上面这张图的材质和灯光是在After Effects中渲染的。我们的论文的题目是:
合成软件中的灯光造型 ——三维物体在合成软件中的光位以及色彩的协调
何清超 应诚 管熠

在后期合成中调整光位也许是每个高级合成师的梦想。所以有些合成软件如Digital Fusion、Shake等均以内置或外挂插件的形式引入了这个概念。
其实后期调光概念的原理并不复杂。首先,几乎所有的三维软件都可以根据模型的表面形状,算出一张所谓物体的法线图,Shake和Digital Fusion都可以识别这种后缀为*.norm的文件,并将其转化成可视的图形。
这是一幅将物体表面的法线转化成色彩的图形,再用key的原理根据色彩选出灯光照射的位置。
由于Shake和Digital Fusion目前的版本(Shake 3.5和Digital Fusion 4.0)没有三维场景,所以它们只能用颜色来模拟光位,不直观并且准确度低。还有就是上面所提到的这些方法只考虑了物体的法线与灯光的交互,没有引入摄像机观察角的概念,所以对运动场景的处理问题很大,以至于现在仍然停留在概念状态,实际应用的例子非常少见。
After Effect早在5.0时期就引入了真三维的概念,有三维的摄像机和灯光,这就为法线方式后期打灯光铺平了道路。以下将要介绍的,就是如何在动态(物体是动态,摄像机也是动态)的三维场景中,用法线算法得到法线图,在后期合成软件中给这个物体打灯的方法。并且灯光的位置还可以由合成软件中灯光的位置来精确模拟,摄像机的运动也可以准确的反映出来。接下来,我们甚至可以在合成软件中操控物体的材质,使之成为后期后期合成中的重要帮手。
还有一点需要提前说明的是,这里介绍的方法是用Softimage XSI 4.2和After Effects 6.5两个软件作为载体的。其实它适用于任何三维软件和有三维场景带表达式功能的的合成软件。我们在这里传达的是操作的原理。
大多数的三维软件都提供了一个法线渲染的功能,就是将三维物体的表面法线渲染成可视化的彩色图形。在三维软件中还有一个约定,就是X轴正方向是红色(R),Y轴正方向是绿色(G),Z轴正方向是蓝色(B),各个轴的负方向是其正方向的补色。也就是说负X轴方向是青色,负Y轴方向是紫色,负Z轴方向是黄色。
导入三维场景
在After Effects中导入XSI场景里的摄像机和参考灯光。我们在这里用的是一个XSI的免费的表达式插件,它可以将XSI场景中的Camera与灯光全部导入After Effects中。
这里导入的参考灯光不是用来照射物体的,是用于标志物体上的特征点的。换句话说,就是这个灯光的运动轨迹代表了三维物体的运动轨迹。这一点很重要。另外,我还建议为了方便在合成软件中找点和其他操作,可以在XSI中用灯光来多定义一些如物体边缘,中心等有特征的点。在本例中,我们定义了一些点,分别在物体的中心和边缘特征明显的位置。
After Effects导入了三维场景以后,会自动建立一个“Camera+Light”Composition。打开这个Composition,我们便可以看见所有在XSI里定义的,带有动画的灯光和摄像机。 