Unity 멀티플 스프라이트에서 지정된 텍스처를 가져옵니다.

이 근처를 sprite editor (32x32)로 잘라.


Quad 등에 세트한다.
using UnityEngine;

public class SpriteToTexture : MonoBehaviour
{
    [SerializeField] Sprite spriteone;
    void Start()
    {
        //ex) gameObject Quad
        gameObject.GetComponent<Renderer>().material.mainTexture
         = spriteone.ToTexture2D();
    }
}//class

static class spriteToTextureExtension
{
    public static Texture2D ToTexture2D(this Sprite sprite)
    {
        //if (sprite.texture.isReadable == false) Debug.LogWarning("Need Read/Write Enabaled");

        //original
        //https://kan-kikuchi.hatenablog.com/entry/GetTextureSameSizeAsSprite
        int x = (int)sprite.textureRect.x, y = (int)sprite.textureRect.y;
        int width = (int)sprite.textureRect.width, height = (int)sprite.textureRect.height;
        Texture2D newTexture = new Texture2D(width, height);
        newTexture.filterMode = sprite.texture.filterMode;//same filter

        newTexture.SetPixels(sprite.texture.GetPixels(x, y, width, height));//

        newTexture.Apply();
        return newTexture;
    }
}//class

좋은 웹페이지 즐겨찾기