您的位置:首页 > 其它

3dsMax 按物体分离材质

2015-09-24 13:15 465 查看
fn converMat obj =(

colorSrc=color 200 200 200

try(

colorSrc=obj.Material.Generic_Color

)

catch()

try(

colorSrc=obj.Material.Concrete_Color

)

catch()

try(

colorSrc=obj.Material.Wall_Paint_Color

)

catch()

try(

colorSrc=obj.Material.Ceramic_Color

)

catch()

try(

colorSrc=obj.Material.diff_color

)

catch()

try(

colorSrc=obj.Material.Masonry_Color

)

catch()

try(

colorSrc=obj.Material.Metallic_Paint_Color

)

catch()

print colorSrc

obj.Material=Standardmaterial ()

obj.Material.Ambient =colorSrc

obj.Material.Diffuse = colorSrc

)

for obj in selection do

(

print obj.material

if (obj.Material != undefined and Classof obj.Material == StandardMaterial)then

(

colorDiffuse=obj.Material.Diffuse

colorambient=obj.Material.ambient

colorSpecular=obj.Material.Specular

opacity=obj.Material.opacity

diffuseMapSrc=obj.Material.diffuseMap

obj.Material=Standardmaterial ()

obj.Material.Diffuse=colorDiffuse

obj.Material.ambient=colorambient

obj.Material.Specular=colorSpecular

obj.Material.opacity=opacity

obj.Material.diffuseMap=diffuseMapSrc

obj.Material.bumpMap=diffuseMapSrc

)

else if(obj.Material != undefined and Classof obj.Material == MultiMaterial)then

(

num=1

for subMat in obj.Material do(

if(Classof subMat==Autodesk_Material) then (

colorSrc=color 200 200 200

try(

colorSrc=subMat.Generic_Color

)

catch()

try(

colorSrc=subMat.Concrete_Color

)

catch()

try(

colorSrc=subMat.Wall_Paint_Color

)

catch()

try(

colorSrc=subMat.Ceramic_Color

)

catch()

try(

colorSrc=subMat.diff_color

)

catch()

try(

colorSrc=subMat.Masonry_Color

)

catch()

try(

colorSrc=subMat.Metallic_Paint_Color

)

catch()

print colorSrc

obj.Material[num]=Standardmaterial ()

obj.Material[num].Ambient =colorSrc

obj.Material[num].Diffuse = colorSrc

)

num=num+1

)

)

else if(obj.Material != undefined and Classof obj.Material==Autodesk_Material)then

(

converMat(obj)

)

)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: