—Unity Editor Tools로 뺴둘 기능(정리안된)
- 참고 코드 - texture를 base64로 변환 기능
base64 string형식을 유니티 sprite형식으로 변환
에디터에 표시할 이미지들은 아예 const string으로 base64형태로 잡아놓고 필요 시 sprite변환해 사용하는 형태로 많이 쓰는거 같다.
-> 아 요런 방법으로도 이미지 표시할 수 있구나 라고 생각
using UnityEngine;
using UnityEngine.UI;
using System.IO;
using System.Text;
using System;
public class ButtonConvert : MonoBehaviour
{
[SerializeField] private Image image;
public void OnClick()
{
string base64String = ReadFile("gahaha.base64.txt");
if (string.IsNullOrEmpty(base64String)) {
return;
}
this.image.sprite = SpriteFromBase64(base64String);
}
string ReadFile(string fileName)
{
// read base64 file
FileInfo fileInfo = new FileInfo(Application.dataPath + "/Base64/" + fileName);
string base64String = "";
try {
using (StreamReader reader = new StreamReader(fileInfo.OpenRead(), Encoding.UTF8)){
base64String = reader.ReadToEnd();
}
} catch (Exception e){
Debug.LogError(e);
}
return base64String;
}
Sprite SpriteFromBase64(string base64String)
{
// base64 -> bytes
byte[] bytes = Convert.FromBase64String(base64String.Split(',')[1]);
// bytes -> texture
Texture2D texture2D = new Texture2D(1, 1);
texture2D.LoadImage(bytes);
// texture -> sprite
return Sprite.Create(texture2D, new Rect(0, 0, texture2D.width, texture2D.height), Vector2.zero);
}
}
—실제 적용 예시
작업중…