一:Image和Raw Image
Source Image:只支持Sprite类型的图片
Color:给图片混合上颜色
Material:材质(一些特殊情况需要使用材质)
Raycast Target:是否接收射线检测
Image Type:图片类型(普通,九宫切图,平铺,填充)
Preserve Asprect:是否保持宽高比
Set Native Size:设置元素为原本的像素大小
Texture:支持任何一种贴图模式,包括Render Texture和Movie Texture(Texture类型会将贴图宽和高转换为2的n次幂,Sprite类型不会对宽和高进行自动拉伸,可以在Inspector—Advanced—Non—Power of 2选择是否进行转换)
Color:给图片混合上颜色
Material:材质(一些特殊情况需要使用材质)
Raycast Target:是否接收射线检测
UV Rect:设置UV缩放和偏移(x和y属性用于控制UV左右、上下偏移,W和H属性用于控制UV的重复次数)
Set Native Size:设置元素为原本的像素大小
二 :Image的Image Type属性
例如一张这样的图片,正常表现如下:
——Simple
图片会进行随意拉伸,会变形,可以勾选上PreserveAspect按原宽高比进行拉伸
——Sliced
图片会按照Sprite Editor中的九宫格进行拉伸处理
1,3,7,9区域不会进行拉伸,2和8区域会横向拉伸,4和6区域会纵向拉伸,5区域横纵都会拉伸
——Tilled
图片本身大小会保持不变,像铺地面砖那样填充满整个Image控件
——Filled
图片以不同的方式呈现出来,例如技能冷却,血条,进度条
三:Raw Image的UV Rect
例如一张这样的图片,正常表现如下:
将x设置为0.5,图片将会进行横向一半的偏移
将w设置为2,横向将可以显示两张原始图片
可以在Import Settings中的Wrap Model设置循环的模式,Repeat模式可以用于2D游戏的背景图循环
四:Sprite图集的使用
Build Settings—Player Settings—Editor—Sprite Packer设置Mode为Always Enabled
在Project面板下新建一个文件夹放入将要打包成图集的图片(只有Sprite模式的图片才可以打包成图集)
在Project面板下新建一个Sprite Atlas,选择打包图集的文件夹或者依次添加单独图片,点击Pack Preview后自动打包成一个图集
代码获取图集并动态选择Sprite:
using UnityEditor;
using UnityEngine;
using UnityEngine.U2D;
using UnityEngine.UI;
public class SpriteAtlasExample : MonoBehaviour
{
private void Awake()
{
SpriteAtlas atlas = AssetDatabase.LoadAssetAtPath<SpriteAtlas>("Assets/TestAtlas.spriteatlas");
Sprite sprite = atlas.GetSprite("Icon2");
if (sprite != null)
{
GetComponent<Image>().sprite = sprite;
}
}
}