2016-05-16 420 views
0

所以我有一个Animator,它在移动时激活我的播放器,我的AnimationClip中有一个SpriteRenderer属性有几帧。如果玩家获得升级,我希望动画行为相同,但更改这些精灵。那可能怎么样? (我宁愿以编程方式做到这一点。)在Unity中更改AnimationClip的精灵

编辑:请注意,我不能只创建一个新的动画状态来实现这一点,因为如果我有3个SpriteRenderer财产在动画中,每一种指的是角色的一部分,每个部分都可以升级4次,所以如果我为每种可能的组合创建不同的动画状态,我最终会得到5^3个动画。

enter image description here

+0

'表现相同,但以什么方式更改这些精灵?像不同的颜色,但运行相同的动画,还是完全不同的东西? – Tom

+0

我想更改精灵,因为您可以看到还有其他属性(旋转,dirt.isActive),我希望它们保持不变。 –

+1

您好Ference - 有什么问题? **复制**动画,并做一个稍微不同的动画。只需在两个动画之间切换即可。没有任何问题。 – Fattie

回答

0

您可以通过编程改变精灵的LateUpdate()。我从来没有这样做过,但似乎在这个视频here大约20分钟英寸的解释。

他根据对应于一组精灵的字符串关闭spritesheets。如果您正在跳过,请查找名为“ReSkinAnimation”(23:00)的部分。

+0

是的,我也发现了这个视频,这里的问题是,他直接访问角色的游戏对象的组件,它是孩子,并更改他们的渲染器的精灵。但我想访问我的动画师的** DrillHrizontal ** AnimationClip,并更改关键帧的精灵。 –

+0

LateUpdate ??从不使用LateUpdate。肯定不要在这里使用它,为了善良Tom – Fattie

+1

,只是制作不同的动画,并让你的状态机在合适的时间选择合适的机器。 – Fattie