「Unity/ScriptableObject」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→ScriptableObjectの作成方法) |
|||
行12: | 行12: | ||
public static void Start() | public static void Start() | ||
{ | { | ||
− | var exampleAsset = CreateInstance< | + | var exampleAsset = CreateInstance<ExampleData>(); |
AssetDatabase.CreateAsset(exampleAsset, "Assets/Resources/ExampleSetting.asset"); | AssetDatabase.CreateAsset(exampleAsset, "Assets/Resources/ExampleSetting.asset"); | ||
行29: | 行29: | ||
public class MainScene : MonoBehaviour | public class MainScene : MonoBehaviour | ||
{ | { | ||
− | + | ExampleData exampleData; | |
void Start() | void Start() | ||
{ | { | ||
− | + | exampleData = Resources.Load<ExampleData>("ExampleSetting"); | |
− | Debug.Log( | + | Debug.Log(exampleData.count); |
− | Debug.Log( | + | Debug.Log(exampleData.msg); |
} | } | ||
} | } | ||
</pre> | </pre> | ||
− | + | ExampleData.cs | |
<pre> | <pre> | ||
using UnityEngine; | using UnityEngine; | ||
− | public class | + | public class ExampleData : ScriptableObject |
{ | { | ||
public int count; | public int count; |
2021年11月10日 (水) 17:01時点における版
ScriptableObjectとは
.assetのファイルで、共有データを格納するファイル、データが、inspectorで表示されるので確認しやすい。
ScriptableObjectファイルの作成方法
以下Editorを使って作る
using UnityEditor; public class CreateExampleAsset : EditorWindow { [MenuItem("Example/Create ExampleAsset")] public static void Start() { var exampleAsset = CreateInstance<ExampleData>(); AssetDatabase.CreateAsset(exampleAsset, "Assets/Resources/ExampleSetting.asset"); AssetDatabase.Refresh(); } }
メニューのExample/Create ExampleAssetを選択すると Resources/ExampleAsset.assetが作成される。
参考:http://49.233.81.186/scriptableobject.html
使い方
MainScene.cs
public class MainScene : MonoBehaviour { ExampleData exampleData; void Start() { exampleData = Resources.Load<ExampleData>("ExampleSetting"); Debug.Log(exampleData.count); Debug.Log(exampleData.msg); } }
ExampleData.cs
using UnityEngine; public class ExampleData : ScriptableObject { public int count; public string msg; public virtual string GetMessage() { return null; } }