Maxscript文件路径读取?

问题描述 投票:0回答:1

嘿,伙计们,我有这个简单的脚本,正在测试。目前,它基本上让你选择一个位图,然后添加路径到edittext。assign shader按钮创建了一个材料并将其分配。我想做的是使用用户路径来定义一个位图纹理来添加到漫射槽中。有点卡在那里了.提前感谢大家的帮助.这里是目前的脚本。

try(DestroyDialog Browse)catch()

滚动浏览 "浏览" 宽度:550 高度:150

(

button btn_browse "browse" pos:[430,20]
button btn_assin "Assign Shader "
edittext edt_image "ImageFile:" fieldWidth: 350 pos:[5,22]

on btn_browse pressed do
(
    imgDir = getOpenFilename caption: "Open File"   types: "Jpg (*.jpg)|*.jpg|Exr (*.exr)|*.exr|Tif (*.tif)|*.tif|ALL|*.*|"
    edt_image.text = imgDir

)

on btn_assin pressed do
        (   
            if edt_image != undefined do
            (   
                for i in selection do
                    (
                    i.material =  meditmaterials[1].diffuseMap = Bitmaptexture filename: ????????????????????
                    )
            )
        )

)

创建对话框 浏览

bitmap shader 3dsmax maxscript
1个回答
2
投票
try(DestroyDialog Browse) catch()
rollout Browse "Browse" width:550
(
    editText edt_image "Image File:" fieldWidth:400 across:2
    button btn_browse "Browse" align:#right
    button btn_assign "Assign Shader"

    on btn_browse pressed do
    (
        local imgPath = getOpenFilename caption: "Open File" types: "Jpg (*.jpg)|*.jpg|Exr (*.exr)|*.exr|Tif (*.tif)|*.tif|ALL|*.*|"
        if imgPath != undefined do edt_image.text = imgPath
    )

    on btn_assign pressed do if isProperty meditMaterials[1] #diffuseMap AND doesFileExist edt_image.text do
    (   
        meditMaterials[1].diffuseMap = BitmapTexture filename:edt_image.text
        selection.material = meditMaterials[1]
    )
)
createDialog Browse
© www.soinside.com 2019 - 2024. All rights reserved.