加载中…
个人资料
FusioN
FusioN
  • 博客等级:
  • 博客积分:0
  • 博客访问:861,691
  • 关注人气:1,488
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

CGFusion从零开始——编写RenderMaster (五)个性化

(2012-08-22 20:55:45)
标签:

一键渲染

从零开始

渲染大师

脚本编写

maxscript

CGFusion从零开始——编写RenderMaster <wbr>(五)个性化
    这一章将进入RenderMaster的核心内容编写,和以往一样,先从UI界面编写开始,有助于我们清楚逻辑结构。

1.和之前创建环境模板的脚本一样,编写如下代码,创建一个空界面。(不记得代码含意的话,请翻看前面的章节,这里不复述。)
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

2.把输入光标放在第一个rollout的括号内任意位置。点击菜单栏"tolls"--"Edit Rollout",打开MAXscript的可视化编辑器。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

3.打开可视化编辑器后,选中左边视窗空白方块,拖拉四周的小黑点改变他的尺寸,可以在右边视窗中查看和修改它的相关参数。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

4.如图创建一个按钮Button,并修改他的参数,如下图(注:可视化编辑器下方的一排按钮,称之为控件,每个件的使用方法得亲自实践研究)
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

5.切换到“Event Handler”,可以看到这个按钮里所带的事件(注:Event,即事件,动作通过事件来触发)。
勾上事件“pressed”,在弹出的对话框中,输入如图代码。它的作用是,当按下这个按钮时,运行"DefaultsEnv.ms"这个脚本,即之前编写的环境模板脚本(我将它放置在之前规划好的RenderMaster目录下)
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

6.CTRL+E执行代码,点击一下刚才创建的按妞,如果你编写正确,即会弹出环境模板的UI
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

7.当我们编写了多个rollount之后,并且里面添加了很多内容。如果每次我们运行脚本。它们都是展开的话,就显得很乱,所以我们要进行相关设置,让脚本被执行时,暂时不需要操作的rollout将它自动收起。
在脚本最后加入如图中的代码,脚本执行时,rollout的状态是收起的。不设置rollout收起的话,它默认是展开的。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

8.再次打开可视化编辑器,使用spinner控件,创建渲染尺寸设置按钮,参数如图。其中
"range":区间,即参数范围。从左到右三个数值的分别是,最小值,最大值,默认值。
"type":数据类型,#integer为整数;#float为浮点数,即小数。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

9.创建一个Group Box,参数如下图。groupbox的作用是在UI上划分功能组,仅仅作用于界面上,没有实际的意义,所以"name"可以不重新命名。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

10.创建一个label,"caption"为“缩放比例”
创建一个dropDownList,参数如图,其中
"items":下拉菜单的子项,我这里设置了4个子项,用于之后调用,建立数据关联。
"selection":即dropDownList默认的选项,这里设置是3,即itmes中的“1/4”
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

11.使用相同的方法创建草图级别的两个控件,参数如图
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

12.创建一个Color Picker,参数如图,这个控件的作用是设置白模渲染时,覆盖材质的diffuse。
创建“白模预览”和“草图渲染”两个按钮。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

13.执行脚本,检查各个控制参数改变,是否有错误信息弹出。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化
14.使用之前的方法,创建“灯光强度”groupbox,和“HDR”,“SUN”两个spinner控件
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

15.创建一个slider,参数如图
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

16.接下来为以上创建的各个控件添加事件。
我们需要一个功能,就是启动渲染大师时,可以自动帮我们完成相关的基本设置,调用vray渲染器,设置系统gamma等等。我这里使用的是“个性化”rollout的open事件,当“个性化”这个卷展栏打开时,执行如下代码,自动设置相关参数。
(错误纠正:下图中代码第72行,最后的“1”,应该改成“0”才是IRR光子贴图)
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

17.接着是为“HDR”,“SUN”,“主光方向”添加相关事件,如下图,我们先在事件编辑器中输入一个括号,按OK,保存并退出可视化编辑器。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化
MAXscript Editor里会自动添加事件代码,因为上一步的事件编辑器中,输入代码是没有自动格式的,不直观。一般我们采用这种方法来编辑。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

18.VRayDomeLight强度,Vraysun强度,主光方向,事件代码如下:
再重复一下try()catch()的作用,尝试执行try后面的内容,如果返回的是false,则执行catch后面的内容。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

19.为“缩放比例”下拉菜单添加事件,DropDownList通常配合“case....of...”这个语句使用。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

20.为“白模预览”添加事件,完成到这一步,已经可以调用出你之前做的环境模板,进行白模测试了
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化
21.为color picker添加事件,用于修改白模材质的diffuse
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化
22.本章使用到的两个全局变量
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化
至此,已完成功能
1.渲染尺寸设定
2.渲染缩放比例
3.HDR和SUN强度设置
4.主光方向设置
5.白模渲染

补充知识:
大家会发现这一章调用了很多莫名其妙的参数,我们怎么去查找这些参数代码?
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化
扩展:
    有的朋友提出,想在渲染大师启动的时候,自动获出当前渲染尺寸,方法是比较简单的:
     1.首先在脚本开头,设定两个全局变量,分别代表,渲染宽度和高度
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化
    2.接着,在之前自动设置系统GAMMA的代码中,加入如下图的两行。“snp1_rdSizW”这个渲染大师中“宽”这个控件的变量名,如果你们使用的命名和我的不一样,必须改成自己的。
CGFusion从零开始——编写RenderMaster <wbr>(五)个性化

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有