当前位置:   article > 正文

【Unity】 图集Sprite Atlas使用讲解_unity sprite图集怎么做

unity sprite图集怎么做

为什么使用图集?

①减少DrawCall:在Unity中,通常渲染一个纹理会调用一次DrawCall。一个项目中包含大量的纹理,如果绘制每个纹理都调用一次DrawCall,这会占用过多的资源,从而影响整个游戏的性能。

②减少内存占用:比如你有一张宽高为90x90和一张宽高为9x9的图片,如果不合成大贴图,那么需要使用128x128和16x16的两张图片(分别是2的7次方和2的4次方)。但如果使用一张大图的话,可以把90x90和9x9的图片放到128x128的大图中,这样就用一张图片。

1.先选择3张图标,放入到同一文件夹Assets/Atlas/Main

在这里插入图片描述

2.然后建一个简单的UI,放入3个图标,此时没有打图集,Batches显示是4

在这里插入图片描述

3.打开Package Manager,导入2D Sprite

在这里插入图片描述

4.在Assets/Atlas/Main文件夹下,右击创建Sprite Atlas

在这里插入图片描述

5.文件夹下会多出一个文件Sprite Atlas文件

在这里插入图片描述

6.点击图集查看Inspector面板,提示图集功能关闭

在这里插入图片描述

7.点击提示,会自动弹开设置,自己根据需求设置打开状态

在这里插入图片描述

8.把整个文件夹拖进去,就可以对整个文件夹打图集,然后点击Pack Preview就可以预览图集

在这里插入图片描述

9.重要参数详解,只解释几个重要参数,因为这几个参数在实际游戏开发中,经常会出现问题。详细的可以点击下面官网连接

在这里插入图片描述

  • Include in Build:选中此复选框可在当前构建中包含精灵图集资源。默认情况下会启用此选项。
  • Allow Rotation:是否允许图片旋转,如果允许旋转,则可以最大限度提高组合后的纹理中的精灵密度。但是会导致某些图片旋转颠倒。默认开启,建议关闭!
  • Tight Packing:选中此复选框可根据精灵轮廓而非默认矩形轮廓来打包精灵。这样可以最大限度提高组合后的纹理中的精灵密度,并且默认情况下会启用此选项。但是会导致某些图片错位,建议关闭。

官方链接:
https://docs.unity3d.com/cn/current/Manual/class-SpriteAtlas.html

10.此时再看Batches已经变成2了

在这里插入图片描述

11.代码中,动态替换图片

	public Image img;
    void Start()
    {
        //加载图集,这里用了AssetDatabase加载,实际项目中根据自己的代码来加载
        string path = "assets/atlas/main/main.spriteatlas";
        Object asset = AssetDatabase.LoadAssetAtPath(path, typeof(SpriteAtlas));

        SpriteAtlas atlas = asset as SpriteAtlas;
        //替换图片
        img.sprite = atlas.GetSprite("icon_shop");
        
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/93775
推荐阅读
相关标签
  

闽ICP备14008679号