在一文中,我们学习到了在VRay场景中如何通过脚本一键移除材质中的Raytrace贴图,同时通过脚本关闭讨厌的Raytrace信息窗口,这里我们回顾一下脚本内容先,然后看看如何将移除的Raytrace贴图替换为VrayMap贴图 ,毕竟去掉Raytrace不是我们的最终目的,材质的基本性质不变才是我们追求的。
先看看之前的脚本吧:- for i in sceneMaterials where (classof i.reflectionMap == Raytrace) do (i.reflectionMap = undefined)
- for i in sceneMaterials where (classof i.refractionMap == Raytrace) do (i.refractionMap = undefined)
复制代码 关闭Raytrace信息窗口的脚本纯粹是MAXScript脚本参考手册中的内容,希望大家在学习MAXScript的时候多多翻阅官方的脚本手册,目前2014版本的脚本参考手册内置中英文转换,虽然不是那么尽人意,但比起曾经一片片的E文好多了。
在线MAXScript参考手册2014版网址:http://docs.autodesk.com/3DSMAX/16/ENU/MAXScript-Help/
在右上角有翻译的字样,点后面的播放按钮就可以翻译了
————————————————————————受伤的分割线————————————————————————
下面看一下如何将Raytrace替换为VrayMap贴图:- for i in sceneMaterials where (classof i.reflectionMap == Raytrace) do (i.reflectionMap = VrayMap())
- for i in sceneMaterials where (classof i.refractionMap == Raytrace) do (i.refractionMap = VrayMap())
复制代码 没错,就是这么简单,既移除了Raytrace贴图,又添上了VRayMap贴图。这两句代码跟之前的唯一区别就是最后部分的赋值语句不同而已。VrayMap() 这个就是Vraymap贴图在脚本中的写法,大家不明白没关系,记住就好了,别忘了后面是有括号的喔!
——提醒:在写脚本的过程中一定要使用普通的英文半角输入法。出错误的时候首先要检查自己的字母标点符号有没有出错。
给大家留一个小小的问题:如何将带有Raytrace贴图的标准材质转换为VRay材质呢???
(我已发布了材质转换的工具,开源的,大家可以下载参考,传送门) |