在 Unity 中来自 spritesheet 的动画异相

Posted

技术标签:

【中文标题】在 Unity 中来自 spritesheet 的动画异相【英文标题】:Animation from spritesheet out of phase in Unity 【发布时间】:2017-09-22 23:58:04 【问题描述】:

我正在使用 Unity 的精灵编辑器将精灵表加载为动画。我不知道为什么精灵最终会出现异相,导致动画期间出现抖动效果。

这是其中一个精灵表

Idle animation spritesheet

这是统一加载的样子

Idle animation in Unity

我已经尝试过这个网站中的 spritesheet 是否正确:http://is.si/animator/,它是(配置为每帧 432 x 407,25 帧和帧时间 1)。

我在一个空白项目中试了一下,也有同样的问题

注意:Unity 的精灵编辑器中的配置是 5 列、5 行(按单元格计数)或 432x407(按单元格大小)。枢轴无关紧要,使用任何枢轴位置都会出现相同的错误。

感谢您的宝贵时间

【问题讨论】:

【参考方案1】:

我发现了问题所在。 spritesheet 大于 2048(宽度),默认情况下 Unity 将所有纹理压缩为 2048。因此压缩后的图像不再能被 5 整除。 我通过将压缩设置为 4096 来解决它(大小无关紧要,因为使用 sprite packer 时所有的空白都被消除了)。

【讨论】:

以上是关于在 Unity 中来自 spritesheet 的动画异相的主要内容,如果未能解决你的问题,请参考以下文章

使用 Unity EditorWindow 从 Spritesheet 创建动画?

unity3d 从 web 和内存问题加载 spritesheet

来自 TexturePacker 的 EaselJS Spritesheets

Windows Phone 应用程序中的 SpriteSheet 动画

多个精灵表中的 Unity 9-slice

SpriteSheet 类 AS3