设计兵团展览设计论坛

QQ登录

只需一步,快速开始

[软件技术] 一些简单教程希望对大家有用噢 非原创

  [复制链接]
 楼主| 发表于 2008-4-18 10:09:47 | 显示全部楼层
第一讲第三部分:实例2:

完成了上一个例子.好,有人又说了:“丁,怎么样把那些房子都做成不一样的颜色?”最简单的方法就是一个一个的点击物体,然后一个一个的对他们的线筐颜色进行调整。(— | | |)—凸—)~_~)——_—)。这个这个。呵呵。。倘若想使用MAX Script,仔细想一下,其实这也是很简单的,学会一个属性命令——wirecolor就可以做到了,
 楼主| 发表于 2008-4-18 10:10:05 | 显示全部楼层
1:这里有100个BOX,选中他们。
2:然后脚本
3:然后完成,我这里有100BOX他们的颜色都是不一样的。

来看一下代码:for a in selection do a.wirecolor=color(random 0 255) (random 0 255) (random 0 255)
有人说:“老师,什么意思?”在这里for a in selection不说了,do 后面跟的是a 及wircolor两个关键词。Wirecolor是线筐颜色的意思,中间 . 号连接表示a的线筐颜色,后面是一个新的表达式:color
现在我来说一下color的使用方法。
Color+RGB是理论表达式,RGB都用0到255之间的数字表示,好了这样就有人写出了这样的表达式:Color 50 250 150。回车执行代码后,发现是错误的。而我就觉得这些人在我前面说的内容还是没有理解。Color后面既然想表达3个数字分别对应RGB,能这样表达吗?是3个数字,不是一个数字。50 250 150,这是什么值?虽然可以表达RGB,但是格式不对。前面的内容我已经详细的讲解过了一点了:小夸号()的使用方法,小夸号()里面用来表示一个具体的数值。所以在这里,写成Color (50)(250)(150),就显的更加合理
跟上前面的表达式连起来看一下。for a in selection do a.wirecolor=color(random 0 255) (random 0 255) (random 0 255)显然,我把已选择的物体的RGB都在0到255上面进行随机取值,这样就可以做到颜色都不一样了。
 楼主| 发表于 2008-4-18 10:11:08 | 显示全部楼层

以上是MAX Script经常出现的几中情况错误,仔细观察。红色的文字告诉你是什么地方出了问题。
1:-- Error occurred in a loop
-- Frame:
-- a: $Box101
-- Argument count error: Color wanted 4, got 1

这个提示应该还是比较好理解的,他告诉你BOX101没有办法按照代码被赋予正确的线筐颜色。而且也告诉了你是在“Color”这一指令后出的问题,很明显这个就说明Color的表达有问题。
仔细观察,发现错误语句中的Color表达是:Color(0 255 255)。而实际上3DMAX Scrip中的——()小夸号,里面只能存一个固定的数值,0 255 255虽然是“RGB”色彩代码的表示方法,但是不符合语法,小夸号内必须存一个固定的数值,在MAX Scrip中“Color”指令后确实是要跟三个数字来表达R、G、B的,此时我们使用3个小夸号:()就比较合理了。
2:-- Syntax error: at keyword parameter, expected name
-- In line: for a in selection do a.wirecolor:color

出错了没有关系,MAX Scrip中的错误是最好排除的,仔细观察红色的提示代码,要认认真真的找下在什么地方出错。他告诉你咯,这个“for a in selection do a.wirecolor:后出现了错误,”意思是这个“等于”号不能这么打,而输入“=”就比较合理了。(我上是用“冒号”代替“等于号”的)
3:我胡乱打的虾米…...看看他告诉我什么:undefined。意思是有定义。
解决办法比较传统,入下:“没有定义的变量或者名称”=*即可(*可以是任何数值或者表达式,总之必须是一个已经被定义过的语句。)
4:这是在MAX Script中一个比较典型的错误,如何判断一个有效的表达式。MAX Script中运行代码的时候,是从上向下依次逐行运算,仔细观察,发现错误代码为:
a+b/c
+d
MAX Script在进行运算的时候,在第一行,会把他当成a+b/c进行运算然后直接输出结果,执行第二行的时候,就会提示“+号”使用错误,这是一段断开的代码,没有从头到尾的连续性。VC 和JAVA在这方面都使用了——{}大夸号来表示一段完整的程序代码。然后一段代码中还能继续使用{}大夸号继续定义子程序树。在MAX Script,加上反斜杠\就显得比较合理了
a+b/c\
+d
这样效果就等同于a+b/c+d.。如果想要把几条表达式合并成一行,也可以使用分号隔离.比如如图.

 楼主| 发表于 2008-4-18 10:15:32 | 显示全部楼层
先说说灯光的布置吧。

我的思路是:一次性使用HDR把环境照亮,然后使用V-ray的面光灯片进行补光。并且在V-ray的环境反射通道里使用工业产品专用的反光板HDR,刻画有反射属性材质的质感。


在V-ray Environment环境效果参数面板中,第一个是环境光的HDR,第二个是反射环境专用的HDR,这两个选项我都给了不同的HDR。


第一张图是环境光HDR的参数设置,我使用的是一张阳台上的反射球的HDR作为环境光源.

需要注意下右边的Map type,这里要选择:Mirrored ball反射球。然后你可以根据自己需要调整一个合适的角度,比如在这里我是将这HDR的角度调整到仰视天空的角度。

第二张HDR是工业产品渲染专用的反光板式HDR,可以发现这张HDR只有黑白2中颜色,这使得反光板效果更加强烈。

和前面的环境光HDR不一样,这儿需要把Map type贴图的类别设置成 Spherical environment球形环境,他才能更好的包裹住场景。

另外我不希望反光板效果太强烈,第一个Multiplier倍增开到0.6就可以了。

使用这样的HDR制作反光板的效果,可以更好的避免实打光板造成反光板参与GI运算的现象,但他也有致命的缺点,就是不可控性,这样的HDR是不能通过渐变贴图来控制反光效果的。

环境光设置好后给物体一个材质就可以渲染看看效果了,基本上第一步设置环境光的目的是让场景中物体整体效果先亮起来。



只用HDR环境光渲染到这个亮度就差不多了,因为接下来还要用VR的面光进行补光。



现在我们进行补光,入图,建立9个之间互相关联的VR面光源,参数基本上不变,这些等都不可见,倍增设置到1.8左右。



加了补光之后,场景的亮度有了进一步的提升,现在我们就在这样灯光下面进行材质编辑。
 楼主| 发表于 2008-4-18 10:16:01 | 显示全部楼层
首先我们同时编辑白色的琴键和机身的材质,这个是一种具有反射属性的材质,所以我们要打反光板(HDR反光板只是一个辅助的作用,真正的制作过程中我们还是要打不少实际存在的反光板的)

机身


机身是一种和我们键盘类似的材质,这样的材质有反射模糊属性,但是颗粒又很细小,所以又不足以去使用磨砂塑料的材质,我们一方面不能给太大的颗粒,另外一方面也不能给过高的反射


Reflect的颜色给的不是很高,40、40、40,然后把Refl glossiness反射光泽度开到0.7,让材质具有比较大的反射模糊。

最后把Subdivs的参数降低,调整到4左右,机身材质就设置完成了。

白色琴键


白色的琴键是具有一定的反射属性和高光,这里我们需要打开Hlight glossiness和Refl glossiness之间的关联,这样同时设置了物体的反射和高光之后他才不会出现反射模糊的现象。

Hlight glossiness值设置到0.85左右。Refl glossiness的参数需保持1.0。顺面加大Subdivs细分参数到16,得到更细腻的效果。

设置完材质的参数之后我们需要在场景中建立一个实际存在的反光板供白色琴键使用,这个很简单,直接在琴键上方建立一个BOX,赋予一个纯白的自发光材质就可以了。如下图参考。



反光板的位置仅供参考,关键是要摄影机视图中琴键上要能反射出反光板即可。


然后这个是反光板材质的参数,需要说明的是,我们要在Diffuse表面色通道中添加一张Output输出贴图,在输出贴图的参数面板中将 RGB Offset的值设置到1.55左右,使得白色自发光效果更加剧烈些。

黑色琴键


和白琴键大致一样,首先给这个材质一点反射,只要一点点就够了。

接着打开Hlight glossiness和Refl glossiness之间的关联,把Hlight glossiness值设置到0.85左右,使得材质具有反射、有高光但不带反射的模糊。


表面色中使用的是一章Gradient Ramp渐变贴图,这里需注意一下渐变贴图的参数设置.

Gradient Type,渐变类型选择Lighting灯光方式,然后渐变颜色是很强烈的深灰往黑色过度,这样灯光在物理表面衰减的同时,也就留下了强烈的渐变效果,可以模拟出很好的反光板的效果。

此方法也经常用来表现二维的卡通质感,大家感兴趣的话可以研究一下,效果还是挺不错的。
 楼主| 发表于 2008-4-18 10:16:28 | 显示全部楼层

这个控制台一共有 5个材质要讲解

1:红色开关及开关的边框
2:红色按钮
3:金色、蓝色旋钮
4:金属底板

1:红色开关及开关的边框


红色的开关他实际上一种具有很强磨砂属性的塑料材质,一方面我们要直接在Bump凹凸通道里面添加Noise贴图来得到磨砂效果,另外一方面一定要使用比较强烈的反射模糊效果


参数全部都在这里了,Diffuse表面色给的是一种比较深灰的红,V-ray的色彩失真非常厉害,先前在材质中调的颜色基本上渲染出来不是那种颜色,所以经过反复测试,我选择了这种红色,大家可以适当参考一下。

然后我们需要在Refl glossiness反射光泽度通道中添加一张Nosie贴图,用来得到比较好的反射模糊效果,因为我们的摄影机在离开关比较远的地方,所以这个Noise的Size不能太小了0.4还是比较适合的。

另外Coordinates参数面板下的Blur模糊程度也不要太高,应当设置在0.1左右。最后就是Vray标准材质面板下的Subdivs细分值,设置在5左右,好得到因模糊反射而产生的颗粒。


完成了材质的采参数设置后,到这里,我们还需要把第一个Refl glossiness反射光泽度通道中添的Nosie贴图的强度设置到57%左右,因为如果是100强度的Nosie,那么材质将失去反射模糊属性。(只在Nosie贴图的白色区域产生)此外还需将这个Nosie关联一个到Bump凹凸通道当中去,好得到更好的磨砂塑料的感觉。

开关的黑色边框:


开关的边框就是很普通的塑料材质,带有一点点的磨砂效果,这里就用模糊反射时候产生的颗粒来模仿塑料表面的磨砂效果,所以我们需要给一定的反射,

然后把Refl glossiness反射光泽度的参数设置在0.9左右。默认的8 倍Subdivs细分就可以产生很好的颗粒效果了,所以这里不去修改Subdivs值。

2:红色按钮


每个金色的旋钮前面都有个蓝色和红色的小按钮,这种小按钮类似于车漆材质,但设置起来要比车漆材质简单。

先调一个颜色,然后给个反射就可以了,蓝色的按钮也是一样的道理,在这儿就不多做演示了。

此材质的反射不要给的太高,这里我给的是25、25、25,我把下面的Subdivs细分开的很高,不过一般没有反射模糊的话给到12就足够了。
 楼主| 发表于 2008-4-18 10:16:51 | 显示全部楼层
3:金色旋钮

最终的成品图渲染的时候,这个金色旋钮的效果依然让我很不满意,记得Archmode模型库里面有一集全是音乐器材,其中就有一张就是这种金属旋钮的特写.那质感还是非常好的,大家可以去网上找一下,说不定你就会有意外的收获~。

我没有专门的金属拉丝材质,就用一张地板的材质到PhotoShop修改的,一起来看看是如何设置的。


这个就是金色旋钮的全部参数了,表面色通道添加的是一张类似与金属拉丝的材质,然后反射、反射光泽度通道中都添加了一张Falloff衰减贴图,但在作用和设置上却大相径庭。

反射通道中添加的Falloff衰减贴图,由黑色衰减到白色,在黑色通道中使用的是表面色所使用的纹理贴图,这样做的原因是为让反射和纹理有所匹配,单又不希望作用的太明显,所以前面的倍曾才被我设置到0。

其次下面的白色强度也被调整到50%,这样做的目的是降低整个材质的反射强度,从而保留金属固有的一些特性。

Refl glossiness反射光泽度通道中添加的Falloff衰减贴图,也是由黑色衰减到白色,但在Falloff Type衰减类别上选择的是Shadow/Light,意思是说材质根据灯光的衰减在衰减颜色;

这是一张被添加到Refl glossiness反射光泽度通道中的衰减贴图,所以白色表示影响光泽度,黑色表示不影响光泽度,这样做的目的是为了让材质能够跟着灯光的变化产生强烈的高光变化。

最后一步需要做的是把表面色的纹理复制到Bump凹凸通道中去,好匹配金属拉丝的效果,再把反射属性中的Subdivs细分参数调高,直接打到32,即可得到相当细腻的反射效果。

4:金属底板


这是一种金属拉丝材质的制作方法,在这里被使用到了合成器的控制台上,效果还不错,制作起来也很方便。


首先来看一下这个金属拉丝材质表面纹理的处理,由于这张图本身的文理就不是很清楚,所以我们在这里就不要使用纹理抗锯齿了.

如图到Bitmap控制面板中先把Blur模糊程度修改到最小,即0.01,然后到下面的Filtering选项中选择None,这样就关闭了纹理抗锯齿,也做到了最大限度的保真材质原有的纹理(此方法慎用!)


面色设置完成后,其余的参数都在这里了,先到反射通道中添加一张Falloff衰减贴图,由黑衰减到白,适当的调节曲线,让白的成分远大于黑的成分,并在白色通道中添加表面色所使用的纹理贴图,通过这张图来控制材质的反射,也好匹配纹理。

Refl glossiness反射光泽度通道中,就直接使用这张金属拉丝文理控制光泽程度就可以,其他的也就没什么,整个材质的设置还是很简单的,下面我们开始渲染。
 楼主| 发表于 2008-4-18 10:17:15 | 显示全部楼层
渲染器的参数设置


这是我使用V-ray渲染器的习惯,加载了V-ray后,我总会迫不及待的开启V-ray的Framebuffer帧缓冲工具,并加载要渲染输出的通道,再进行V-ray渲染参数的设置。因为V-ray的Framebuffer这个工具的功能实在是爽了 ++___| | | |


Global switches:在全局修改面板下,关闭Default light默认灯光勾选。


在Image sampler图象采样面板中把第一个Image sampler的Type类别设置成Adaptive subdivision自适应细分.

第二个Antialiasing filter文理过滤选择Mitchell方式。然后到Adaptive subdivision image sampler面板中把采样大小设置高一些,最小采样值1,最大采样值为4,他表示最小采样为每像素4个采样点,最大采样为每像素16采样点,这样所得到抗锯齿效果就已经相当好了。

不过在这里一般最大采样开到3就已经很高了,他相当于一个像素把他周围所有点都采样完了,再高的话效果也不会有太大的提升。(我是疯子别理我>_<)


开GI,不多说了,要说的是这里二次反弹一定要设置成QMC方式,工业产品渲染,尤其是象这种使用环境光照明的渲染中我们一般是不使用Light Cache、PhotonMap这两种反弹方式的,所以千万不要拿做室内效果图的思路来做工业设计哦


QMC 二次反弹GI Subdivs细分直接开到32,反弹次数7~8(主要因为这里反弹不开高合成器前面的暗处会黑的很死,加灯光又容易暴掉,不好控制,所以通过QMC反弹次数来控制比较好)。

值得一提的是下面有一个QMC Sampler参数面板,这个面板在火星上看见几乎没有人使用,AC的高品质模型库中也很少使用到,但实际上这个面板却是对渲染效果起着决定性影响的,因为这里有一个相当重要的参数:Global subdivs multiplier,全局采样细分倍增。

提高这个参数,那些灯光阴影、反射模糊等乱七八糟的颗粒立即全部消失!立杆见影,作用非常明显!不过染时间也会成倍的增加 ~ 但这个时间花的是相当值得的,V-ray渲染器中有太多的参数提高之后,不但不能提高画面效果,反而消耗大量渲染时间,与其把时间浪费在这些无意义的采样上,不如把时间“浪费”的更有意义点。呵呵~


一次反弹采样走-2一直采到0,消斑参数设不设置都无所谓,因为本身这个场景就没有什么黑斑,加上前面开了4倍的全局采样倍增,效果已经很好了,而且在长期的使用发现,这个所谓的消斑参数不仅消斑效果不好,而且浪费成倍光子采样时间!

直接渲染的结果,没后期的,到此这个音乐合成器的制作就讲解到这,下面进入本期The render Side的技术精粹部分,一起讨论一下V ray的一些使用技巧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

设计兵团推荐上一条 /1 下一条

快速回复 返回顶部 返回列表