コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Unity 2023.1 新機能 - スプライトに ScriptableObject を設定できるようになった

概要

using System.Linq;
using UnityEngine;

public sealed class Example : MonoBehaviour
{
    [SerializeField] private Sprite     m_sprite;
    [SerializeField] private SpriteData m_spriteData; // ScriptableObject

    private void Start()
    {
        // スプライトに ScriptableObject を設定
        m_sprite.AddScriptableObject( m_spriteData );

        // スプライトから ScriptableObject を取得
        var count             = m_sprite.GetScriptableObjectsCount();
        var scriptableObjects = new ScriptableObject[ count ];
        m_sprite.GetScriptableObjects( scriptableObjects );
        var spriteData = scriptableObjects.OfType<SpriteData>().First();

        Debug.Log( spriteData.Name );
    }
}
項目 内容
AddScriptableObject スプライトに ScriptableObject を追加
GetScriptableObjects スプライトに設定されている
すべての ScriptableObject を取得
GetScriptableObjectsCount スプライトに設定されている
ScriptableObject の数を取得
RemoveScriptableObjectAt スプライトから ScriptableObject を削除
SetScriptableObjectAt スプライトに ScriptableObject を設定

参考サイト様