//设置相机的宽高比和size
public static void SetCameraSize(){camera.transform.position = 设置的位置;var width = 相机视口相对世界坐标的宽;var height = 相机视口相对世界坐标的高;var aspect = width / height;camera.aspect = aspect;camera.orthographicSize = height / 2f;}
[MenuItem("Tools/CameraSplit")]public static void CameraCapture(){camera = GameObject.Find("RenderCamera").GetComponent<Camera>();SetCameraSize();//设置可以随意控制相机看到的区域大小//设置图片宽高(像素)var width = ***;var height = ***;RenderTexture render = new RenderTexture(width, height, 0);camera.targetTexture = render;camera.Render();RenderTexture.active = render;Texture2D tex = new Texture2D(render.width, render.height, TextureFormat.RGBA32, false);tex.ReadPixels(new Rect (0,0, width, height), 0, 0);tex.Apply();camera.targetTexture = null;RenderTexture.active = null;Object.Destroy(render);byte[] bytes = tex.EncodeToPNG();System.IO.File.WriteAllBytes("保存路径", bytes);//UnityEditor.AssetDatabase.Refresh();}