using System;
using UnityEngine;
using System.Collections; public class TestCamreaCapture1 : MonoBehaviour { private string imagesPath;
private int imageIndex = ; private RenderTexture rt;
private Texture2D screenShot; private System.Diagnostics.Stopwatch stopWatch; // Use this for initialization
void Start () {
imagesPath = Application.dataPath + "/../pic/";
stopWatch = new System.Diagnostics.Stopwatch (); rt = new RenderTexture (Screen.width,Screen.height, );
//将rt附给一个摄像机,这样这个摄像机实时渲染的结果就都在这个tex上了.
GetComponent<Camera>().targetTexture = rt;
screenShot = new Texture2D (Screen.width,Screen.height, TextureFormat.ARGB32, false);
} // Update is called once per frame
void Update () {
StartCoroutine (ScreenShoot());
} IEnumerator ScreenShoot(){
yield return new WaitForEndOfFrame ();
stopWatch.Start ();
ScreenSave ();
imageIndex++;
stopWatch.Stop();
Debug.Log (string.Format("generate one pic use {0} 'ms",stopWatch.ElapsedMilliseconds));
stopWatch.Reset ();
} private void ScreenSave(){
//记住当前渲染纹理.
var remeber = RenderTexture.active;
//将相机的渲染结果设置为当前渲染.
RenderTexture.active = rt;
//读取
screenShot.ReadPixels (new Rect (, , Screen.width, Screen.height), , );
byte[] bytes;
bytes = screenShot.EncodeToJPG ();
System.IO.File.WriteAllBytes (imagesPath + imageIndex +".jpg", bytes);
//将之前的渲染纹理变成激活.
RenderTexture.active = remeber; }
}

个人最喜欢这种方式,效率已经相当高了

u3d摄像机截图的更多相关文章

  1. Unity通过指定摄像机截屏

    简介 介于照抄网上之前的截图教程,然后在实际应用过程中出现了一些小小的问题,修正了一下下,特此分享一下 PS:代码在后面 原理 原理很简单,就是将一个相机的内容渲染到一个贴图上,然后将贴图保存为图片 ...

  2. 【Unity3D】Unity3D 摄像机带透明截图

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/CropCamera.html ↓↓↓下面的废话可以不看↓↓↓ 最近处理了一批我的游戏的图标,步骤特别繁琐, 需要先 ...

  3. u3d之世界坐标系,屏幕坐标系,视口坐标系,如何获取物体距离摄像机的距离

    世界坐标系就是unity的左手坐标系 屏幕坐标系是Game视图相机拍摄的场景坐标系,左下角(0,0),右上角(Screen.width,Screen.height),单位是像素.Z的位置是以相机的世界 ...

  4. 获取Unity3D虚拟摄像机的图像

    最新博客地址已转到: http://blog.csdn.net/zzlyw?viewmode=contents   ------------------------------------------ ...

  5. 谢欣伦 - OpenDev原创例程 - 网络摄像机WebCamera

    Win7没有预装摄像头软件,打开摄像头通常需要第三方软件来完成.第三方软件,好的要收费,免费的又没几款,其中功能完整的寥寥可数.正好我在做一个数字摄像头视频捕获的功能,经过两周的整理优化,我做了一个简 ...

  6. OpenGL坐标变换及其数学原理,两种摄像机交互模型(附源程序)

    实验平台:win7,VS2010 先上结果截图(文章最后下载程序,解压后直接运行BIN文件夹下的EXE程序): a.鼠标拖拽旋转物体,类似于OGRE中的“OgreBites::CameraStyle: ...

  7. [U3D 画起重机,绑脚本和控制它运动的基本操作]

    之前在学习Unity3D,不知为何网上的教学资源真是少啊...我某段时间还卡在不知如何让物体绑个脚本自动运动.. 之所以要学习U3D是因为导师让我做的IOS项目里有个需要模拟起重机,从而控制真实起重机 ...

  8. Unity3D 的摄像机

    什么是摄像机 Unity3D中,摄像机是一个非常非常重要的组件. 他的作用就是:将你设计的场景投影到设备的屏幕上. 摄像机的属性 1 clear flags 确定屏幕的哪一部分将被清除. 每个摄像机在 ...

  9. U3D——Unity3D的脚本-script入门

     Unity3D的基本操作非常easy就能掌握了,接下来就是游戏系统的核心部分:脚本. 什么是Script(脚本)?简而言之,就是使用代码来运行一系列动作命令的特殊文本,它须要编译器来从新解读.U ...

随机推荐

  1. 【Pthon入门学习】99乘法表

    学习知识点: 1. string.join(seq): 以string字符串作为分隔符,将seq的所有元素拼接成一个新的字符串 s = ['%d * %d = %d' % (y, 4, 4*y) fo ...

  2. C# 反射,动态编译

    反射是动态获取程序集的元数据的一种技术,这句话是做.NET程序员面试题目的一个的答案,你可选择记住它,就好比高中生物学里面讲到的细胞的结构的课程时,细胞由细胞膜,细胞质和细胞核组成.根据做程序的经验, ...

  3. DotNetOpenAuth Part 1 : Authorization 验证服务实现及关键源码解析

    DotNetOpenAuth 是 .Net 环境下OAuth 开源实现框架.基于此,可以方便的实现 OAuth 验证(Authorization)服务.资源(Resource)服务.针对 DotNet ...

  4. eclipse启动一闪而退

    eclipse启动一闪而退 打开eclipse,启动画面一闪而过退出. 解决方法: 以下每一步结束都重启eclipse一下,看能不能正常启动. 1. 在C:/WINDOWS/system32 系统文件 ...

  5. 如何使用HtmlTestRunner让自动化测试报告内容更丰富

    原文出自:http://www.cnblogs.com/tsbc/p/4128150.html 简述 使用selenium webdriver + Python做自动化测试,执行完成后要生成测试报告, ...

  6. gulp配置文件(gulpfile.js)

    需要安装的插件 "gulp": "^3.9.1","gulp-clean": "^0.3.2","gulp-c ...

  7. 作业MathExamV2.0

    MathExam233 211614269 林凯 211601233张康凌 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时( ...

  8. OOP 1.4 内联函数和重载函数函数参数缺省值

    1.内联函数 存在的背景:函数调用存在开销(调用时候参数压栈,返回地址压栈:返回时从栈取出返回地址,跳转到返回地址.总共需要几条指令的开销).如果函数指令较少,调用多次,函数调用的开销占比大. 内联函 ...

  9. huawei oceanstor

      华为产品:OceanStor 6000 V3系列 OceanStor 6800 V3 网页登入设备页面:https+ip+端口 资源分配界面: 首页: wwn为2100xxxxxxxx47e4,设 ...

  10. 设计模式--Restful笔记(一)

    一.REST基础概念 首先REST是 Representational State Transfer 的缩写,如果一个架构符合REST原则,它就是RESTful架构. 在REST中的一切都被认为是一种 ...