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

AssetDatabase.SetMainObject

建议修改

成功!

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

关闭

提交失败

由于某些原因,无法提交您建议的更改。请在几分钟后<a>重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static void SetMainObject(Object mainObject, string assetPath);

参数

mainObject 成为主对象的物体。
assetPath 资产文件的路径。

说明

指定下次导入后资产文件中的哪个对象应当成为主对象。

资产中的所有其他对象都会成为主对象的子对象。注意:此函数修改导入器对象,而非资产本身。下一次导入时会反映所导入的资产的变化。

using UnityEditor;
using UnityEngine;

public class Scriptable : ScriptableObject { } public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Set Main Object Example")] public static void SetMainObjectExample() { //Create a Scriptable Object and a Material var materialAsset = new Material(Shader.Find("Standard")); var scriptableAssetPath = "Assets/ScriptableObjects/NewObject.asset"; var mainAsset = ScriptableObject.CreateInstance<Scriptable>(); AssetDatabase.CreateAsset(mainAsset, scriptableAssetPath);

//Add the Material to the Scriptable Object AssetDatabase.AddObjectToAsset(materialAsset, scriptableAssetPath); AssetDatabase.SaveAssets();

//Set the Material to be the main Object and import it AssetDatabase.SetMainObject(materialAsset, scriptableAssetPath); AssetDatabase.ImportAsset(scriptableAssetPath); } }