1 回答

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
Unity 不會(huì)自動(dòng)進(jìn)行垃圾收集Texture2D,如此處所示,這意味著您應(yīng)該Destroy()在使用結(jié)束時(shí)調(diào)用它。
但是,在這種情況下,您可能應(yīng)該通過(guò)引用實(shí)例化它,以防止浪費(fèi)內(nèi)存,因?yàn)槟荒茉谧詈箐N毀,因?yàn)槟祷厮?/p>
這是一個(gè)固定的方法:
Texture2D TakePhoto(ref Texture2D tex)
{
var currentRT = RenderTexture.active;
RenderTexture.active = photoCamera.targetTexture;
photoCamera.Render();
tex = new Texture2D(photoCamera.targetTexture.width, photoCamera.targetTexture.height);
tex.ReadPixels(new Rect(0, 0, photoCamera.targetTexture.width, photoCamera.targetTexture.height), 0, 0);
tex.Apply();
RenderTexture.active = currentRT;
}
- 1 回答
- 0 關(guān)注
- 94 瀏覽
添加回答
舉報(bào)