方法一:
for i in objects do ( --判断是否是多维材质 if (classof i.material==Multimaterial) then ( --遍历子材质球(个数) for numsubs =1 to i.material.numsubs do ( --获得当前材质球颜色贴图的文件名 fileName = getfilenamefile i.material[numsubs].diffusemap.filename --获得当前材质球颜色贴图的文件类型(.后缀名) fileType = getfilenametype i.material[numsubs].diffusemap.filename --贴图名字=文件名+后缀名 texName=fileName+fileType --去除材质球贴图的路径名,只保留贴图本身的名字(相对路径) i.material[numsubs].diffusemap.filename=texName ) )--end of if else ( fileName =getfilenamefile i.material.diffusemap.filename fileType=getfilenametype i.material.diffusemap.filename texName=fileName+fileType i.material.diffusemap.filename=texName )--end of else )--end of for loop
方法二:
for i in objects do ( --判断是否是多维材质 if (classof i.material==Multimaterial) then ( --遍历子材质球(个数) for numsubs =1 to i.material.numsubs do ( --获得当前材质求的贴图全路径 fullpath = i.material[numsubs].diffusemap.filename --将全路径的字符串分割,并返回到一个集合中 filterName=filterstring fullpath "\\" --集合中最后一个元素就是当前贴图的名字 texName=filterName[filterName.count] --去除材质球贴图的路径名,只保留贴图本身的名字(相对路径) i.material[numsubs].diffusemap.filename=texName ) )--end of if else ( fullpath = i.material.diffusemap.filename filterName=filterstring fullpath "\\" texName=filterName[filterName.count] i.material.diffusemap.filename=texName )--end of else )--end of for loop
时间: 2024-10-16 00:39:50