3dsMax 按物体分离材质

来源:互联网 发布:局域网怎样破解mac上网 编辑:程序博客网 时间:2024/04/30 23:29
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)
 


)




)


 
0 0
原创粉丝点击