... / nVoxel主页 » 3DMAX/C4D » [译]NYC Taxi CG动画制作解析_Making of NYC Taxi

[译]NYC Taxi CG动画制作解析_Making of NYC Taxi

作者:T.n.T发表时间:2012-3-20本文链接:http://www.nvoxel.com/making-of-nyc-taxi.html

我是在CityLIFE挑战赛中第一次看到Efilm Armand制作的NYC Taxi(纽约出租车)这个动画的

可惜的是在挑战赛期间,作者没有及时完成这个动画的制作

不过从他发出的已完成的画面中可以看出,这是一部很不错的动画短片

而我希望能够更深入的了解作者是如何制作这样一个精彩的街头出租车动画的

Efilm也很欣喜的答应了,今天为我们解析这个动画的制作过程

 

作者:Efilm Armand

 

Efilm Armand是一位来自俄罗斯的3D艺术家,致力于建筑表现的创作

同时也会使用Nuke进行一些高级的后期处理制作

 

大家好,我是Efilm Armand.

我在建筑表现这个行业已经干了十年了

从建模,贴图,材质,灯光,渲染以及最终的后期制作我都参与制作

 

今天我为大家带来NYC Taxi这部动画的制作解析

这部动画现在还在制作阶段

我将会向你们讲解制作过程中每一个具有创新性的地方

同时也会告诉大家制作过程中遇到的困难以及处理方法

最后还会讲解制作这个动画过程中一些特有的处理手法

 

制作这个项目的初衷是想研究一下三维动画的绑定

在研究过程中,最终我决定做一个完整的场景出来算了

希望你们能从这篇文章中学习到对你有用的知识

 

在我们正式开始讲解之前,首先让我们来看一下这个动画短片

 

无论是制作什么项目,我的习惯总归是在前期尽可能多的收集制作过程中相关的资料

这一步十分的关键

这一次我的主要参考对象来自于google街景

通过观察纽约的google街景我深入的了解了纽约街头的空间结构以及街头的气氛

甚至可以从街景当中获得一些后来用到的材质贴图

动画中所有的模型都是在3d Max中完成的(有少部分是来自于Sketchup)

制作这个动画首先要做的就是为出租车的运动搭建一个合适的场景

这部分考验的就是低模制作技巧

 

这是这个项目中最困难的部分了

因为你必须制作一个完整的高楼林立街头场景

我一开始使用的是立方体来象征性的表示大楼

通过调整立方体来找到一个合适的缩放值,镜头合成角度以及基础的光照环境

 

在制作这个项目过程中有一个比较大的问题就是,场景中有很多零散的独立小对象

因此我不得不创建出很多层,然后按照对象的类型将它们归类

我使用这种方法让制作过程顺利很多

当我制作的镜头中不涉及某些物体的时候,我就会将它们隐藏掉,这样有利于调整场景

 

整个环境分成了三大部分

 

1-前景及街头元素,这部分的模型精度都比较高,便于制作近景镜头

2-中景,这部分主要是一些低模建筑模型,是通过贴图来制作的

3-背景中那些远景的建筑,就是一个平面然后贴图制作出来的

 

根据对象相对于摄像机的距离,使用这种方式很容易控制场景中的细节分布

 

建筑_BUILDING

通过查找Sketchup的模型库,我找到了不少使用在背景中的摩天大楼模型

通过这种方式我找到不少漂亮的低模

将它们放置在背景中或者说远距离上看起来还是挺不错的

 

下图就是我找到的一些时代广场周围的建筑模型

Alex Roman有过一个教学,其中展示的通过Google 3D Warehouse搜索模型的方法很值得借鉴

 

除了上面的模型,我还需要从参考图像中制作更多具有细节的模型用于中景的搭建

下面就介绍通过参考图像建立模型的过程

 

首先收集了很多参考图像用于理解建筑的形状

同时使用这些参考图像作为将来模型的贴图

我尽力挑选出一些分辨率高的图像,同时图像最好也是在阴雨天的环境下

因为这样可以避免阳光透射下来的阴影,也可以少看到一些光源

 

原始的参考图像中有很多不需要的杂物比如说:

一些线路,车辆,花,人,电线等等

因此我将这些图像放到PS中处理,将不需要的杂物去除掉

我使用扭曲工具将它们变形成形状

我还将图像放置在一个网格变形中,以确保贴图的角度是正视方向

 

 

当贴图准备好以后,接下来就是建模啦

一开始的时候就是一个带有UV贴图贴图坐标的平面,然后赋予材质上去

然后我按照参考图像将平面切割开来,将一些必要的地方进行挤出或者凹陷处理

在UV编辑器中,我使用了相同的参考图像作为背景

这样便于我更好的将模型和贴图进行对齐

这样制作出来的模型对于动画来说已经足够了

使用同样的方法,我还制作很多其他的建筑

当建筑模型都搞定后,我将它们保存成独立的文件

然后通过xRef的方式将它们导入到一个主的文件当中

 

使用这种方法便于我优化我的主场景文件

同时使用xRef的代理模式可以减少内存的使用量

导入模型到主场景后,我就可以在主场景中随意排布这些参考模型啦

将它们替换掉我之前用于表示建筑的立方体盒子

 

街头元素_STREET ELEMENTS

场景中主要的街头元素包括

 

十字路口

人行道

道路(三道或者五道)

交通灯

道路边界

其他一些街头元素(邮箱,报箱,路标,垃圾箱等等)

 

这些都是可以建立一个标准模型来反复使用的元素

我在道路模型上增加了噪波修改器

这样可以让道路在透视图中看过去不是那么的平整

交通灯对象上我增加了一个通过脚本控制的Attribute Holder修改器

这便于我控制交通灯的切换动画

 

建筑的材质都是基础的Vray材质

 

漫反射构成:

在照片基础上经过调色,润色的贴图,原始素材都来自于cgtextures.com

 

反射构成:

去除高光的灰阶图像,将这种图像拖放到反射和反射光泽度的参数槽中

反射光泽度的强度降低为95

打开反射的Fresnel反射选项

 

凹凸构成:

一个张反复用在各个材质中的灰阶图像

 

路灯材质_TRAFFIC LIGHTS MATERIAL

下图展示了路灯材质的构成

 

道路/十字路口材质_ROAD/INTERSECTIONS MATERIAL

首先,我为道路和十字路口分别指定了不同的材质ID

 

接下来我并没有使用多维子材质的方式来指定贴图

我使用Vray默认材质配合Vray多层贴图的方式来制作这里的道路忒图

这样做的目的主要是为了方便统一的调整路面的反射,光泽度,色彩等参数

如果使用多维子材质的话,你必须在不同的材质之间切换进行调整,很麻烦

 

为了模拟湿润的地面效果,我不得不用到一张反射和光泽度贴图

我将漫反射中的贴图饱和度降低,然后用作反射和光泽度贴图

好的效果需要反复调试才能得到

 

在完成了基础的路面材质之后,我决定在此基础上增加一些细节

我将原来的材质作为Vray混合材质的基础材质

然后在基础材质的上面我利用一些不同的遮罩混合了一些光泽度和水坑的效果上去

同时还有一些路面裂痕和路标也混合了上去

 

下面是光泽度材质和水坑遮罩的设置图

 

下面是最终材质节点图

第一眼看上去有点复杂

 

车体材质_CAR MATERIALS

尽管场景中有很多的汽车,我只用到了一种材质

而车体材质表面的差异性是通过在漫反射通道中使用MultiScatter贴图实现的

(这需要用到Max中一个叫MultiScatter的插件)

这种方式可以很方便的制作出不同色调感觉的真实车表面色彩

 

在上面的基础上

我将基本的车体材质还和污垢材质通过衰减贴图混合了起来

 

下图就是玻璃材质混合污垢材质的节点图

 

 

出租车污垢贴图_TAXI DIRT MAP

整个场景就是通过一个Vray阳光照亮的

同时还有一个Vray天空贴图被加载到了Vray的环境通道中

 

下图就是一些预览结果

再来一些

 

渲染设置很简单,下图你可以看出

 

 

这里有一个小点我要提一下

我在Vray对象属性中将轮胎的运动模糊重新设置了下,以便于产生更加精确的运动模糊效果(16)

场景中大多数的对象都采用的是Vray运动模糊面板中设置的Geometry samples(几何体采样)值(2)

 

 

场景中运动摄像机的动画渲染分三步进行

(这部分可以参见本网站之前翻译的Flicker free animation using Vray一文进行设置)

 

Light cache(灯光缓存)—动画渲染模式为单帧进行渲染,输出灯光缓存贴图序列

 

发光贴图在之前渲染的灯光贴图之上,设置为animation prepass渲染模式进行渲染,输出发光贴图序列

最后在之前渲染的发光贴图基础上,激活animation rendering渲染模式进行渲染,输出最终图像

 

出租车大灯_THE TAXI HEADLIGHTS

一开始的时候,出租车的大灯是关闭的

再后来合成的时候,我决定在画面上增加一些辉光效果

因此我使用Mental Ray单独渲染了大灯部分的动画

其中用到了MR的Glare和Glow贴图

贴图上有灯光的图案

 

车大灯有三个基础的部分组成

1-铬—Raytrace(光线跟踪)材质

2-辉光-凹凸通道带有棋盘贴图的建筑材质

 

3-发光灯-漫反射贴图上带有Glow贴图的标准材质

Mental Ray渲染和Flare贴图的设置,如下图所示

 

最后效果

 

烟雾_THE SMOKE

我使用了FumeFX来制作污水渠那产生的烟雾效果

当一个最终烟雾模拟结果出来后,我就以实例复制的方式复制出来一份烟雾的模拟网格

然后在需要的地方摆放上烟雾模拟网格就行了

对于某些镜头而言,我额外计算了一些作为这部分镜头的烟雾效果

(比如说汽车相会或者轮胎上产生的烟雾)

 

当完成这一步之后

我通过在Vray渲染设置中设置,将场景中所有模型的材质都弄成了Vray包裹材质

每个镜头中的烟雾效果都是在没有GI条件下渲染出来的

这些渲染结果我会在之后的Nuke合成时候用到

 

 

在我开始讲解Nuke合成之前,让我们来看看这个项目中我用到的主要渲染元素

 

VrayAO(Vray环境闭塞通道)

VrayAtmosphere(Vray环境通道)

VrayObjectID(Vray对象ID通道)

VrayReflection(Vray反射通道)

VrayRefraction(Vray折射通道)

VrayRendID(Vray渲染ID通道)

VrayZDepth(Vray景深通道)

 

这个过程的处理对动画至关重要

因为我在后期的时候利用这些通道处理渲染上的问题

同时对渲染画面进行润色

在后期合成的时候,我将反射通道叠加到了路面上,来增加画面的反射感

同时在画面上叠加了AO通道后,为画面增加了不少真实感

 

当然,在制作过程中,参考画面也起了至关重要的作用

我试图让我的动画看上去有点电影的质感

 

下面举一些我参考用的画面例子

“We Miss You”—Hanna Maria Heidrich

 

“Soloe L.A.P.D.”—Lasse Grettland

 

这些画面对我调整最终画面质感,氛围起了很重要的作用

 

首先从整体上调整渲染结果的亮度和对比度

然后利用渲染得到的对象ID和渲染ID通道,迅速的对单个物体对象进行色彩调节

这样最基础的合成树就建立起来了

当我在其他摄像机镜头进行合成的时候,对上面的合成方法进行修改就行了

 

下面你可以看到

分解合成步骤

 

下图是Nuke中合成节点图全貌

下面是一些动画截图

制作个人项目是一件很爽的事

这期间你可以充分发挥你的创造力,向人们展示你的能力

如果你还有什么问题的话欢迎提问

 

下面列出我制作过程中用到的软件

 

3ds Max 2012—-模型,渲染

V-Ray—-渲染

MultiScatter—-材质

GhostTrails—-特效

FumeFX—-烟雾

SketchUp—-模型

Nuke—-后期合成

Photoshop—-合成,贴图

Premiere—-剪辑

After Effects—-后期,剪辑

 

谢谢观看!

 

Efilm

 

 

 

 

本文地址:http://www.nvoxel.com/?p=786

 

 

 

 

评论

(必填)


不是'叮'的一声变成别的东西才算是奇妙,那个走得很慢很慢,慢得不像话但是非常肯定,一直都在走得钟就已经很奇妙了
相遇 相识 相知 相爱 然后分开 / Themes by T.n.T