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");

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

相关推荐
霜绛5 小时前
Unity:lua热更新(三)——Lua语法(续)
unity·游戏引擎·lua
世洋Blog13 小时前
更好的利用ChatGPT进行项目的开发
人工智能·unity·chatgpt
evolution_language1 天前
Unity场景(Scene)的注意事项和易错点
unity·游戏引擎·scene
EQ-雪梨蛋花汤1 天前
【AI工具】使用 Doubao-Seed-Code 优化 Unity 编辑器插件:从功能实现到界面美化的完整实践
人工智能·unity·编辑器
Dr.勿忘1 天前
开源Unity小框架:高效单例与模块化设计
游戏·unity·开源·c#·游戏引擎·游戏程序·gamejam
jtymyxmz3 天前
《Unity Shader》8.4 透明度混合
unity·游戏引擎
世洋Blog3 天前
利用<<左移运算符优雅的设计游戏能力的任意组合和判断
游戏·unity·c#
毛甘木3 天前
Unity MonoPInvokeCallback 使用教程
c++·unity
心疼你的一切3 天前
Unity开发Rokid应用之离线语音指令交互模型
android·开发语言·unity·游戏引擎·交互·lucene
Sator13 天前
Unity使用OpenXR时,初始化失败的问题
unity·游戏引擎·vr