部分情况下,osgb导出的fbx模型进入unity后,会出现破面问题。此时,将模型导入3dmax再导出,可解决这一问题。为了适应大量模型的自动处理,制作了以下的ms插件。

FBXImporterSetParam "Animation" false      -- 动画
FBXImporterSetParam "Cameras" false      -- 摄像机
FBXImporterSetParam "Lights" false      -- 灯光
FBXImporterSetParam "Mode" #create      -- 导入设置(仅添加)
--设置FBX导出对话框参数
FBXExporterSetParam "Animation" False               -- 关闭动画
FBXExporterSetParam "Cameras" False                  -- 关闭摄像机
FBXExporterSetParam "EmbedTextures" True     -- 嵌入纹理
FBXExporterSetParam "Lights" False                      -- 关闭灯光
---------------------------------------------------------------------------------------------------------------------


--actionMan.executeAction 0 "40472"

rollout form "FBX文件自动处理"
(
    label lbl "点击导入fbx路径按钮,自动导入并导出fbx文件到本身所在文件夹" width:280 height:60 align:#left  -- 标记名称
    button 'btnImport' "导入fbx路径" pos:[203,85] width:90 height:35 align:#left     -- 按钮名称 
     

    on btnImport pressed  do
        (
            floderPath = "C:\Users\31191\Desktop\Test"
            
            dir_array = GetDirectories (floderPath + "/*")
            
            for d in dir_array do
            (
                fs = getfiles(d + "*.fbx")
                
                for f in fs do
                (
                    Global obj_FileName = getFilenameFile f
                    Global exportPath = getFilenamePath f +"\\"+ obj_FileName;  -- 对文件路径与名称赋值
                
                    print exportPath
                
                    importFile f #noPrompt using:Fbximporter  -- 用fbx导入器导入文件
                 
                    Scene_Converter.show()  -- 打开场景转换器
                    SceneConverter.ConvertScene ()  -- Autodesk材质转化为物理材质
                    SceneConverter.visible = false  -- 关闭场景转换器
                
                    -- 导出FBX
                    max select all; 
                    exportFile exportPath #noPrompt selectedOnly:true using:FBXEXP    -- 将选择对象导出到FBX
                    
                    print "导出完成: " + exportPath
                    -- 重置max                
                    resetMaxFile #noPrompt   
                )
            )
        )
)
createdialog form 300 130 style:#(#style_titlebar, #style_border, #style_sysmenu, #style_minimizebox)
04-08 06:07