Unity SpriteAtlas (精灵图集)

🏆 个人愚见,没事写写笔记

🏆《博客内容》:Unity3D开发内容

🏆🎉欢迎 👍点赞✍评论⭐收藏

🔎为什么要打图集?

💡打图集的目的就是减少DrawCall 提高性能

🔎Unity中打开自带的打图集功能

在工程设置面板中打开功能:Edit------>Project Setting------>Editor------>Sprite Packer(精灵包装器,可以通过Unity自带图集工具生成图集)

⚙️Mode

**📌Disabled:**默认设置,不会打包图集

**📌Enabled For Builds:**Unity仅在构建时打包图集,在编辑模式下不会打包图集

**📌Always Enabled:**Unity在构建时打包图集,在编辑模式下运行前会打包图集

**⚠️Padding Power:**选择打包算法在计算打包的精灵之间以及精灵与生成的图集边缘之间的间隔距离 这里的数字 代表2的n次方

🔎SpriteAtlas:图集

☀️图集参数
🍀Type:Master(主图集)
🍀Include in Build:选中可以在当前构建中包含图集
🍀Allow Rotation:选中此选项将在打包图集时对图片元素进行旋转,可以最大限度提高组合后的图集密度

⚠️如果是UI图集,请禁用此选项,因为打包时会将场景中UI元素旋转

🍀Tight Packing:选中此选项在打包图集时使用图片轮廓来打包,而不是根据矩形,可以最大限度提高组合后的图集密度
🍀Padding:图集中个图片的间隔像素
🍀Type:Variant(变体类型的图集)
🍀Master Atlas:关联的主图集(图集类型必须是Master)
🍀Include in Build:选中可以在当前构建中包含图集
🍀Scale:设置变体图集的缩放因子(0~1),变体图集的大小是主图集乘以Scale的结果

⚠️变体图集的主要作用是以主图集为基础,对它进行缩放产生一个新的图集副本。如果还想使用变体图集中的内容,只需要勾选变体图集的Include in Build选项,而主图集禁用此选项即可

🖥️动态加载(Resource)Multiple类型的图集资源

1.将图集资源放置Resources文件夹下

2.加载ISO_Tile_Brick_Brick_02图片

cs 复制代码
//创建空物体
GameObject gameObject = new GameObject("SpriteRendererTest");
//添加SpriteRenderer组件
SpriteRenderer sr = gameObject.AddComponent<SpriteRenderer>();
//加载的图集资源
SpriteAtlas spriteAtlas = Resources.Load<SpriteAtlas>("Sprite Atlas");
//将图集资源中的图取出并指定到SpriteRenderer的sprite属性
sr.sprite = spriteAtlas.GetSprite("ISO_Tile_Brick_Brick_02");

🚀感谢:🎉欢迎 👍点赞✍评论⭐收藏

相关推荐
谢斯2 小时前
[Unity]设置自动打包脚本
unity·游戏引擎
EQ-雪梨蛋花汤12 小时前
【Unity AR开发插件】一、高效热更新:Unity AR 插件结合 HybridCLR 与 ARFoundation 的开源仓库分享
unity·开源·ar
大飞pkz20 小时前
【Unity】MVP框架的使用例子
unity·c#·mvc·框架·mvp·ui框架
21 小时前
Unity 几种主流的热更新方式
java·unity·游戏引擎
惊鸿醉1 天前
Unity Post Processing 小记 【使用泛光实现灯光亮度效果】
笔记·unity·游戏引擎
还是车万大佬1 天前
游戏开发总结(大鱼吃小鱼)
游戏·unity·游戏引擎·个人开发·visual studio
大飞pkz1 天前
【Unity】使用XML进行数据读存的简单例子
xml·unity·c#·游戏引擎·游戏开发·数据读写
大飞pkz2 天前
【Unity】如何解决UI中的Button无法绑定带参数方法的问题
ui·unity·游戏引擎·游戏开发·开发记录·button绑定
大飞pkz2 天前
【Unity】使用LitJson保存和读取数据的例子
unity·游戏引擎·游戏开发·数据保存和读取·游戏中的数据处理·类似jsonunility