我所说的不同是指游戏运行时效率低下。
Sprite 表: 将多个文件放在一个纹理文件中,然后导入到unity中,我只导入了一个纹理。
Sprite 包装器: 统一导入多个文件,然后使用 sprite packer 将其打包成一个纹理。
那么它们之间有什么区别呢?哪一个更适合 Sprite 动画?
谢谢!
最佳答案
就帧速率而言,您几乎没有影响。然而,就内存而言,您可能会看到效果,因为 Sprite 打包器将能够更好地处理具有灵活大小的动画。
对于 Sprite 表,我假设您指的是由固定大小的单元格组成的 map 集。这种方法没有问题,除非您的动画大小变化很大,从而有必要增加整体单元格大小以覆盖最大动画帧的区域。你最终会得到大量的“空”,从而浪费空间。这很糟糕,因为移动内存将成为您的问题。
一般来说, Sprite 表适合适合有效单元格大小的动画,例如动画角色:
使用unity sprite packer,你不会遇到这个问题,因为它会将浪费的空白空间“打包”在一起并创建最佳图集,因此得名“packer”。
您可以在文档中看到:
爆炸(或者无论是什么)显然正在使用最佳空间。在 Sprite 表中,您必须创建最大爆炸大小的单元格。
就编程简易性而言,使用 sprite packer,您可能需要添加一些代码来纠正原始 sprite 大小,以便动画能够在“ anchor ”顺利运行。使用 Sprite 表,您可以通过固定单元格大小来避免这种情况。
关于unity-game-engine - unity2d spritesheet和spritepacker有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25375330/