在项目中我们导入模型需要点击模型,Materials->Location[Use External Materials(Legacy)] 然后apply后材质和贴图才能被导出来,数量少的话还好,但是很多模型的话就很麻烦。
以下代码是为了导入模型后自动将模型中的材质和贴图导出来。
以下代码放入Editor文件夹下:
using UnityEditor;
/// <summary>
/// 编辑模型导入时的默认设置
/// </summary>
public class EditorModelImportSettings : AssetPostprocessor
{
// 预处理模型回调函数
void OnPreprocessModel()
{
// 如果模型名称包括
if (assetPath.Contains("Tile_"))
{
// 获取模型
ModelImporter model = assetImporter as ModelImporter;
//修改模型导入设置 import settings ->Materials->Material Creation Mode参数
model.materialImportMode = ModelImporterMaterialImportMode.ImportViaMaterialDescription;
//修改模型导入设置 import settings ->Materials->Location参数
model.materialLocation = ModelImporterMaterialLocation.External;
//修改模型导入设置 import settings ->Materials->Naming参数
model.materialName = ModelImporterMaterialName.BasedOnModelNameAndMaterialName;
//修改模型导入设置 import settings ->Materials->Search参数
model.materialSearch = ModelImporterMaterialSearch.RecursiveUp;
}
}
}