facebook twitter hatena line email

「Unity/ScriptableObject」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==ScriptableObjectとは== .assetのファイル ==ScriptableObjectの作成方法== 以下Editorを使って作る <pre> using UnityEditor; public class CreateExampleA...」)
 
(使い方)
(同じ利用者による、間の8版が非表示)
行1: 行1:
 
==ScriptableObjectとは==
 
==ScriptableObjectとは==
.assetのファイル
+
.assetのファイルで、共有データを格納するファイル、データが、inspectorで表示されるので確認しやすい。
  
==ScriptableObjectの作成方法==
+
==ScriptableObjectファイルの作成方法==
 
以下Editorを使って作る
 
以下Editorを使って作る
 
<pre>
 
<pre>
行12: 行12:
 
     public static void Start()
 
     public static void Start()
 
     {
 
     {
         var exampleAsset = CreateInstance<TestData>();
+
         var exampleAsset = CreateInstance<ExampleData>();
  
         AssetDatabase.CreateAsset(exampleAsset, "Assets/Resources/ExampleAsset.asset");
+
         AssetDatabase.CreateAsset(exampleAsset, "Assets/Resources/ExampleSetting.asset");
 
         AssetDatabase.Refresh();
 
         AssetDatabase.Refresh();
 
     }
 
     }
行23: 行23:
  
 
参考:http://49.233.81.186/scriptableobject.html
 
参考:http://49.233.81.186/scriptableobject.html
 +
 +
==使い方==
 +
MainScene.cs
 +
<pre>
 +
public class MainScene : MonoBehaviour
 +
{
 +
    ExampleData exampleData;
 +
    void Start()
 +
    {
 +
        exampleData = Resources.Load<ExampleData>("ExampleSetting");
 +
        Debug.Log(exampleData.count);
 +
        Debug.Log(exampleData.msg);
 +
    }
 +
}
 +
</pre>
 +
 +
ExampleData.cs
 +
<pre>
 +
using UnityEngine;
 +
public class ExampleData : ScriptableObject
 +
{
 +
    public int count;
 +
    public string msg;
 +
}
 +
</pre>
 +
 +
参考:https://tsubakit1.hateblo.jp/entry/20140322/1395476579

2021年11月11日 (木) 02:10時点における版

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;
}

参考:https://tsubakit1.hateblo.jp/entry/20140322/1395476579