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

简介:

本节书摘来自华章社区《Unity开发实战》一书中的第2章,第2.5节从屏幕内容制作纹理,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看

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)把脚本替换成下面的代码:


c101da648a9eaa212b957e69dad38758978a7b31


c98b5680191d0aefe6d8966d596802ba36539e54

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


b8eaa820facba33db789a5db6d6d90cfe3f8560d

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
相关文章
|
7月前
|
数据采集 开发工具 图形学
Windows平台实现Unity下窗体|摄像头|屏幕采集推送
随着Unity3D的应用范围越来越广,越来越多的行业开始基于Unity3D开发产品,如传统行业中虚拟仿真教育、航空工业、室内设计、城市规划、工业仿真等领域。
|
7月前
|
图形学
|
7月前
|
图形学
|
图形学
【Unity3D Shader】学习笔记-纹理采样②
前言 上一篇对同一纹理进行多次采样混合,本篇则是通过不同的纹理采样进行混合产生一些效果。 一、简单贴花 贴花简单来说就是在原贴图上面贴上细节贴图,就像墙面上的喷绘一样。下面这个只是最简单的例子,也就是只能在一张图(一个模型)上面贴其他细节。
224 0
【Unity3D Shader】学习笔记-纹理采样②
|
图形学
【Unity3D Shader】学习笔记-纹理采样①
前言 纹理采样属于在片段着色器中进行,通过提供的贴图和uv坐标使用tex2D进行采样。本篇主要介绍对同一纹理多次采样然后进行混合来获得不同的效果。 [声明:本笔记系列文章的图片资源都源自百度图片搜索,如有问题联系我] 一、简单重影 对同一纹理进行两次采样,采样时的UV两次坐标不一样,然后将采样的结果进行取平均得到最终的结果。
478 0
【Unity3D Shader】学习笔记-纹理采样①
|
vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | Unity 屏幕坐标 和 世界坐标 之间相互转换
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。
|
图形学 异构计算
Unity 之 纹理类型导入设置和压缩格式介绍
你知道纹理导入正确设置和各平台压缩格式吗?本文教你如何将纹理资源导入到Unity并为其设置为对应平台需要使用的压缩格式,一起来看看吧~
807 0
Unity 之 纹理类型导入设置和压缩格式介绍
|
图形学 机器人
带你读《Unity游戏开发(原书第3版)》之三:模型、材质和纹理
本书主要介绍Unity2018的使用和游戏开发流程中涉及的各种知识。每一章的结构特别清晰,先综述该章要介绍的内容,然后一步步深入讲解,中间穿插着很多动手做的实践操作,可以让读者加深对某个概念、方法的理解,每章的最后还有一个小测验和一个稍微大一点的实践练习,用于巩固该章的学习内容。