Version: 2021.3

AssetDatabase.GetAvailableImporterTypes

切换到手册
public static Type[] GetAvailableImporterTypes (string path);

参数

path 资源路径。

返回

Type[] 返回可处理指定资源的导入器类型数组。

描述

获取与给定资源类型相关联的导入器类型。

using System;
using UnityEngine;
using UnityEditor;
using UnityEditor.AssetImporters;

public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Available Importer Types for cube")] static void AvailableImporterTypeCube() { Type[] CubeTypes = AssetDatabase.GetAvailableImporterTypes("Assets/CompanionCube.cube"); for (int i = 0; i < CubeTypes.Length; i++) { Debug.Log("Available Importer Type for cube: " + CubeTypes[i]); } }

//This is Example Importer for cube [ScriptedImporter(1, "cube")] public class CubeImporter : ScriptedImporter { public float m_Scale = 1; public override void OnImportAsset(AssetImportContext ctx) { var cube = GameObject.CreatePrimitive(PrimitiveType.Cube); var position = new Vector3(0, 0, 0); cube.transform.position = position; cube.transform.localScale = new Vector3(m_Scale, m_Scale, m_Scale); // 'cube' is a a GameObject and will be automatically converted into a prefab ctx.AddObjectToAsset("main obj", cube); ctx.SetMainObject(cube); var material = new Material(Shader.Find("Standard")); material.color = Color.red; ctx.AddObjectToAsset("my Material", material); var tempMesh = new Mesh(); } } }