Animation 较高层中的Unity 2d动画会擦除较低层中的动画

Animation 较高层中的Unity 2d动画会擦除较低层中的动画,animation,Animation,我正在使用Unity 5,我想创建一个2d游戏。我的2d角色有空闲、跳跃和跑步动画。现在,我想添加一个波浪动画,它在触发时会部分覆盖其他动画 我的想法是用我的挥舞动画创建一个精灵表(我使用的是Pyxel编辑),它只覆盖我2d角色身体的一部分 为了使这篇文章形象化,我创建了一些虚拟精灵表 基本动画(如空闲): 挥舞动画: 现在,在我的动画师Unity中,我将基本动画放在我的基础层上,并创建了第二层,在那里我放置了波浪动画 问题来了:当我开始游戏并让我的角色挥舞时,会播放挥舞动画,但只会播放挥舞

我正在使用Unity 5,我想创建一个2d游戏。我的2d角色有空闲、跳跃和跑步动画。现在,我想添加一个波浪动画,它在触发时会部分覆盖其他动画

我的想法是用我的挥舞动画创建一个精灵表(我使用的是Pyxel编辑),它只覆盖我2d角色身体的一部分

为了使这篇文章形象化,我创建了一些虚拟精灵表

基本动画(如空闲):

挥舞动画:

现在,在我的动画师Unity中,我将基本动画放在我的基础层上,并创建了第二层,在那里我放置了波浪动画

问题来了:当我开始游戏并让我的角色挥舞时,会播放挥舞动画,但只会播放挥舞动画的身体部分,而不会播放身体其余部分的基本动画。 换言之:在一瞬间,我的角色似乎松开了帽子和脚。

我尝试了很多事情:我设置了不同的权重,我尝试了覆盖和加法混合模式——似乎没有任何组合起作用

一些帖子和Unity手册建议为这个问题创建一个遮罩,但我找不到任何关于如何为2D精灵工作表创建遮罩的提示,所有指南都是针对3D模型的。我还发现AddMixingTransform,但也只能与掩码一起使用

我还试着在顶部和边缘切割我的波浪形雪碧床单,如下所示:

这也无济于事

有人理解我的问题吗?我如何解决它

编辑:

如果有人感兴趣,下面是我解决问题的方法。我不确定这是否是它应该如何工作的方式,但我找不到任何其他解决办法

我基本上制作了新的雪碧片:疯狂:我拿了现有的雪碧片,制作了只包含手臂的雪碧片,其他的雪碧片包含没有手臂的身体

然后,我在我的玩家游戏对象上创建了一个新的Animator(arm)组件,并将其Sprite渲染器组件放置在已经存在(现在为body)Animator的层之上

我为手臂和身体部位创建了新的动画,并将它们放入各自的动画师中,我还必须创建新的状态/过渡等等

我还必须为新的动画师创建相同的参数,并在代码中另外触发它们,以便动画同步(当我挥舞的动画打断跑步手臂动画时,我想我还是遇到了一个小问题,当它回来时,我认为跑步手臂动画与身体跑步动画不同步,但它几乎看不见,感谢上帝。)

我不确定这是否是我问题的正确解决方案,我只尝试了一个动画师和两个层,但这个简单的方法不起作用,因为你不能为2d精灵创建一个遮罩-没有遮罩,一个层总是会消除另一层的完整动画

任何人都可以确认我的方法在某种程度上是正确的,或者有没有其他更简单的方法来实现这一点