RenderTexture
을 Texture2D
에 그려 디스크에 저장하려고합니다. 이 방법은 Android뿐 아니라 OSX 편집기에서도 작동합니다.Texture2D.readPixels를 호출 할 때 iOS가 중단됩니다.
나는 엑스 코드 콘솔에 오류가 표시되지 않으며, 내 응용 프로그램은 내가 여기
Texture2D.ReadPixels()
코드의 요약입니다 호출 할 때 완전히 얼어 : 나는 다양한 사용하여 시도
// declaring variables...
RenderTexture outputTexture;
RenderTextureFormat RTFormat = RenderTextureFormat.ARGB32;
// use an appropriate format for render textures
if(SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBFloat)){
RTFormat = RenderTextureFormat.ARGBFloat;
}else if(SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBHalf)){
RTFormat = RenderTextureFormat.ARGBHalf;
}
// create instance of output texture
outputTexture = new RenderTexture (res.x, res.y, 0, RTFormat);
// in Update, draw stuff to outputTexture
Graphics.Blit (outputTexture, canvasTexture);
Graphics.Blit (canvasTexture, outputTexture, material);
// later... user wants to save the image
// draw rendertexture to a Texture2D so we can write to disk
RenderTexture.active = outputTexture;
tmpTexture = new Texture2D (outputTexture.width, outputTexture.height, TextureFormat.ARGB32, false);
tmpTexture.ReadPixels (new Rect (0, 0, outputTexture.width, outputTexture.height), 0, 0, false);
tmpTexture.Apply();
RenderTexture.active = null;
RenderTextureFormat
및 TextureFormat
이지만 아무 것도 작동하지 않는 것 같습니다!
어디에서이 코드를 호출합니까? 이것은 사용자 정의 함수 또는 Unity 콜백 메소드 내에 있습니까? –
또한 어떤 기기를 테스트하고 있습니까? 기억이 나빠지는지 확인하십시오. RenderTexture는 값 비싼 방법입니다. –