【问题标题】:Unity - Animator Controller - Store previous stateUnity - 动画控制器 - 存储以前的状态
【发布时间】:2021-05-06 20:11:57
【问题描述】:

我有一个带 4 个抽屉的储物柜。每个抽屉都是一个单独的对象。每个抽屉都有自己的打开动画。我有过渡的问题。如果我打开第一个抽屉然后打开第二个(或第三个),第一个抽屉会自动关闭。

下图显示了第一个动画(ThirdDrawer_Open)之后的对象

下图显示第二个动画(SecondDrawer_Open)之后的对象

我想存储动画的前一个状态,所以当我打开第二个抽屉时,前一个不会关闭/结束。

【问题讨论】:

  • 很可能是Write defaults issues
  • @TEEBQNE 你是救生员。如何将此评论标记为答案?
  • 我可以写一个答案,你可以接受。不过,与评论相比,我的答案会更清楚一些。

标签: unity3d animation animator


【解决方案1】:

Animation States 文档中,您可以编辑状态的各种公开属性。一个属性称为Write Defaults。从文档中,它被描述为

AnimatorStates 是否写回默认值 不通过其 Motion 设置动画的属性。

在您的情况下,如果在您更改抽屉状态时启用此功能,它会将默认值写回其他抽屉,导致它们关闭。一个解决方案是取消切换此属性以便不写入默认值,或者您可以在运行时使用WriteDefaultValues 强制覆盖这些值。我通常更喜欢之前的解决方案,因为 WriteDefaults 有时会让人头疼。

【讨论】:

    猜你喜欢
    • 2019-02-21
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多