SoFunction
Updated on 2025-03-07

Unity's AssetPostprocessor Model function use practical combat

The practical application of Model-related functions in Unity AssetPostprocessor

Unity AssetPostprocessor is an important feature in the Unity engine, which can automatically make some scripts when importing resources to customize the resources. Among them, Model-related functions can be used to process the imported 3D model, including modifying the material, texture, mesh and other properties of the model. This article will introduce the practical application of Model-related functions and provide multiple usage examples.

ModelImporterMaterialName

The ModelImporterMaterialName function can be used to modify the material name of the model. For example, we can modify the material names of all models to "DefaultMaterial". The specific implementation is as follows:

using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
    void OnPreprocessModel()
    {
        ModelImporter importer = assetImporter as ModelImporter;
         = "DefaultMaterial";
    }
}

ModelImporterMaterialSearch

The ModelImporterMaterialSearch function can be used to modify the material search path of the model. For example, we can modify the material search path of all models to "Assets/Materials". The specific implementation is as follows:

using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
    void OnPreprocessModel()
    {
        ModelImporter importer = assetImporter as ModelImporter;
         = ;
         = "Assets/Materials";
    }
}

ModelImporterMaterialImportMode

The ModelImporterMaterialImportMode function can be used to modify the material import mode of the model. For example, we can modify the material import mode of all models to "None". The specific implementation is as follows:

using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
    void OnPreprocessModel()
    {
        ModelImporter importer = assetImporter as ModelImporter;
         = ;
    }
}

ModelImporterMeshCompression

The ModelImporterMeshCompression function can be used to modify the model's grid compression method. For example, we can modify the grid compression method of all models to "Off". The specific implementation is as follows:

using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
    void OnPreprocessModel()
    {
        ModelImporter importer = assetImporter as ModelImporter;
         = ;
    }
}

ModelImporterNormals

The ModelImporterNormals function can be used to modify the normal calculation method of the model. For example, we can modify the normal calculation method of all models to "Calculate". The specific implementation is as follows:

using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
    void OnPreprocessModel()
    {
        ModelImporter importer = assetImporter as ModelImporter;
         = ;
    }
}

ModelImporterTangents

The ModelImporterTangents function can be used to modify the tangent calculation method of the model. For example, we can modify the tangent calculation method of all models to "Calculate". The specific implementation is as follows:

using UnityEngine;
using UnityEditor;

public class MyModelPostprocessor : AssetPostprocessor
{
    void OnPreprocessModel()
    {
        ModelImporter importer = assetImporter as ModelImporter;
         = ;
    }
}

ModelImporterAnimationCompression

The ModelImporterAnimationCompression function can be used to modify the animation compression method of the model. For example, we can modify the animation compression method of all models to "Off". The specific implementation is as follows:

using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
    void OnPreprocess()
    {
        ModelImporter importer = assetImporter as ModelImporter;
         = ;
    }
}

ModelImporterAnimationType

The ModelImporterAnimationType function can be used to modify the animation type of the model. For example, we can modify the animation type of all models to "Legacy". The specific implementation is as follows:

using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
    void OnPreprocessModel()
    {
        ModelImporter importer = assetImporter as ModelImporter;
         = ;
    }
}

ModelImporterRigImportMode

The ModelImporterRigImportMode function can be used to modify the bone import mode of the model. For example, we can modify the bone import mode of all models to "None". The implementation is as follows:

using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
    void OnPreprocessModel()
    {
        ModelImporter importer = assetImporter as ModelImporter;
         = ;
    }
}

in conclusion

This article introduces the practical application of Model-related functions in Unity AssetPostprocessor and provides multiple usage examples. These functions can be used to customize the imported 3D model, including modifying the model's material, texture, mesh and other properties. By using these functions, we can handle imported 3D models more flexibly to meet different needs.

For more information about Unity AssetPostprocessor Model, please follow my other related articles!