using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEngine.UI;
public class GetMaterials : MonoBehaviour
{
public GameObject[] meshRenderer;
private void Start()
{
StartCoroutine(GetRawimage());
}
IEnumerator GetRawimage()
{
for (int i = 0; i < meshRenderer.Length; i++)
{
yield return new WaitForSeconds(0.1f);
string strname = Application.dataPath + @"\StreamingAssets\Materials\" + meshRenderer[i].name + ".png";//模型名字要和圖片名字一致
if (File.Exists(strname))
{
Texture2D tx = new Texture2D(100, 100);
tx.LoadImage(getImageByte(strname));
MeshRenderer mes = meshRenderer[i].GetComponent<MeshRenderer>();
mes.material.mainTexture = tx;
StartCoroutine(ToDestoryThis());
}
}
}
private static byte[] getImageByte(string imagePath)
{
FileStream files = new FileStream(imagePath, FileMode.Open);
byte[] imgByte = new byte[files.Length];
files.Read(imgByte, 0, imgByte.Length);
files.Close();
return imgByte;
}
IEnumerator ToDestoryThis()
{
yield return new WaitForSeconds(0.1f);
Resources.UnloadUnusedAssets();//卸載未占用的asset資源
System.GC.Collect();//回收記憶體
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/256488.html
標籤:其他開發語言
上一篇:Python相關
