lade ich DownloadHandlerTexture.GetContent
bin mit meiner Textur zu erhalten:ein Texture2D lesbar in Unity zu machen, wenn sie von Server
www = UnityWebRequest.GetTexture("http://www.example.com/loadTex/?tag=" + tag);
www.SetRequestHeader("Accept", "image/*");
async = www.Send();
while (!async.isDone)
yield return null;
if (www.isError) {
Debug.Log(www.error);
} else {
yield return null;
tex = DownloadHandlerTexture.GetContent(www);
}
Nach dem Laden würde ich es in einer Datei zwischenspeichern möchte ich auch:
byte[] pic = tex.EncodeToPNG();
File.WriteAllBytes(Application.persistentDataPath + "/art/" + tag + ".png", pic);
an diesem Punkt erhalte ich die Ausnahme:
UnityException: Texture '' is not readable, the texture memory can not be accessed from
scripts. You can make the texture readable in the Texture Import Settings.
ich denke, dass ich es irgendwie lesbar machen müssen. Ich habe es gegooglet, aber die einzigen Antworten, die ich bekomme, sind, wie man es durch den Editor lesbar macht.
Ich
Um Ihre Textur lesbar zu machen Laden von Texturen, um es in meinen Modellen zu verwenden. Aber wenn das Programm endet, versuche ich es in die Dateien zu cachen. Der Grund, warum ich 'DownloadHandlerTexture.GetContent' verwende, ist, dass es für den Speicher optimiert wurde. – serge
Anstatt am Ende Caching, Cache, wenn Sie es bekommen. Es ist ziemlich dasselbe. – Everts
Klingt vernünftig, ich werde versuchen, wenn ich nach Hause komme, und melden Sie sich bald. Es ist auch weniger effizient, Textur aus Bytes zu laden, anstatt 'DownloadHandlerTexture.GetContent' zu verwenden. – serge