阅读(1934)
赞(0)
OnGUI 贴图
2020-07-13 14:28:39 更新
纯色背景的界面会给人以单调的感觉,而Unity 3D 可以使用纹理贴图让游戏界面在视觉感受上更加生动。
你可以将纹理贴图想象成装修时在墙上贴壁纸,通过纹理贴图可以对界面生动性、游戏沉浸感的提升上起到画龙点睛的作用。
GUITexture 方法
具体使用方法如下:
- 将图片导入 Unity 3D 中,执行
Assets
→Import Package
→Custom Package
命令找到图片位置,并加载进来。
图片加载后,可以在 Project 视图中进行查看。
- 选中图片,将
Texture type
修改成sprit render
格式,然后将其加载到 Hierarchy 视图中。
- Unity 3D 会自动分析图片的宽和高,然后以此规格将其加载进来。
如果此时发现图片没有全屏显示或者显示的大小不合意,可以在 Inspector 视图中进行图片大小的缩放。
你也可以使用 GUI.DrawTexture 方法
绘制贴图,该方法原型如下:
/*
Rect position:表示图片的绘制区域
* Texture image:表示绘制图片的对象
* ScaleMode scaleMode:表示图片的缩放模式
* bool alphaBlend:表示十分开启图片混合模式
* float imageAspect:表示图片的缩放宽高比例
*/
public static void DrawTexture(Rect position, Texture image, ScaleMode scaleMode, bool alphaBlend, float imageAspect);
注:
position
为纹理贴图的位置。
Image
为所贴纹理图片。
scaleMode
为纹理的缩放模式。
alphaBlend
为图片的混合模式。
imageAspect
为图片缩放的宽高比例。
&加载图片资源放置在根目录
Assets
中的Resource
文件夹下,载入资源时,将整个图片文件夹载入即可。
使用案例
- 创建项目,将其命名为
texture
,保存场景。
- 执行
Assets
→Create
→JavaScript
命令,创建一个新的脚本文件。
- 在 Project 视图中打开脚本编辑器,输入下列语句:
var aTexture:Texture;
function OnGUI(){
if(!aTexture){
Debug.LogError("Assign a Texture in the inspector.");
return;
}
GUI.DrawTexture(Rect(100, 10, 200, 200), aTexture);
}
- 按
Ctrl+S
键保存脚本。
- 在 Project 视图中选择脚本,并将其拖曳到 Hierarchy 视图中的
Main Camera
上,使脚本和摄像机产生关联。
- 在 Inspector 视图中添加纹理资源。
- 进行测试,效果如下图所示。