版本:Unity 6 (6000.0)
语言English
  • C#

AssetDatabase.GetDefaultImporter

建议修改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每项修改建议,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,您的修改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public static Type GetDefaultImporter(string path);

参数

path 资源路径。

返回值

Type 导入器类型。

描述

返回与指定路径处的资源关联的默认导入器。当未设置导入器覆盖时,将使用默认导入器。其他资源:AssetDatabase.GetImporterOverrideAssetDatabase.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); } } }