• 设置相对路径的方法


    方法一:

    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

     *方法三:将全部贴图设置成相对路径

    for i in objects do
    (
        --判断是否是多维子材质
        if(classof i.material==Multimaterial) then
        (
            --遍历多维材质的材质球个数
            for numsubs = 1 to i.material.numsubs do
            (
                --判断子材质球是否不是未定义
                if(i.material[numsubs]!=undefined)do
                (
                    --将子材质的全部贴图文件存放到数组中
                    mapsAll=i.material[numsubs].maps
                    
                    --遍历贴图的数量
                    for m = 1 to mapsAll.count do
                    (    
                        --判断贴图是否不是未定义
                        if (mapsAll[m]!=undefined) do
                        (
                            --获取贴图名字
                            fileName=getfilenamefile mapsAll[m].filename
                        
                            --获取贴图格式(后缀名)
                            fileType=getfilenametype mapsAll[m].filename
                            
                            --获取贴图的名称(文件名+后缀名)
                            texName=fileName+fileType
                            
                            --重新赋值贴图的名字(设置成相对路径)
                            mapsAll[m].filename=texName
                        )--end of if
                    )--end of mapsAll.count loop
                )--end of if 
            )--end of numsubs loop
        )--end of if
        else
        (
            --将材质的全部贴图文件存放到数组中
            mapsAll=i.material.maps
            
            --遍历贴图的数量
            for m=1 to mapsAll.count do
            (
                --判断贴图是否不是未定义
                if (mapsAll[m]!=undefined) do
                (
                    --获取贴图名字
                    fileName =getfilenamefile mapsAll[m].filename
                        
                    --获取贴图格式(后缀名)
                    fileType=getfilenametype mapsAll[m].filename
                    
                    --获取贴图的名称(文件名+后缀名)                        
                    texName=fileName+fileType
                    
                    --重新赋值贴图的名字(设置成相对路径)
                    mapsAll[m].filename=texName
                )--end of if
            )--end of mapsAll.count loop
        )--end of else
    )--end of for loop
  • 相关阅读:
    java file文件类操作使用方法大全
    java 中可以在方法中 新建 方法吗
    java InputStream读取数据问题
    file 创建方法
    java中File类的使用方法
    jquery怎么获取radio的值
    //初始化无限滚动分页组件
    表单提交 封装成json格式
    几个常用EL表达式的用法
    简单的顺序队列
  • 原文地址:https://www.cnblogs.com/amixc/p/4026602.html
Copyright © 2020-2023  润新知