path | 资源路径。 |
Type 导入器类型。
返回与指定路径处的资源关联的默认导入器。当未设置导入器覆盖时,将使用默认导入器。其他资源:AssetDatabase.GetImporterOverride,AssetDatabase.ClearImporterOverride。
using System; using UnityEngine; using UnityEditor; using UnityEditor.AssetImporters;
public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Available Importer Types for cube")] static void AvailableImporterTypeCube() { var path = "Assets/CompanionCube.fbx"; AssetDatabase.GetDefaultImporter(path); // returns ModelImporter. AssetDatabase.GetImporterOverride(path); // returns null because no Override Importer is set. AssetDatabase.GetAvailableImporters(path); // returns [CubeImporter]. AssetDatabase.SetImporterOverride<CubeImporter>(path); // sets CubeImporter as Override Importer. AssetDatabase.ClearImporterOverride(path); // removes the Override Importer. AssetDatabase.GetImporterOverride(path); // returns null because no Override Importer is set. }
//This is Example Importer for cube [ScriptedImporter(1, new []{"cube" }, new[] { "fbx" })] public class CubeImporter : ScriptedImporter { public override void OnImportAsset(AssetImportContext ctx) { var cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = new Vector3(0, 0, 0); // 'cube' is a GameObject and will be automatically converted into a prefab ctx.AddObjectToAsset("main obj", cube); ctx.SetMainObject(cube); } } }