//设置相机的宽高比和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();
}