1,工程
2 脚本 Capture.cs
登录后复制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
public class Capture : MonoBehaviour
{
public Camera mainCam; //待截图的目标摄像机
RenderTexture rt; //声明一个截图时候用的中间变量
Texture2D t2d;
int num = 0; //截图计数
//public GameObject pl; //一个调试用的板子
void Start()
{
t2d = new Texture2D(800, 600, TextureFormat.RGB24, false);
rt = new RenderTexture(800, 600, 24);
mainCam.targetTexture = rt;
}
void Update()
{
//按下空格键来截图
if (Input.GetKeyDown(KeyCode.Space))
{
//将目标摄像机的图像显示到一个板子上
//pl.GetComponent<Renderer>().material.mainTexture = rt;
//截图到t2d中
RenderTexture.active = rt;
t2d.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0);
t2d.Apply();
RenderTexture.active = null;
//将图片保存起来
byte[] byt = t2d.EncodeToJPG();
File.WriteAllBytes(Application.dataPath +"/Images" + "//" + num.ToString() + ".jpg", byt);
Debug.Log("当前截图序号为:" + num.ToString());
num++;
}
}
}
3 运行后在工程的game窗口点击空格,怎会把虚拟相机拍摄的图片保存到Images文件夹中
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删