繁体   English   中英

如何为角色播放动画行走?

[英]How do i play animation walk for the character?

我正在使用Nav Mesh Agent通过鼠标单击按钮移动角色。 我单击“烘烤”,它正在移动播放器。

现在,我想在角色移动时向角色添加动画行走。 因此,我向角色ThirdPersonController Component Animation添加了动画,并在Animation Inspector中将Animation属性设置为HumandoidWalk。

但是,在运行游戏并单击鼠标时,不会进行动画漫游。

这是异常消息:

无法找到动画状态“步行”,因为找不到它! 请附加一个名为“ Walk”的动画剪辑,或者仅对现有动画调用此功能。 UnityEngine.Animation:Play(String)ClickToMove:Update()(位于Assets / MyScripts / ClickToMove.cs:21)

这是右侧角色检查器的屏幕快照,显示了Nav Mesh Agent和Animator组件以及随附的脚本。单击以移动:

屏幕截图

这是脚本。 我第一次尝试制作_anim.Play(“ Walk”); 但是我很高兴,因为他找不到步行。

所以我只尝试了_anim.Play(); 由于我将HumanoidWalk添加为动画,但现在没有任何异常,但是没有步行动画。

using UnityEngine;
using System.Collections;

public class ClickToMove : MonoBehaviour
{
    NavMeshAgent agent;
    Animation _anim;

    void Start()
    {
        agent = GetComponent<NavMeshAgent>();
        _anim = GetComponent<Animation>();
    }

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            _anim.Play("Walk");
            RaycastHit hit;

            if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 100))
            {
                agent.destination = hit.point;
            }
        }
    }
}

创建一个动画片段变量并将动画拖动到检查器中。 然后尝试通过将动画设置为剪辑_anim.clip = clipVariable来播放动画,然后仅使用_anim.Play()。 另外,您应该使用更好的Animator组件,而不是动画组件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM