max贴图脚本
⑴ 什么是3dmax脚本,有什么用途
作为一个资深建筑效果图前期建模人员,及入门级的MAXscript开发人员(闲时喜欢研究一下)我可以给你做个简单的介绍。
MAXscript是3ds Max内置脚本语言,Max2.0及以后加入的功能。脚本可使用于建模,动画,材质,渲染等等。它是专门为3ds Max设计的语言。通俗易懂的理解就是编写“3dmax”软件的外挂程序的语言。通过MAXscript脚本语言可以实现对3dmax的二次定制开发,使之更能达到和满足某个行业的使用要求,或大幅提高作图效率。
由于本人一直从事建筑效果图领域,就以建筑效果图领域的插件做个简单的说明嘛
我用过的插件有一些是网上收集的,图创室内max插件、cg工具箱插件等,主要功能是提高建模的效率,比如“快速生成栏杆”,“快速生成门窗,楼梯等”“快速生成地形及铺装”等,参数化的建筑构件建模(填写对象参数后自动生成相应参数的模型:比如:输入台阶的步数、级高,等参数后自动生成相应梯步数的台阶。)在效果图行业效率就是金钱的今天,确实能达到事半功倍的效果。
其他行业用的3dmax插件就没有用过了,也不能乱讲,希望对你有帮助。
⑵ 3Dmax的批量修改贴图命名的脚本怎么使用
一般都是 通过执行 MAXScript——运行脚本 选择你所要用的脚本文件,就可以使用该脚本了
⑶ 3dmax中怎样批量修改路径所指定的贴图格式(懂MAX脚本语言MAXScript的高人请进)
--通过bmp的路径构建tga路径
theFileName = (getfilenamepath bmpFile) + (getFilenameFile bmpFile) + ".tga"
--通过渲染纹理的方式生成对应的tga图片
thetga = renderMap theTextureMap size:theSize fileName:theFileName filter:true
save thetga
--bmp贴图对应的文件夹下就会生成同名的tga图片
--do you want
⑷ 什么是3dmax脚本,有什么用途
你好,点击3dsmax最上面的工具栏,右边数起第二栏,maxscript(max脚本),下拉菜单第三栏run
script(运行脚本),弹出对话框以后,找到你下载的脚本的存放路径,点击确定,就可以使用了。做完以上步骤,你先点击看看右键有没有fbbo这个脚本的英文,没有的话,继续下面的操作。点击3dsmax最上面菜单栏,右边数起第三栏customize下拉菜单第一栏customize
user
interface(自定义用户界面),弹出对话框,点击左边数起第三栏quads(四边形菜单),先点击中间“一黄三灰”的正方形图标的右上角的小正方形图案,然后找到右上角第三栏的gategory(菜单分类)下面的菜单列表(注意不是右边的下拉菜单),找到fbbo这个脚本以后,直接鼠标点住这个脚本名称fbbo不放拖拽到右边的label(标签)下面的大框内,然后退出对话框。右键点击3dsmax界面的空白处,fbbo插件就已经在右键菜单里面了。希望你能看明白!祝你好运!
⑸ 神,那个MAX批量修改贴图后缀名的脚本能给我不
好久之前的了,当时为了项目写的,不是完善的,发不出脚本,下面是直接代码,格式的话自己看看改改
rollout Spriter "ChangeExtName v0.1" width:218 height:300
(
GroupBox grp1 "From" pos:[9,3] width:200 height:50
-- dropdownlist dd1 \
--items:#(".tga",".png",".jpg") pos:[15,25] height:6
DropdownList dd \
items:#(".tga",".png",".jpg") pos:[15,75] height:6
CheckBox fromTga ".tga" pos:[27,25] width:57 height:19 checked:false triState:0 tooltip: ".tga" enabled:false
CheckBox fromPng ".png" pos:[84,25] width:57 height:19 checked:false triState:0 tooltip: ".png"
CheckBox fromJpg ".jpg" pos:[141,25] width:57 height:19 checked:false triState:0 tooltip: ".jpg"
GroupBox grp3 "To" pos:[9,53] width:200 height:50
GroupBox grp12 "Change Channel (if have)" pos:[10,120] width:200 height:80
checkbox isDiffuse "Diffuse" pos:[27,145] width:57 height:19 checked:true triState:1
checkbox isOpacity "Opacity" pos:[131,145] width:62 height:19
checkbox isColor "Color" pos:[27,170] width:57 height:19 enabled:false
button apply "Apply" pos:[36,260] width:63 height:24
button cancel "Cancel" pos:[119,260] width:63 height:24
button help "?" pos:[198,280] width:16 height:16 toolTip:"help"
on apply pressed do
(
if (queryBox "是否开始执行?") then
(
if selection.count == 0 then
(
messagebox "请先选择物体..."
)
else
(
if fromTga.checked == false and fromPng.checked == false and fromJpg.checked == false then
(
messagebox "请选择源格式..."
)
else
(
if isDiffuse.checked == false and isOpacity.checked == false and isColor.checked == false then
(
messagebox "请选择要转换的贴图类型..."
)
else --选择了物体 选择了源格式 选择了贴图类型
(
obj=#()
for i in selection do
--for i=1 to scenematerials.count do
(
print i.name
if i.material == undefined then --如果当前物体没有材质
(
print "no material"
continue
)
else
(
cmat = i.material --scenematerials[i]
)
if cmat.diffuseMap == undefined then --如果当前材质没有漫反射贴图
(
print "no diff"
--continue
)
else --if cmat.diffuseMap!=undefined and cmat.diffuseMap.filename!=undefined do
(
if cmat.diffuseMap.filename == undefined then --如果当前漫反射贴图没有有贴图文件
(
print "no diff_filename"
--continue
)
else
(
if fromTga.checked == true do fTga = findString cmat.diffuseMap.filename fromTga.tooltip--".tga"
if fromPng.checked == true do fPng = findString cmat.diffuseMap.filename fromPng.tooltip--".png"
if fromJpg.checked == true do fJpg = findString cmat.diffuseMap.filename fromJpg.tooltip--".jpg"
)
if fTga != undefined do str1=replace cmat.diffuseMap.filename fTga 4 dd.selected--".png"
if fPng != undefined do str1=replace cmat.diffuseMap.filename fPng 4 dd.selected--".png"
if fJpg != undefined do str1=replace cmat.diffuseMap.filename fJpg 4 dd.selected--".png"
if str1 != undefined do cmat.diffuseMap.filename = str1
)
-- 透明贴图
if cmat.OpacityMap == undefined then --如果当前材质没有漫反射贴图
(
print "no opac"
--continue
)
else --if cmat.OpacityMap!=undefined and cmat.OpacityMap.filename!=undefined do
(
if cmat.OpacityMap.filename == undefined then --如果当前漫反射贴图有贴图文件
(
print "no opac_filename"
--continue
)
else
(
if fromTga.checked == true do fTga = findString cmat.OpacityMap.filename fromTga.tooltip--".tga"
if fromPng.checked == true do fPng = findString cmat.OpacityMap.filename fromPng.tooltip--".png"
if fromJpg.checked == true do fJpg = findString cmat.OpacityMap.filename fromJpg.tooltip--".jpg"
)
-- Ojpg2 = findString cmat.OpacityMap.filename ".jpg"
-- Otga2 = findString cmat.OpacityMap.filename ".tga"
if fTga != undefined do str2=replace cmat.OpacityMap.filename fTga 4 dd.selected--".png"
if fPng != undefined do str2=replace cmat.OpacityMap.filename fPng 4 dd.selected--".png"
if fJpg != undefined do str2=replace cmat.OpacityMap.filename fJpg 4 dd.selected--".png"
if str2 != undefined do cmat.OpacityMap.filename = str2
)
)
)
)
)
)
)
on cancel pressed do
(
DestroyDialog Spriter
)
on help pressed do
(
messagebox "修改贴图路径的扩展名_v0.1\n\n\n\t\t\tby M_BACK" title: "ChangeExtName v0.1"--"重要的不是选择 而是坚持!!!" title:"just a kidding!!"
)
on dd selected itm do
(
fromTga.enabled=true
fromPng.enabled=true
fromJpg.enabled=true
case itm of
(
1 :
(
fromTga.checked=false
fromTga.enabled=false
)
2 :
(
fromPng.checked=false
fromPng.enabled=false
)
3 :
(
fromJpg.checked=false
fromJpg.enabled=false
)
)
)
)
CreateDialog Spriter