unity-game-engine - unity2d spritesheet和spritepacker有什么区别?

标签 unity-game-engine sprite sprite-sheet

我所说的不同是指游戏运行时效率低下。

Sprite 表: 将多个文件放在一个纹理文件中,然后导入到unity中,我只导入了一个纹理。

Sprite 包装器: 统一导入多个文件,然后使用 sprite packer 将其打包成一个纹理。

那么它们之间有什么区别呢?哪一个更适合 Sprite 动画?

谢谢!

最佳答案

就帧速率而言,您几乎没有影响。然而,就内存而言,您可能会看到效果,因为 Sprite 打包器将能够更好地处理具有灵活大小的动画。

对于 Sprite 表,我假设您指的是由固定大小的单元格组成的 map 集。这种方法没有问题,除非您的动画大小变化很大,从而有必要增加整体单元格大小以覆盖最大动画帧的区域。你最终会得到大量的“空”,从而浪费空间。这很糟糕,因为移动内存将成为您的问题。

一般来说, Sprite 表适合适合有效单元格大小的动画,例如动画角色: enter image description here

使用unity sprite packer,你不会遇到这个问题,因为它会将浪费的空白空间“打包”在一起并创建最佳图集,因此得名“packer”。

您可以在文档中看到: sprite packer result

爆炸(或者无论是什么)显然正在使用最佳空间。在 Sprite 表中,您必须创建最大爆炸大小的单元格。

就编程简易性而言,使用 sprite packer,您可能需要添加一些代码来纠正原始 sprite 大小,以便动画能够在“ anchor ”顺利运行。使用 Sprite 表,您可以通过固定单元格大小来避免这种情况。

关于unity-game-engine - unity2d spritesheet和spritepacker有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25375330/

相关文章:

javascript - 样式表在 <canvas> 上未正确裁剪

android - 适用于 HLS Fragmented MP4 (fmp4) 的 Android Exo Player Unity 插件

unity-game-engine - Unity地形 - 从谷歌地图构建地形

ios - Sprite 帧动画 Cocos2d 3.0

python - 与敌人碰撞时减去生命不工作pygame

LibGDX And​​roid 游戏 - 在滚动屏幕上显示固定文本(即分数)

java - 多个小型 spritesheet 还是一个巨大的 spritesheet 以提高性能? ---(java游戏开发)

android - 适用于 Unity 的 Facebook SDK - 在 iOS 上读取好友分数时遇到问题

Unity 3D 中的相机视锥体平面

c++ - Cocos2d 中 Sprite 的暂停/恢复 Action /动画