我正在玩Unity的渲染纹理,你可以将相机的视图渲染到纹理上.但是,我注意到它没有呈现整个相机的视图.它只渲染摄像机视图的方形切片.
我正在尝试的是将相机的整个视图(16:9宽高比)渲染到纹理上(也是16:9的宽高比).但是现在它似乎只能在方形表面上投影其方形切片.这有什么解决方案吗?
使用'RenderTexture',您可以指定纹理大小:http://docs.unity3d.com/ScriptReference/RenderTexture.Create.html
它应该是这样的:
Camera camera = GameObject.Find("Main Camera");
int resWidth = Screen.width;
int resHeight = Screen.height;
RenderTexture rt = new RenderTexture(resWidth, resHeight, 24);
camera.targetTexture = rt; //Create new renderTexture and assign to camera
Texture2D screenShot = new Texture2D(resWidth, resHeight, TextureFormat.RGB24, false); //Create new texture
camera.Render();
RenderTexture.active = rt;
screenShot.ReadPixels(new Rect(0, 0, resWidth, resHeight), 0, 0); //Apply pixels from camera onto Texture2D
camera.targetTexture = null;
RenderTexture.active = null; //Clean
Destroy(rt); //Free memory
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12949 次 |
| 最近记录: |