栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

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

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

图集的意义

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

并且可以减少内存的开销

图集的使用

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

首先创建一个图集

然后我们将想要设置的文件夹或者是文件 赋值上去


这里可能会产生报错 如果报错 我们需要设置一下

这样报错就消失了 按钮也可以点击了

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

 public static Sprite GetAtlasSprite(string AtlasName,string SpriteName)
    {
        SpriteAtlas atlas = Resources.Load(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();
    }
    private void Start()
    {
        _image.sprite = GetSprite.GetAtlasSprite("Test", "10-Victory-2");
    }
}

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

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/902262.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号