如何在Unity中正确切换动画?

问题描述 投票:0回答:1

如何正确切换动画? 我以不同的方式阅读了有关职责分工的内容,以及各种抽象的内容,我遇到了以下问题: 我有一个类想要控制动画,如何正确地做到这一点? (为了方便起见,负责动画的类将被称为AnimClass) AnimClass有几个动画,为了方便,让它跑,平静,跳跃。 让我通过布尔或触发器打开动画,然后如何? 如果我想从另一个脚本访问 AnimClass 并尝试调用动画,那么我需要在 AmimClass 中为每个动画创建一个具有适当名称的方法,以便我可以方便地访问它(因为我不知道另一个脚本中有关该列表的信息) AnimClass 中的动画,必须通过 AnimClass(dot) 访问它并查看方法列表,已经有一个条件 void SetRunAnim,或者我需要在我的 AnimClass 中创建一个方法来切换动画,减少所有不必要的并打开传输的动画,但我再次需要知道动画的名称,我可以将其传递给 AnimClass 的此方法以便调用它,因为没有名称,我无法调用所需的动画我的方法中的动画,但是打开脚本等等,从我读到的内容来看,这通常是愚蠢的,不正确的 足够的人如何处理这个问题以遵守所有这些规则?

unity-game-engine animation
1个回答
0
投票

我个人将动画编码到Player.cs或Npc.cs中,Animator组件已经是一个非常复杂的脚本,因此不需要使事情复杂化并编写新的脚本来处理动画。

我知道你想把代码写得很干净,但是 Animator 组件已经为你提供了你需要的方法,你只需要编写如下的脚本:

public class PlayerController : MonoBehaviour {
    public Animator animator;
    private bool isJumping;
    private bool isRunning;

    private void Update(){
       isJumping = true; //obviusly you need to write some logic
       isRunning = false; //obviusly you need to write some logic
      
       animator.SetBool("Jump", isJumping);
       animator.SetBool("Run", isRunning);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.