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