《Unity开发实战》——2.5节从屏幕内容制作纹理

2.5 从屏幕内容制作纹理
本节会介绍如何从屏幕内容制作纹理。想在游戏中实现图片库或在场景的最后显示重要时刻的快照时,该功能则非常有用(竞速游戏和特技游戏中用得比较多)。

2.5.1 准备工作
示例代码中名为“0423_02_04_05”的文件夹中有一个名为basicTerrain的包需要导入,此包中有一个基础地形和一个可以用鼠标旋转的摄像机。

2.5.2 操作步骤
请按照下面的步骤从屏幕内容创建纹理:
1)将上面提到的包导入到Unity中,打开02_04_05场景。
2)在Project视图中创建脚本,点击Create下拉菜单,选择C# Script,命名为Screen-Texture,在代码编辑器中打开。
3)把脚本替换成下面的代码:

6)播放场景,就可以通过点击鼠标按钮取得快照了(并显示在左上角)。

2.5.3 实现原理
点击鼠标触发了一个功能:从指定矩形中读取像素,并把这些像素应用于纹理,让GUI绘制出来。

2.5.4 更多内容
除了把纹理作为GUI显示的元素外,它还可以用作其他用途。

  1. 把纹理作为材质
    将代码GameObject.Find("MyObject").renderer.material.mainTexture= texture;放在Capture-Screen函数的最后即可把纹理作为已知对象的材质。
  2. 把纹理作为截屏
    可以把纹理解码成PNG图片然后保存,具体请参考Unity的文档:http://docs.unity3d.com/Documentation/ScriptReference/Texture2D.EncodeToPNG.html
时间: 2024-07-28 18:13:02

《Unity开发实战》——2.5节从屏幕内容制作纹理的相关文章

《Unity开发实战》——导读

目 录 前 言 第1章 Unity 4.X 入门1.1 引言1.2 安装Unity 4.X1.3 设置首选项1.4 了解和优化用户界面1.5 把Unity中创建的资源另存为Prefab1.6 了解Unity中的Content1.7 导入自己的Content1.8 导入Unity的包到项目中1.9 导入自定义包到项目中1.10 从项目中导出自定义包1.11 添加自定义包到Unity的包快捷列表中1.12 使用项目浏览视图 第2章 使用摄像机2.1 引言2.2 创建画中画效果2.3 在不同摄像机之间

《Unity开发实战》——2.4节自定义镜头光晕效果

2.4 自定义镜头光晕效果 过去15年里,在户外环境玩过游戏的任何玩家都知道:镜头光晕(lens flare)效果用于模拟明亮的光照穿透玩家的视野.虽然这个技术现在已经用滥了,但仍然出现在各类游戏中.本节将练习创建镜头光晕效果. 2.4.1 准备工作 强烈建议读者用图片编辑器(Adobe Photoshop或GIMP)打开图片.示例代码中的0423_02_03文件夹中有本节需要用到的镜头纹理(lens texture)的源代码. 2.4.2 操作步骤 请按照下面的步骤创建一个新的镜头光晕纹理并应

《Unity开发实战》——3.2节创建反射材质

3.2 创建反射材质金属.车漆,以及光滑的塑料表面都是一些很常见的需要反射的材质的例子.幸运的是,Unity内置了反射着色器(reflective shader),配置好以后就可以帮我们实现想要的效果了. 3.2.1 准备工作本节需要准备两个纹理贴图:Base Map(底图)和Reflection Cubemap(反射立方图).底图得是一张RGBA的图片,alpha通道可以把反射级别指定成从完全不透明(黑色)到完全反射(白色).反射立方体贴图可能是由六块纹理组成,或者像本节教程这样,只有一个单独

《AR与VR开发实战》——第3章 AR内容交互 3.1 动态加载AR模型

本节书摘来自华章出版社<AR与VR开发实战>一书中的第章,第3.1节,作者 张克发 赵兴 谢有龙,更多章节内容可以访问"华章计算机"公众号查看. 3.1 动态加载AR模型 在第2章中我们实现了通过Vufoira默认方式识别并显示三维模型.默认的加载模型是通过将3D物体直接放置在场景中并作为识别目标的子物体来实现的,这种实现方式的问题是,当场景中有很多识别目标后,需要一次性加载的模型内容会占用很大的内存.因此,在实际项目案例中需要动态加载识别目标对应的模型,在识别丢失之后删除

《Unity开发实战》——2.2节创建画中画效果

2.2 创建画中画效果在很多情况下,用多个视角显示是很有用的.比如,想显示不同地点同时发生的事件,或者多人对战(hot-seat multiplayer)游戏中为每个玩家显示单独的窗口,虽然也可以手动调整摄像机的Normalized Viewport Rect(标准化视口矩形)参数.本节包含一系列附加的首选项设置,使之独立于用户的显示器配置. 2.2.1 准备工作示例代码的0423_02_01_02的文件夹中有一个名为 basicLevel 的包是专为本节准备的,包中有一个场景. 2.2.2 操

《Unity开发实战》——1.3节设置首选项

1.3 设置首选项对有些人来说,将编辑器设置成自己喜欢的样子可能没必要.但是这样能加快开发速度,并且能让Unity用起来更顺手.本节将介绍如何将某些设置项调整成自己的首选项. 1.3.1 操作步骤请按照下面的步骤设置首选项:1)在Unity编辑器中,在菜单上选择Edit(编辑)| Preference(首选项设置)(如果你用的是Mac系统,则是Unity | Preference(首选项设置)).2)当Preference 窗口显示出来后,注意窗口中有几部分:General(通用).Extern

《Unity开发实战》——2.9节显示迷你地图

2.9 显示迷你地图在很多游戏中,给场景提供更宽的视角对于导航和信息来说,其好处是无法估量的.在第一人称或第三人称模式下,迷你地图非常适合作为玩家的额外视角. 2.9.1 准备工作示例代码中名为"0423_02_08"的文件夹中有一个名为miniMap的包需要导入,此包中有一个在简单迷宫中的第三人称控制器,以及一个名为marker的纹理. 2.9.2 操作步骤请按照下面的步骤创建迷你地图:1)导入miniMap Unity包,打开02_08文件夹中名为thirdPerson的场景.2)

《Unity开发实战》——3.6节使用cookie纹理模拟多云的户外环境

3.6 使用cookie纹理模拟多云的户外环境 在很多第一人称射击和恐怖逃生游戏中,光照和阴影可以使场影变得很复杂,有助于营造游戏气氛.本节中,将使用cookie纹理创建多云的户外环境. 3.6.1 准备工作 如果没有图片编辑器软件,或者想跳过自己制作图片的步骤,而把精力放在实现上,可以直接用0423_03_05文件夹中cloudCookie.tga图片. 3.6.2 操作步骤 请按照下面的步骤模拟多云的户外环境: 1)在图片编辑器中,创建一张512×512的图片. 2)使用黑色作为前景色,白色

《Unity开发实战》——1.9节导入自定义包到项目中

1.9 导入自定义包到项目中 各种资源都可以放在自定义的Unity包里,这在开发项目时非常有用. 1.9.1 准备工作 如题所述,需要准备好一个自定义包用于导入,可以在示例代码文件夹中找到一个名为 "0423_01_09-11"的包用于测试. 1.9.2 操作步骤 请按下面的步骤导入自定义包: 1)打开Unity编辑器中的Assets菜单. 2)进入Import Package子菜单,选择Custom Package(自定义包)选项. 3)浏览硬盘上的包,点击Open(打开)按钮. 4