Cinema 4D 灯光技术基础Word下载.docx
- 文档编号:19879468
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:28
- 大小:584.80KB
Cinema 4D 灯光技术基础Word下载.docx
《Cinema 4D 灯光技术基础Word下载.docx》由会员分享,可在线阅读,更多相关《Cinema 4D 灯光技术基础Word下载.docx(28页珍藏版)》请在冰豆网上搜索。
[图4]
第五种类型是点平行光源(ParallelSpot),和平行光源(Parallel)很象,它只有光线的起点而没有终点。
区别是它可以设置光线衰减(Falloff),这一点经常使用。
平行光源(Parallel)是有光线形状的。
一个平行点光源发射一个圆柱形的光线,比如象(科幻电影中武士的)激光剑。
如果是一个方形点平行光源则发出立方体形状的光线。
[图5]
第六种灯光类型是管状光源(TubeLight),它发出光线的起点不是一个点而是一条线。
它类似于日光灯。
[图6]
光线从一个点传出变成从一条线传出会造成电脑计算量变大,速度变慢,Cinema4D有使用一个技巧。
对于管状光源(TubeLight),实际上可以把一列Omni光源分布排列成一条直线。
[图8][图9]
我们得到了一个区域光。
它很象一个Omni光源,但是光线不是从一点发出。
换一种做法[图10][图11],光源排列成一个矩形区域,产生一个柔和的漫射光。
实际上,这些Omni光源发出的区域光已经被计算在内,并且它们的光线分布不象是一个矩形,更象是一个圆。
现在我们已经了解了这些灯光类型,下面我们来看看在General标签中的其它参数。
除了颜色之外,我们可以为每个光源设置亮度,有一点要注意,亮度的值可以超过100%,并且没有上限(程序上称为“无限”)。
亮度值达到1000000(一百万)也是可以的。
我们可以定义灯光的阴影类型(关于阴影的问题我们会在后面论述)。
现在还是保持关闭阴影(None)。
我们还可以定义光源可见和不可见。
可见光源会使发射的光线直接照射在物体上,也可以产生阴影。
这可以用于模拟行星大气和街灯的发光。
[图12]
如果要更精确地模拟光的物理特性,需要使用体积光(Volumetric)。
这类可见光源会在它的光线传播路径上计算障碍物或空洞物体对光线的影响,但是这会大大增加渲染时间。
有一个办法可以加快体积光的计算速度。
[图13]
我们在虚拟的三维世界中,既能创造出真实的现实效果,也能创造出现实中不可能出现的效果。
反向体积光(InverseVolumetric)就是干这个的。
它在普通的体积光源产生阴影的地方产生光线。
反向体积光(InverseVolumetric)的用途之一就是生成一个光线发射物体。
[图14]
所有的可见光源都可以应用噪波(Noise)来产生特殊效果,关于这个的论述详见后面的第三部分(灯光技巧与特效)。
最后,在General面板上有四个钩选框。
ShowIllumination,ShowVisbleLight,ShowClipping(开关编辑显示)和Susequent手动编辑(相关命名属性)。
最好的办法是应用于调节一次它们的相关属性。
此外,关闭它们能减少编辑显示的混乱。
如果只选禁止发光"
NoLightRadiation"
,这是一个对于可见光源来说比较容易忘记使用的功能。
打开它会禁止光源发光,场景中不会出现照明。
但是如果可见光源的选项不是None,则光源还是可见的。
你也许要问,为什么要这么用?
想象一下如果你用一个可见光源产生粒子来模拟光线的情况你就明白了。
如果你产生500个粒子,就要有500个光源。
很容易理解,由于每增加一个灯在场景中都会增加渲染时间。
500个灯将会使渲染变的很慢。
我们只需要500个可见光线,而并非500个真正发光的灯。
所以我们只要选禁止发光"
就可以了。
这500条光线可见,但是那个复杂光源阵列就不会被计算了。
你也许会说“如果我需要看见那些发光的灯怎么办?
”不错,但如果是那样通常只在(发射粒子的位置)那放置一个光源就行了。
在Details标签栏下,我们可以为我们的灯光设置更多的参数。
第一个选项只在使用点光源(Spot)时才可用,InnerAngle定义了光源中的强光部分影响的最大范围。
相当于在General面板中设置color参数和在Detail面板设置亮度(Brightness)参数。
OuterAngle定义了光源中光线衰减部分影响的范围。
光线强度将会在这个范围从强光衰减到0。
如果关闭Inner,那么光线就不会被衰减,光线全强度照射到OuterAngle定义的范围。
形状比例(AspectRatio),让我们定义光源“焦点”的形状。
它的值大于1,则垂直的伸展“焦点”形状。
值小于1,则在垂直方向上压扁“焦点”形状。
亮度(Brightness)参数定义灯光的亮度。
也可以在General面板中color参数下面设置亮度(Brightness),但是这个更好一点。
即使亮度被限制在10000%,它也允许使用负值。
负亮度值会使一个发射光源变成一个“吸收”光源。
“吸收”光源也可以产生虚拟的阴影。
这在某些特定效果中极其有用,很可惜,它经常被人们忘记和忽略。
[图15]
对比(Contrast)参数允许定义照明区和非照明区的过度。
增加这个值会使过度比较生硬,减小这个值会使过度变的自然(具有较长的过度区)。
[图16]
好了,现在我们要介绍一个很重要的参数:
衰减(Falloff)。
默认情况下,光线强度的变化只由物体表面光线的入射角度决定。
但是,在真实世界中,光线的衰减还由它的传播路径来决定。
如果你要渲染出照片级的图片,就要使用灯光的衰减(Falloff)。
[图17][图18]
最真实的衰减(Falloff)是InverseSquare,它模拟了真实世界中的光衰减情况。
但是,我们既然有了控制虚拟世界的能力,就应该充分利用它,使用其它的一些选项来产生更特殊的效果。
你选择一个你认为更能出效果和更容易控制的选项就行了,只要它能使你完成你的效果。
在Cinema4DR8版本以前,Falloff运算有一个小Bug,使它怎么也不能模拟好真实世界中的照明情况。
现在,所有的选项都能被准确的计算了。
但是对于以前版本的兼容(用R7之前的版本生成的文件在R7之后的版本中渲染),原来的Bug仍然会出现。
再重复一遍,我们在虚拟世界中可以定义光线衰减的开始和结束位置。
光线保持全强度照明直到Inner所设置的半径,自此,它将在Radius/Decay的距离上逐渐衰减直到消失。
在本部分结束之前,我将介绍另外三个参数,它们将在第三部分(灯光的技巧与特效)中使用。
这三个参数经常被忘记,但是却非常有用。
它们是:
环境照明(AmbientIllumination)、禁用漫射(NoDiffuse)禁用镜射(NoSpecular)。
当环境照明(AmbientIllumination)选项被启用,光线总是以恒定强度进行照射。
从亮区到暗区之间的物体上没有明暗变化。
[图19]
当这个选项被打开,其它两个会自动关闭,它们就不再有关联。
使用这个选项,很容易制作卡通效果,使一个低强度的阵列光源,配合falloff参数,就很容易生成一个很棒的环境照明(AmbientIllumination),这在后面的章节中会有介绍。
当打开禁用漫射(NoDiffuse)选项,会使光线的漫射分配(DiffuseContribution)关闭。
什么叫漫射分配(DiffuseContribution)?
就是:
所有的光线打在一个面上而不是一个点上,看上去物体的更多部分被照亮。
是不是有些复杂?
其实很简单。
想象一个苹果被一个灯笼照亮,苹果上最白最亮的点就是你看到的被照射的最亮点。
所有其它的红色部分(如果它是一个红苹果),就是漫射照明(DiffseIllumination)产生的结果。
所以,把NoDiffuse打开,就只能看见物体上有个白色亮点,别的什么也看不见(例如苹果上红色的区域)。
那么,这个怎么用呢?
假设你有一个玻璃瓶或其它的一些有光泽的物体,你希望在它上面另外的地方反射一些亮点来增强它的光亮特性。
你就得加入另外一个光源,即使你得到这个亮点,物体的其它部分也被照亮。
所以现在启用NoDiffuse,你就能只得到你想要亮点。
[图20]
禁用镜射(NoSpecular)正好相反,关闭它就会关闭光线镜射分配。
[图21]
现在你已经了解了Specular和Diffuse的含义。
在苹果的例子中,启用NoSpecular选项,我们将只能看到
苹果的红色区域。
如果不需要显示玻璃瓶上的白色亮点...知道该怎么做了吧?
重复一遍,还以玻璃瓶做例子。
现在你需要为场景增加一个光源,你就在玻璃瓶上得到了另外一个镜射,而这个镜射是你不想要的。
你把禁用镜射(NoSpecular)选项打开,就OK了。
这篇文章的第一部分接近尾声了,这一段是一个灯光速成,使我们了解了Cinema4d中灯光的基本概况。
但是我相信,即使是这点知识,已经使你能够用一个完全崭新的思路来进行很多操作了。
第二部分:
阴影
现在我们开始灯光技术的第二部分,在第一部分我曾经说过阴影和灯光一样重要。
下面你会看到我不是瞎说。
阴影有助于产生深度(感)、确定尺寸和相互位置。
如果你不相信,请看下图:
[图00]
这张图片已经被充分照明,这一点不用怀疑。
你能否告诉我哪一个红球是放在地板上的?
下面这张图片是添加阴影后的情况:
[图01]
阴影同样能帮助我们定义物体形状和增加对一个图象的对比。
现在我们知道了阴影为什么如此重要。
下面我们先来看看有哪些阴影类型。
Cinema4D有三类阴影:
Soft,Hard和Area,它们有很大的区别,各有各的优势和劣势。
我们来看看它们各自的使用情况:
[图02][图03][图04]
软阴影(SoftShadow)是它们当中最复杂的。
每种光源都有软阴影(SoftShadow)类型。
Cinema4D从场景的光源点视角产生一个“快照”,并不是真实的渲染。
Cinema4D简单地计算光源到所有通过光源“看到”的点的距离,并生成一个深度贴图,范围从白(近)到黑(远)。
渲染时,Cinema4D会从摄影机传送光线到视野中的每一个点,它会比较从光源“看过去”的深度(长度),深度(长度)来源于深度贴图,如果是“近”,它就“亮”,如果是“远”,它就“暗”。
那就是阴影。
硬阴影(Hard)简单的应用了一个光线追踪(Ray-Tracing)方式。
从摄影机“看到”的每一个点,会发出一条光线到每个光源,如果这条光线被一些物体遮挡切断,那么这个点就在阴影中。
区域阴影(Area)与硬阴影(Hard)使用同样的计算方式,但是它发射光线的形式不一样,区域阴影(Area)发射光线到灯光周围的任意一个区域。
现在我们明白为什么每种阴影都对计算机内存消耗和计算速度有着不同的表现。
软阴影(SoftShadow)需要为每一个光源生成一个深度位图,以便使用它们。
所以它需要更多的内存。
由于在真正渲染之前所有的计算都时刻进行着,所以HardShadows不需要更多的内存,因为它们只执行简单的计算任务。
但是它要计算通过摄影机“看到”的各自每一个点,所以它是比较慢的。
区域阴影(Area)使用的是类似硬阴影(HardShadows)的计算要更大的计算量,所以它是三者中最慢的。
不幸的是,它产生的阴影最为真实。
我们后面会介绍一些如何使区域阴影(Area)提高速度的方法。
在Shodows标签上部的参数如下:
[图06]
这些参数可以应用于所有的阴影类型。
密度(Density)参数定义阴影的透明度。
如果阴影显示的加入更多的照明灯光来照亮场景(可能会破坏场景效果),可以降低密度(Density)的值。
颜色(Color)参数定义阴影的颜色,默认是黑色的。
但是,在真实世界中很少是黑色的,通常它们会有一些细小的颜色偏差来补充光线造成的阴影。
另外一种情况,它们的颜色是周围环境光线合成的结果。
所以,感觉上乱弄一些阴影颜色可以产生一种更真实或者更艺术的结果。
如果透明参数(Transparency)被启用,透明物体(设置它们的材质)的阴影计算会把透明颜色考虑进去。
但是这将增加内存消耗(除它们的深度之外,物体颜色的深度位图将会停止)。
如果透明参数(Transparency)被禁用,所有阴影将会不透明。
由于这个参数默认是启用的,也同样意味着更高的内存消耗也是被默认的。
如果在渲染中出现了内存错误并且你不需要使用透明阴影,那就关掉它。
剪切影响(ClippingInfluence)参数,会把剪切的光线计算在内。
如果开启它,那么剪切限制之外的阴影不会被计算。
在这些参数下面我们有一个软阴影(SoftShadow)参数。
[图07]
它们只在选择了软阴影(SoftShadow)类型后才可用。
第一个参数ShadowMap,允许我们定义一个深度位图的尺寸。
较高的数值可提供较高分辨率,较好的阴影细节,较硬的阴影边缘,但是内存消耗也更高。
有机种不同的预制尺寸,用户也可以自行设定尺寸。
通常人们会把X,Y参数设置成相似的值,但是要想达到好的效果,应该把它们设置为不同的值。
X轴分辨率设置为较高的值会在侧边生成较锋利的阴影和在上下边产生柔和的阴影。
Y轴分辨率设置为较高的值会在侧边生成产生柔和的阴影并在上下边生成较锋利的阴影。
我们到底是要一个更精确的阴影呢,还是要一个柔和的边界呢?
我们简单地增加采样半径(SampleRadius)的值,当软阴影依赖一个位图时,如果它不进行任何采样,阴影边界将呈现像素化。
因此,采样值默认为3,会微弱模糊阴影边界。
较高的值会将边界模糊的较厉害,但渲染时间会相应增加,有时会剧烈增加。
如果想提高渲染速度,可以使用较粗糙的阴影边界,降低采样半径(SampleRadius)的值。
另外,使用较低的阴影贴图分辨率和相应增加采样半径(SampleRadius)的值也可以得到较为精确的阴影。
现在我们来讲一下斜线(Bias)参数,这个参数经常会被误解,是一个经常被忽略的参数。
如果你能恰当的使用它,它是非常有用的。
由于软阴影计算方法所限,物体的阴影从来不会真正的紧挨着它,甚至当它被放置在一个平面。
[图08]
斜线值(相对值Relative和绝对值Absolute)会使阴影尽可能的逼近物体,阴影起点偏离物体的距离在很大程度上依赖于它与光源的距离。
所以如果绝对斜线(AbsoluteBias)选项被开启(默认),会允许Cinema4D忽视距离。
如果启用它,那么Bias会调整它自己和所依赖的光源的距离。
但是我们不建议这样做(这只能维持与低版本C4D文件的兼容),如果我们能用一个较低的Bias值而使阴影逼近物体,为什么我们还会想要增加它呢?
因为,通常情况下,使用较低Bias值有一个缺陷,有时物体会在自己身上自行生成阴影。
[图9](图9中方格状的明暗过度)
为什么会发生这种情况呢?
前面讲过,软阴影(Soft)是经过计算光线生成的深度位图得到的。
[图10]
那么,当渲染一个“可见”点时,将会首先与先前生成的深度位图样板进行比较,取得深度值,如果这个深度位图的解析度不够高的话,很多“可见”点的比较就会终止,而使用同样的深度位图“像素”。
例如:
点A(译者:
经计算后)被渲染为“亮”,点B(译者:
由于和点A距离很接近,而深度位图样板细分又不足以区分两者到光源距的离)将和点A使用同样的“像素”(d5),(译者:
从摄影机视角看)由于点B比点A距离光源更远,所以被渲染为“暗”。
[图11]
点C和点D被渲染为“亮”。
将采样方法应用于阴影贴图会导致自行生成有“重复模块”效果的阴影。
增加Bias的值,会在计算原始深度位图时使渲染结果偏于接近“亮”。
这种方法就可以解决上述问题了。
平行宽度(ParallelWidth)参数对于平行光源来说是很重要的(DistantandParallel)。
由于这些光源无限宽无限高,而又不可能生成这样的阴影。
平行宽度(ParallelWidth)值能使我们定义一个用来产生阴影的无限空间。
如果来自平行光源的阴影突然截止,只要增加平行宽度(ParallelWidth)值就行了,但是,阴影贴图的分辨率也要相应增加,以维持阴影的细节。
轮廓阴影(OutlineShadow)会产生一个图形效果,客观地说,我从来没有用过它,我也怀疑别人是否用过它。
但是,它就放在那,你可以随便玩玩...如果你知道它的用途,请就告诉我吧:
-)
阴影贴图大小(像素分辨率)沿着光源光圈(照射范围)展开。
如果光锥非常白,要想得到一个适当细节的阴影,就需要很大的阴影贴图。
这将耗费很大的内存。
但是我们是否真正需要一个大角度的光源,或许只是需要被照明区域中心的阴影。
我们必须使用一个非常大的阴影贴图,甚至不惜大多数贴图都被浪费掉。
其实不必这么做,阴影锥(ShadowCone)就是干这个用的。
可以定义一个较小的锥形,并将阴影生成限制在这个范围之内。
[图17]
软锥形(SoftCone)选项,确保只有物体在阴影锥中的部分生成一个柔和/渐变的阴影界限,防止生硬的切除。
最后,我们来介绍区域阴影(Area)的选项。
AreaShadowWidth参数定义虚拟光源“灯泡”传出的光线产生的阴影的尺寸。
这个尺寸数据完全独立于灯光参数之外,它只供阴影计算使用。
把这个值调高会生成一个较大的虚拟光源和一个较柔和的阴影。
较低的值会生成一个Rrisper阴影。
注意,将这个值调高会相应的增加渲染时间。
区域阴影采样(AreaShadowSamples)定义如何精确计算区域阴影,由于只有很少光线被计算,采样是必须有的,它确定采样的数量。
调低这个数值,会大幅度增加区域阴影的计算速度,但是也产生虚拟躁波。
把这个值调低不一定会影响图片质量。
什么?
难道光线还有其它什么特别的参数么?
没有。
除了密度、颜色、透明度和剪切影响参数,你只能定义一样东西,硬阴影的边界的质量。
那是在渲染设置中的一个抗锯齿选项。
如果想得到一个平滑的边,必须选择最佳抗锯齿效果,否则在渲染结果中将会产生锯齿状边缘。
下面是一点建议:
--不要把所有的光源的阴影都打开。
那样除了会降低渲染速度,增加内存消耗,还会使场景出现视觉混乱。
应该只对场景的主光源打开阴影,最后再用一两个辅助光源产生较小的衬托阴影。
--生成一串(系列)使用软阴影(Soft)低强度的光源能模拟一个虚拟的区域阴影,它的渲染速度较快,但是耗费较多的内存。
--调低区域阴影的采样值会明显提高运算速度,如果阴影投射在一个类似重复(模块化)表面上时也会使噪波非常明显,另外,如果物体表面投射阴影的地方颜色较浅,就需要把这个值调高。
动画时也要调高该值,否则动画中会产生闪烁噪波。
--尽量不要使用硬阴影。
它需要使用最佳抗锯齿功能,会降低计算速度,并且效果不太真实。
它适用于渲染一些技术插图和非照片级的建筑图片。
--仔细观察现实世界中的阴影几乎很少是黑色和灰色的,使用较随机的阴影颜色、密度和临近放射效果能在一定程度上保证正常的渲染时间。
--注意那些会增加渲染时间的参数,也就是:
采样半径(SampleRadius),阴影贴图尺寸(ShadowMapSize),区域阴影宽度(AreaShadowWidth)和区域阴影采样(AeraShadowSamples)。
--我们可以做到生成一个只发射阴影但是不影响场景照明的光源。
这在场景的合成中非常有用。
它需要用到一点COFFEE,我已经把一个实现这个功能的代码提供给了CrewReynolds(他专门负责写有关COFFEE的文章),让他写一个相关的教程,相信不久你就会看到。
第三部分:
灯光使用技巧与特效
在这一部分我们继续关于灯光的介绍。
在前面的部分我们已经大致了解了主要的灯光和阴影参数。
为了不至于使这个部分成为使用手册的修订版本,我会加入更多的深度,会给大家展示一些完全不同的使用方法。
我会论述真实世界的情况或实现简单特效的方法并且介绍实际的操作。
--------
首先我们从体积光(VolumetricLights)开始。
它的视觉效果极其出色,但是很多人还是会避免使用它,因为通常它会使我们在渲染时间上付出很大的代价。
但是,即使它会增加一些渲染时间,还是有办法在不降低渲染质量的情况下来减少渲染时间。
秘诀就在于速度/质量取决于Visibility标签中的体积光采样距离(SampleDistance)参数。
首先,我们来了解一下体积光的工作原理和采样距离(SampleDistance)参数的使用。
Cinema4d沿着光线传播路径进行采样,直至光线被物体切断,然后在[译者:
采样距离]值之间插入采样而生成光线体积。
采样距离(SampleDistance)参数决定了采样点之间的距离。
为什么采样样本具有统一的距离?
如果样本的获取是沿着各自光线路径的每一个点进行读取,因为路径上会有数百万、数千万甚至数亿个点,那么渲染器就有可能永远也不能完成计算。
设置一定的采样距离可以使其间只考虑几百个点,最多几千个点。
默认值(25),足以很好地平衡渲染速度和渲染质量之间的问题。
但是在某种情况下也许需要更高的质量,那么就要适当将该值减小,但是带来的问题是渲染时间剧增。
解决的窍门是在不影响效果的同时尽可能的增加采样距离(SampleDistance)值。
这需要进行多次实验,可能会产生一些麻烦和错误,但是这么做是值得的。
采样距离(SampleDistance)下面的参数是什么意思呢?
亮度(Brightness)?
我们不是在General标签和Details标签
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Cinema 4D 灯光技术基础 灯光 技术 基础
![提示](https://static.bdocx.com/images/bang_tan.gif)