主题:  两盏灯光,实现真实聚焦

白雪飘扬

职务:普通成员
等级:1
金币:0.0
发贴:40
注册:2002/5/28 19:48:47
#12002/10/21 19:38:41
用过3dsMAX插件FR(FinalRender)的CG玩家们,一定知道,FR可以轻松的实现聚焦与反聚焦效果,但对普通玩家来说,FR的渲染速度让人着实不敢恭维。其实,很多效果,不用插件,也一样可以实现。下面,我们来看看,如何用两盏灯光,实现真实的聚焦效果

图1:




一、 创建场景
1、 运行MAX,点选“Create.>>Geomerty”命令面板下面的“box”工具,在Top视图创建一个Length、With、Hight分别为:180、180、90;Color: R:255、G:255、B:255的Box;按F12打开“Move Transfrom Type-in”对话框,将Box的Absolute world(世界绝对坐标)的X、Y、Z值分别设为0、0、0。 

确认“BOX在先择状态,点取“Modify”中的“Nomal”命令,为“Box”添加一个“Flip Normals(反转法线)”的变动修改,让我们能看到Box的里面。

2、 点选“Create.>>Geomerty”命令面板下面的“Sphere”工具,在顶视图创建一个半径为20的“sphere”,并将之命名为“玻璃球”;按F12打开“Move Transfrom Type-in”对话框,将“玻璃球”Absolute world的X、Y、Z值分别设为0、0、20。
最后,我们会让此玻璃球产生真实的聚焦效果。

3、 为了对比,我们再以第2步的方法,在Absolute world的X、Y、Z值分别设为0、-45、20的地方创建一个半径为20的“Sphere”,并将之重命名为“喷漆球”

4、 至此,一个简单的场景已建立,最后调整透视图如下图所示(当然,你也可以自己旋转一个视角,只要便与观察最的效果就可以了):

图2:



二、 指定材质
1、设定玻璃球的材质:
按快捷键“M”打开“Material Editor(材编辑器)”对话框,点取第一个示例球,并为其指一个“Raytrace(光线跟踪)”材质,展开“Raytrace Basic Parameters”卷展栏,将材质指定给“玻璃球”并将行如下的参数设置:
Shading:phong;
Diffuse:R:112、G:211、B:211;
Transparency:R:112、G:211、B:211;
Index of Refr:1.5;
Specular Lavel:120;
Glossiness:50

图3:



2、设定喷漆球的材质
点取第二示例,在 “Shader Basic Parameters”里,将Shader设定为“Multi-Layer”方式,展开“Multi-Layer Basic Parameters”卷展栏,各参数设直如下:
Ambient:R:180 G:0 B:0
First Specular Layer
Level:120;Glossiness:60
Second specular Layer
Level:60;Glossiness:10
展开“Maps”卷展栏,点取“Reflcetion”旁边的长按钮,为其指一定一个“Falloff(衰减)”贴图,再次点击“Flalloff  Parameters”卷栏下面的第二个长按钮,为其指定一个“Raytrace”贴图。
OK,将此材指定给场景中的“喷漆球”
图4:



3、最后,我们再为“Box”指定一个材质,用它作地面。
点选第三个示例球,并给它指定一个“Multi/Sub-Object(多维次材质)”,点击“Set Number”按钮,将“Number of Materials”设为6,按“OK”确定;点击ID1、3、4、5、6、“Sub-Material(子材质)”右边的颜色按钮,将其Color值全部设为R:255;G:255;B:255。
点击ID号2的子材质按钮,进入其标准材质面板,展开 “Blinn Basic Parameters”卷展栏,点击Diffuse旁边的方形按钮,从Max按装目录>>Maps>> Ground目录下,为其指定一个“GRYDIRT2.JPG”的贴图,这样,我们就简单的对“Box”进行了一个地面设置。

三、 创建灯光

1、创建用于产生聚焦的聚光灯
点选“Create.>>Lights”命令面板下面的“Target Spot(目标聚光灯)”工具,在前视图中创建一个聚光,按F12,打开打开“Move Transfrom Type-in”对话框,将聚光在Absolute world中过行如下设置:
Spot01
X:80、Y:0、Z:90
Spot.targe
X: 0、Y:0、Z:20
确认聚光在选择状态,展开“Spotlight Parameters”卷展栏,将Hotspot/Beam的值设为:10;Falloff/Field的值设为20

2、创建用照明的泛光灯
在Absolute world X:80、Y:0、Z:90的位置创建一个泛光灯,同时在“Generral Parameters”卷展栏中,将“Shadows”打开。 依次展开“Shadows Parameters”、“Shadows Map Params”将Objet Shadows Color 设为R:60 G:60 B:60,Sample Radows值设为:14

如果你以上每步操作都正确的话,各视图应如效果应如下图所示:

图5


图6



按F9,看看渲染效果


四、产生聚焦

选择聚光点,将其投影选项打开,设置“Multiplier(倍增)”值为0.1,展开“Shadows Parameters”卷展栏,点击“Map”旁边的长按钮,为其指定一个“Gradient(渐变)”阴影贴图,按M键,打开材质编辑器对话框,将阴影贴图“Gradient”拖动到材质编辑器的一个空白示例球上,在弹出的对话框中,选择“Intance(关联)”单击“OK”确认

展开“Gradient Parameters”卷展栏,将“Gradient Type”设为“Radial”方式,并将Color #1设为:R:0、G:0、B:0;Color #2:R:74、G:74、B:74;Color #3:R:255、G:255、B:255; Color 2 Position:0.5。
展开“Shadow Parmeter” 卷展栏,将Dens值设为:2.0
再次按F9,看看是不是产生如图1一样的聚焦效果。


如果是不规则的物体,用此法也一样可以实现聚焦效果,包括反聚焦,你也可以用photoshop做一张聚焦贴图,来随心随欲的创建你想要的效果。

以上全部教程及范例文件,你可直接从这里下载:
www.yibo.net/soft/max/jujiao.rar
也欢迎大家我的论坛www.yibo.net,一起讨论相关3D问题。

---------------------------------------------------------
版权所有 艺波网(www.yibo.net)  转载请注明出处
白雪飘扬 于上海 2002-10-20

编辑历史:[这消息被白雪飘扬编辑过(编辑时间2002-10-23 23:54:56)]


5D平平

职务:管理员
等级:7
金币:20.0
发贴:5264
注册:2004/7/29 13:09:23
#22002/10/21 20:12:38
呵呵 不错的教程阿!!
说一点看法
质量上还是有区别的 毕竟MAX的Scanline是没有GI的
这是不能和FR BR VR...相比的
最好再加上模拟GI就更好了 :)
有速度有质量 :)

编辑历史:[这消息被weed编辑过(编辑时间2002-10-21 20:13:12)]


5D平平

职务:管理员
等级:7
金币:20.0
发贴:5264
注册:2004/7/29 13:09:23
#32002/10/21 20:28:48
要产生自然环境中柔和的光感,很多朋友用到BRAZIL、MR、FR等等热辐射渲染器来实现,但这些插件的渲染速度大多很慢,尤其是做动画的时候不实用,用SCANLINE来模拟就快多了,但这就需要平时多在生活中观察物体周围的光影分布,这样知道该怎样去正确地模拟光辐射了,这里就一个场景先讲一讲我的做法吧!



先打一盏聚光灯,如图设置参数,把smaple range的值设为8,使影子柔一点。这就是主光源了。



在上方加四盏泛光灯(这个场景简单,所以只用四盏,如果是复杂的场景,就得增加灯的数目了),把smaple range的值设为8,使它们产生的影子尽量柔和。



然后在下加四盏泛光灯,这时候就不用投射阴影了,让它们的光穿过所有物体,模拟来自地面和物体间的光传递(也是因为这个场景简单,所以只用四盏,如果是复杂的场景,那么在上面也还要加几个泛光灯了),这时候的效果还是能让人满意的。



如果你对光线的要求和我一样挑剔,那就还在下面还补补光,这个效果要强多少,你们自己试试就知道了!



这是MAX源文件,下载后把扩展名改成max就可以用了。
218.76.39.7/bbs/attachments/200207/10004907.jpg



也有朋友对模拟面积光阴影有兴趣,这个操作起来要麻烦一些了,模拟面积光阴影受很多因素的影响,物体的大小,光源的远近,灯光阵列的数目都影响它,而且阵列灯的相互距离要和光源的远近及size值和smaple range值相匹配,找到一个最佳值,使速度和质量都得到保证,不同大小场景里这些匹配值都不同,调起来比较麻烦,我感觉实用价值不大,也难讲,就给个场景,有兴趣的朋友可以自己研究一下。




简单的模拟效果




5D平平

职务:管理员
等级:7
金币:20.0
发贴:5264
注册:2004/7/29 13:09:23
#42002/10/21 20:29:26
呵呵 忘了说了 转自chinavfx :)



5D帽子

职务:普通成员
等级:4
金币:10.0
发贴:1583
注册:2001/8/20 8:15:07
#52002/10/22 15:59:28
很棒的灯光教程,要求上顶

就是有的图看不见了



予之无恒天

职务:普通成员
等级:1
金币:1.0
发贴:304
注册:2002/9/21 0:21:57
#62002/10/23 0:37:29
dddddddd.



5D帽子

职务:普通成员
等级:4
金币:10.0
发贴:1583
注册:2001/8/20 8:15:07
#72002/10/23 8:51:17
恒天兄想灌水啊?还是没睡醒?



飞絮

职务:普通成员
等级:1
金币:0.0
发贴:279
注册:2002/7/21 16:43:51
#82002/10/23 11:12:03
越多越好,收了!谢谢!



白雪飘扬

职务:普通成员
等级:1
金币:0.0
发贴:40
注册:2002/5/28 19:48:47
#92002/10/23 23:49:19
很多插件的效果是很棒,普通玩家,做几张静态的图片欣赏,还是可以牺牲宝贵的时间,但要是做动画,哈哈,我怕爱机就受不了。

我也同意楼顶兄弟的看法,只要用去观察生活,再加上足够的耐心,很多效果,不用插件,也一样可以实现。

前天,做一段动画,是模拟星球大战的一个小片段,用了太多的特效与插件,结果,我P42.4G 521M DDR内存,渲染了一个晚上

编辑历史:[这消息被白雪飘扬编辑过(编辑时间2002-10-23 23:51:14)]


5D平平

职务:管理员
等级:7
金币:20.0
发贴:5264
注册:2004/7/29 13:09:23
#102002/10/24 0:04:01
做动画 一个晚上还好吧 :)



白雪飘扬

职务:普通成员
等级:1
金币:0.0
发贴:40
注册:2002/5/28 19:48:47
#112002/10/24 0:07:40
第二天,眼都红了。:D
兄弟这么晚还没休息?!



白雪飘扬

职务:普通成员
等级:1
金币:0.0
发贴:40
注册:2002/5/28 19:48:47
#122002/10/25 20:26:35
其实,MAX5.0的GI功能已非常的不错!提供了Light Tracer(光线跟踪)与Radiosity(光能传递)两种CI
可以对比一下

这幅图用的是Light Tracer(光线跟踪)型GI后的效果



这幅是(光能传递)型GI

两者的区别是:
光线跟踪形,简单通用,易于使用。不需要理太多的技术概念产,只要一步,就能达到以假乱真的效果,
但不是很真实

光能传递形,要复杂的多,需要特定的准备的模型与场景
在渲染时,前者每一帧要计算一次,后者只会计算一次,除非灯光与物体等发生移动,或变化




为了证明CI处理前后的效果,我简单做了一个场景,其它的,兄弟们不要砸,主要对比一下CI前后的效果

这是没加GI处理前的效果


CI处理后的效果