XSI实现透明、焦散效果

修改
鏉ユ簮: 貌似殊途 浏览 1970 日期 2011-10-24 0

1、在front视图用create > curve > draw cv nurbs命令画出杯子的旋转基线,然后使用命令create > surface >revolution along axis,使用默认值即产生旋转后的杯子,如果形状有什么不满意的,就选择刚才画的线按t键进入点级进行修改,同时即可观察到杯子因构造关系连带的变形。

2、调整完毕,选中杯子,按freeze按钮冻结历史,这样我们就可以利用产生杯子的曲线改装成水的生成曲线了。

3、选中刚才的曲线,按t进入点级,调整形状。如果需要删除点就直接按delete键,如果要加点,就选择modify > curve > add point tool命令在目标处添加(左击首延长、右击尾延长、中击线中加点)。最后同样对曲线进行旋转生成。

4、在旋转后,在视窗上的工具条中点一下眼睛,在其中选中normals,它可以使选中物体的法线显示出来,虽然xsi是默认双面渲染和显示的,但法线的方向仍如其它软件一样不可忽视,尤其在我们这个使用双面材质的实例中更是如此。

5、最后做一个当做桌面的盒子或面片,建模就算完成。

6、开始设材质,首先选中桌子,按material > phong命令给它使用一个phong材质,在打开的面板中,调整color后的色彩改变桌子的基本色,在transparency/reflection标签下调整reflection的颜色,将改变桌面反射的颜色和强度。

7、选中杯子,按material > phong命令给它赋一个基本材质,按7键打开材质树。选择材质树的菜单nodes > switch > front-back命令,产生一个双面混合节点;用nodes > illumination > phong命令产生别一个phong材质节点,然后按下图所示将它们装配起来。

8、双击phong节点打开材质编辑器,进入transparency/reflection标签,调整transparency下的color为0.98左右、index of refraction为0.05左右;reflection下的color调整为0.14左右,其它使用默认值。

[next]

9、回过头来在材质树中双击phong1节点,改变transparency/reflection标签下的color为1.0纯白、index of refraction为默认的1;下面反射的color也使用默认的纯黑。杯子材质完成。

10、水材质:选中水模型,按material > phong命令给它赋一个基本材质,进入transparency/reflection标签,调整transparency下的color为0.9左右、index of refraction为1.33左右;reflection下的color调整为0.03左右,其它使用默认值。

11、环境贴图:按3进入渲染命令组,在最下的pass区中选择edit > current > pass命令配置当前渲染通道的环境参数。点environment shaders标签,选add按钮加入一个environment,然后按new钮找到一个可以做为环境贴图使用的图片。

12、渲染参数:按q键在摄影机视图中拉一个渲染区,渲染即可呈现,但此时的结果很难让人满意,杯子和水中有大块的灰色错误,这是由于光线跟踪的默认返回值低的原因造成的。在渲染区的黄色线框上点击并打开第一项属性编辑器,选择optimization标签,在raytracing depth区中改变如下设置:

--reflection:4

--refraction:6

--maximum ray depth:8

再次渲染,效果基本正确,只差精度不高,渲染框右侧可调。

13、焦散:先选中桌面,在右侧工具条中找到selection按钮,从点开的面板中找到visibility项,打开它的参数面板, 在caustics区的receivers后屁股打挑,表示接受焦散光。

14、选中水,如上一步那样设置,只是caustics区选项改为transmitters发射。如果愿意,还可以给杯子加上同样的设置,只是计算时间会更长。

[next]

15、在右侧工具条中找到scene按钮,打开light的面板,选择photon标签,激活caustics选项,然后修改颜色下面的intensity值为10。

16、在渲染框上右击打开渲染选项面板,找到photon标签,激活caustics项,使用默认值即可。

17、渲染吧,多少时间?我可不敢说,反正挺慢长的

贴图是hdr转的map

评论

{{ username ? username.charAt(0).toUpperCase() : '?' }}
Ctrl+Enter 发布
{{ (c.username || c.author_name || '?').charAt(0).toUpperCase() }}
{{ c.username || c.author_name }} {{ Utils.formatDate(c.created_at) }}