unity图集的使用(万能方法)

21 篇文章 4 订阅
18 篇文章 1 订阅

图集的意义

使用图集可以说是多加了一个步骤 但是这个步骤不是没有意义的
他可以有效的减少drawcall的数量,
多张图片需要多个drawcall,而如果我们合成一个大图 只需要一个drawcall

并且可以减少内存的开销

图集的使用

然后就到了图集的使用上了

首先创建一个图集
在这里插入图片描述
然后我们将想要设置的文件夹或者是文件 赋值上去

在这里插入图片描述
这里可能会产生报错 如果报错 我们需要设置一下
在这里插入图片描述
这样报错就消失了 按钮也可以点击了

然后就要通过代码来给我们想要设置的赋值了

 public static Sprite GetAtlasSprite(string AtlasName,string SpriteName)
    {
        SpriteAtlas atlas = Resources.Load<SpriteAtlas>(AtlasName);
        if (atlas == null)
        {
            Debug.LogError("图集:" + AtlasName + "不存在,请检查!");
        }
        if (atlas.GetSprite(SpriteName))
        {
            Debug.LogError(AtlasName+" 图集中sprite" + SpriteName + "不存在,请检查!");
        }
        return atlas.GetSprite(SpriteName);
    } 

上边我写了一个万能的方法 然后我们就可以使用了

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TestAtlas : MonoBehaviour
{
    private Image _image;

    private void Awake()
    {
        _image = transform.GetComponent<Image>();
    }
    private void Start()
    {
        _image.sprite = GetSprite.GetAtlasSprite("Test", "10-Victory-2");
    }
}

使用的前提是这个图集放于Resources文件夹中

如果出现读取图片的时候 我们发现把相邻图片的边边角角包括进来了
只需要将图集的Tight Packing取消勾选即可

以上就是这篇博文所有的内容 希望对大家有所帮助

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值