

Unity UGUI的RawImage(原始图片)组件的介绍及使用 - AlianBlank
source link: https://www.cnblogs.com/alianblank/p/17578172.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Unity UGUI的RawImage(原始图片)组件的介绍及使用
1. 什么是RawImage组件?
RawImage是Unity UGUI中的一个组件,用于显示原始图片。与Image组件不同,RawImage可以直接显示原始图片的像素数据,而不需要经过额外的处理。
2. RawImage组件的工作原理
RawImage组件通过将原始图片的像素数据直接传递给显卡进行渲染,从而实现显示原始图片的功能。它可以显示各种格式的图片,包括常见的PNG、JPG等格式。
3. RawImage组件的常用属性
- Texture:用于指定要显示的原始图片的纹理。
- Color:用于指定图片的颜色,可以通过调整透明度来实现图片的淡入淡出效果。
- Material:用于指定图片的材质,可以通过更换材质来实现不同的渲染效果。
- UV Rect:用于指定图片在纹理中的位置和大小。
4. RawImage组件的常用函数
- SetNativeSize():根据原始图片的大小自动调整RawImage的大小,使其与图片保持一致。
- SetMaterialDirty():标记材质为脏,使其在下一帧重新渲染。
- SetVerticesDirty():标记顶点为脏,使其在下一帧重新计算顶点位置。
5. 示例代码
示例1:显示一张图片
using UnityEngine;
using UnityEngine.UI;
public class Example : MonoBehaviour
{
public RawImage rawImage;
public Texture texture;
void Start()
{
rawImage.texture = texture;
}
}
操作步骤:
- 创建一个空物体,并将RawImage组件添加到该物体上。
- 将要显示的图片拖拽到RawImage组件的Texture属性上。
- 将上述示例代码添加到一个脚本中,并将该脚本挂载到空物体上。
- 运行游戏,可以看到图片被显示在RawImage组件中。
注意事项:
- 确保要显示的图片已经导入到Unity项目中。
示例2:调整图片的颜色
using UnityEngine;
using UnityEngine.UI;
public class Example : MonoBehaviour
{
public RawImage rawImage;
public Texture texture;
public Color color;
void Start()
{
rawImage.texture = texture;
rawImage.color = color;
}
}
操作步骤:
- 创建一个空物体,并将RawImage组件添加到该物体上。
- 将要显示的图片拖拽到RawImage组件的Texture属性上。
- 将上述示例代码添加到一个脚本中,并将该脚本挂载到空物体上。
- 在Inspector面板中,调整RawImage组件的Color属性,改变图片的颜色。
- 运行游戏,可以看到图片的颜色被改变。
注意事项:
- Color属性的透明度可以通过调整Alpha值来实现淡入淡出效果。
示例3:调整图片的大小
using UnityEngine;
using UnityEngine.UI;
public class Example : MonoBehaviour
{
public RawImage rawImage;
public Texture texture;
void Start()
{
rawImage.texture = texture;
rawImage.SetNativeSize();
}
}
操作步骤:
- 创建一个空物体,并将RawImage组件添加到该物体上。
- 将要显示的图片拖拽到RawImage组件的Texture属性上。
- 将上述示例代码添加到一个脚本中,并将该脚本挂载到空物体上。
- 运行游戏,可以看到RawImage的大小自动调整为与图片一致。
注意事项:
- 在调用SetNativeSize()函数之前,确保RawImage的Texture属性已经被赋值。
示例4:更换图片
using UnityEngine;
using UnityEngine.UI;
public class Example : MonoBehaviour
{
public RawImage rawImage;
public Texture texture1;
public Texture texture2;
void Start()
{
rawImage.texture = texture1;
}
public void ChangeTexture()
{
rawImage.texture = texture2;
}
}
操作步骤:
- 创建一个空物体,并将RawImage组件添加到该物体上。
- 将要显示的图片1和图片2拖拽到RawImage组件的Texture属性上。
- 创建一个按钮,并将上述示例代码添加到一个脚本中,并将该脚本挂载到按钮上。
- 将按钮的OnClick事件关联到ChangeTexture()函数。
- 运行游戏,点击按钮,可以看到图片被更换为图片2。
注意事项:
- 确保按钮的OnClick事件已经正确关联到ChangeTexture()函数。
示例5:更换材质
using UnityEngine;
using UnityEngine.UI;
public class Example : MonoBehaviour
{
public RawImage rawImage;
public Texture texture;
public Material material;
void Start()
{
rawImage.texture = texture;
rawImage.material = material;
}
}
操作步骤:
- 创建一个空物体,并将RawImage组件添加到该物体上。
- 将要显示的图片拖拽到RawImage组件的Texture属性上。
- 将要使用的材质拖拽到RawImage组件的Material属性上。
- 将上述示例代码添加到一个脚本中,并将该脚本挂载到空物体上。
- 运行游戏,可以看到图片的渲染效果被更换为材质所定义的效果。
注意事项:
- 确保要使用的材质已经导入到Unity项目中。
Recommend
-
10
使用 std::unique_ptr 代替原始指针 作者: 张志强 ...
-
6
💪 小伙伴们好 我是 “大数据小禅” 💦小伙伴们在使用Window进行开发的时候可能都会有这样的感觉,就是它自带的命令行,也就是我们熟知的CMD,界面真的是 “有点不美观” ,针对这个问题,我决定写一篇文章来教大家如何对我们的CMD界面进行美...
-
3
使用ORM与原始SQL的性能对比 2022年4月11日 | python...
-
3
Unity中的PostProcessScene:深入解析与实用案例 在Unity游戏开发中,我们经常需要对场景进行后处理,以实现更丰富的视觉效果。Unity提供了一个名为PostProcessScene...
-
7
Unity UGUI的Outline(描边)组件的介绍及使用 1. 什么是Outline(描边)组件? Outline(描边)组件是Unity UGUI中的一种特效组件,用于给UI元素添加描边效果。通过设置描...
-
9
Unity IPreprocessComputeShaders Unity IPreprocessComputeShaders是Unity引擎中的一个非常有用的功能,它可以让开发者编译Compute Shader时自定义哪些操作需要被执行。这个可以帮助开...
-
7
UnityStats 属性详解 UnityStats 是 Unity 引擎提供的一个用于监测游戏性能的工具,它提供了一系列的属性值,可以帮助开发者解游戏的运行情况,从而进行优化。本文将详细介绍 UnityStats 的每个属性...
-
5
UGUI的Button(按钮)组件的介绍及使用 1. 什么是UGUI的Button组件? UGUI(Unity GUI)是Unity引擎中的一套用户界面系统,Button(按钮)是其中的一个常用组件。Button组件...
-
3
UGUI的Image(图片)组件的介绍及使用 1. 什么是UGUI的Image(图片)组件? UGUI的Image(图片)组件是Unity引擎中的一种UI组件,用于显示2D图像。它提供了一种简单而灵活...
-
5
Unity UGUI的Dropdown(下拉菜单)组件的介绍及使用 1. 什么是Dropdown组件? Dropdown(下拉菜单)是Unity UGUI中的一个常用组件,用于在用户点击或选择时显示一个...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK