zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

开发 实战 内容 制作 Unity 屏幕 2.5 纹理
2023-09-11 14:19:09 时间

本节书摘来自华章社区《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显示的元素外,它还可以用作其他用途。

把纹理作为材质
将代码GameObject.Find("MyObject").renderer.material.mainTexture= texture;放在Capture-Screen函数的最后即可把纹理作为已知对象的材质。 把纹理作为截屏
可以把纹理解码成PNG图片然后保存,具体请参考Unity的文档:http://docs.unity3d.com/Documentation/ScriptReference/Texture2D.EncodeToPNG.html
案例简述这个案例实现一个非常简单的拾取宝物游戏,主角是一个小球,玩家通过键盘控制小球拾取全部宝物。 键盘控制物体移动 Rigidbody rd;public int force = 10; void Start () {rd = GetComponent ();//获得物体的刚体组件}void Update () {float h = Input.
UWP 手绘视频创作工具技术分享系列 - 文字的解析和绘制 原文:UWP 手绘视频创作工具技术分享系列 - 文字的解析和绘制 本篇作为技术分享系列的第二篇,详细讲一下文字的解析和绘制,这部分功能的研究和最终实现由团队共同完成,目前还在寻找更理想的实现方式。 首先看一下文字绘制在手绘视频中的应用场景     文字是手绘视频中很重要的表现形式,应用场景很广,比如字幕、旁白和一些重要的文字说明提示。
UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制 原文:UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制 本篇作为技术分享系列的第一篇,详细讲一下 SVG 的解析和绘制,这部分功能的研究和最终实现由团队的 @黄超超 同学负责,感谢提供技术文档和支持。
UWP 手绘视频创作工具技术分享系列 - 位图的绘制 原文:UWP 手绘视频创作工具技术分享系列 - 位图的绘制 前面我们针对 SVG 的解析和绘制做了介绍,SVG 是图片的一种形式,而另一种很重要的图片是:位图,包括 png、jpeg、bmp 等格式。位图的基本规则是,组成的基本元素是像素点,由宽度 * 高度个像素组成,每个像素存储了一个点的颜色和位置信息,颜色信息可以是 ARGB、RGBA、BGR 或 YUV 等组成。
【UWP开源】图片编辑器,带贴图、滤镜、涂鸦等功能 原文:【UWP开源】图片编辑器,带贴图、滤镜、涂鸦等功能 最近空余时间研究了一下Win2D,它能为我们在UWP中提供一种类似GDI那样的绘图方法。