コガネブログ

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

【Unity】ゲーム実行中に Texture2D を Sprite に変換して使用する方法

ソースコード

using UnityEngine;

public static class Texture2DExt
{
    public static Sprite ToSprite( this Texture2D self )
    {
        var rect      = new Rect( 0, 0, self.width, self.height );
        var pivot     = Vector2.one * 0.5f;
        var newSprite = Sprite.Create( self, rect, pivot );

        return newSprite;
    }
}

使用例

using UnityEngine;

public class Example : MonoBehaviour
{
    public Texture2D      m_texture;
    public SpriteRenderer m_renderer;

    private void Awake()
    {
        m_renderer.sprite = m_texture.ToSprite();
    }
}