1. π 2024-06-12

    Run to Idle这种,隐约觉得这里或许可以在Character里通过一个类似CurrentState的set属性来对所有这类过渡状态进行识别和处理,相当于这样就把一些很细碎的东西不用单独作为一个State了,而是直接被隔离了出来,被属性这个地方做管理逻辑——尤其是只是为了播放一个临时动画的这种情况,似乎还蛮合适。

    只不过这种思路下,按道理这种临时动画放到一个叠加动画层上是比较合适的,但由于你教程中的前提情境是 Animator是只读的,也用不了层,所以上面说的应该跟你这个教程的思路是不完美匹配的哈哈,仅作探讨了

    不过你的控制器里倒是可以自己通过一些标签来标定出类似层的概念,比如 用isInTransition来判定是否正在过渡(这里等于是将RunToIdle这种过渡类动画定义为“Transition”了)
    再比如被受击的时候也可以进行类似的有层感觉的定义(或许也一定程度上暗合了通常情况下Hit这类动画会被置于叠加层来管理的习惯了?)

    最近由 π 修改于:2024-06-12 12:27:20
    • 月白工作室 2024-06-12

      @π:感谢阅读!
      1.是的,层次状态机可以把代码变得更加易读,不然状态一多还是挺难管理的,不过我还没有研究过……《游戏编程模式》里有提到过这个概念。
      2.对的,用代码控制的话不能用animator自带的叠加动画层和blender tree那些了
      3.标签的想法也很不错。
      谢谢提供新的思路!

您需要登录或者注册后才能发表评论

登录/注册