【Unity】 运行过程中将Texture2D转换为Sprite

【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();
    }
}

版权声明:本文为Voioer原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。