在运行时从GameObject渲染图像

时间:2019-04-09 08:15:51

标签: c# android unity3d screenshot gameobject

我正在尝试将GameObject(MainCamera)保存为图像。这是我的代码。

// Kotlin
activity.intent?.extras?.getBundle(KEY_BUNDLE_ID)
// Java
getActivity().getIntent().getBundleExtra(KEY_BUNDLE_ID)

问题是上述代码根本没有生成图像。我想念什么吗?以前,我尝试使用Camera camOV = mainCamera.GetComponent<Camera>(); RenderTexture currentRT = RenderTexture.active; RenderTexture.active = camOV.targetTexture; camOV.Render(); Texture2D imageOverview = new Texture2D(camOV.targetTexture.width, camOV.targetTexture.height, TextureFormat.RGB24, false); imageOverview.ReadPixels(new UnityEngine.Rect(0, 0, camOV.targetTexture.width, camOV.targetTexture.height), 0, 0); imageOverview.Apply(); RenderTexture.active = currentRT; // Encode texture into PNG byte[] bytes = imageOverview.EncodeToPNG(); string name = string.Format("{0}_Capture{1}_{2}.png", Application.productName, "{0}",System.DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss")); Debug.Log("Permission result: " + NativeGallery.SaveImageToGallery(imageOverview, Application.productName + " Captures", name)); 截屏。但是,它可以工作的图像大于实际尺寸。我如何能够解决它?

0 个答案:

没有答案