using UnityEngine; using UnityEditor; public class CreateAsset : EditorWindow { [MenuItem("Assets/Create/My Asset")] public static void CreateMyAsset() { MyAsset asset = ScriptableObject.CreateInstance<MyAsset>(); AssetDatabase.CreateAsset(asset, "Assets/NewMyAsset.asset"); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; } } public class MyAsset : ScriptableObject { public int myInt; public string myString; },这个代码生成的.asset文件如何读取?
时间: 2024-03-10 11:48:24 浏览: 24
要读取.asset文件,您需要使用Unity中的AssetDatabase类和AssetDatabase.LoadAssetAtPath方法。这里是一个简单的示例代码,演示如何加载并打印MyAsset.asset文件中的myInt和myString属性:
```
using UnityEngine;
using UnityEditor;
public class ReadAsset : EditorWindow
{
[MenuItem("Assets/Read My Asset")]
public static void ReadMyAsset()
{
MyAsset asset = AssetDatabase.LoadAssetAtPath<MyAsset>("Assets/NewMyAsset.asset");
if(asset != null)
{
Debug.Log("MyInt: " + asset.myInt);
Debug.Log("MyString: " + asset.myString);
}
else
{
Debug.LogError("Failed to load MyAsset asset.");
}
}
}
```
在Unity Editor中,您可以通过单击“Assets”窗口中的NewMyAsset.asset文件,然后单击菜单栏中的“Read My Asset”选项来运行此代码。该代码将加载该文件并输出myInt和myString属性的值。