【发布时间】:2016-10-27 04:36:50
【问题描述】:
我正在使用导航网格代理通过鼠标单击按钮移动角色。 我点击了烘焙,它正在移动播放器。
现在我想在角色移动时为其添加动画行走。 所以我添加到我的角色 ThirdPersonController 组件动画并在动画检查器中我将动画属性设置为 HumandoidWalk。
但是当运行游戏并用鼠标点击时,没有动画行走。
这是异常消息:
动画状态Walk无法播放,因为找不到! 请附加一个名为“Walk”的动画剪辑,或仅为现有动画调用此函数。 UnityEngine.Animation:播放(字符串) ClickToMove:Update()(在 Assets/MyScripts/ClickToMove.cs:21)
这是右侧角色检查器的屏幕截图,显示了 Nav Mesh Agent 和 Animator Components 以及附加的脚本 Click To Move:
这就是脚本。我第一次尝试制作 _anim.Play("Walk");但我得到了执行,因为他找不到 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;
}
}
}
}
【问题讨论】:
-
转到控制台选项卡,然后将异常复制并粘贴到您的问题中。
-
我认为这更适合gamedev SE 或answers.unity3d.com。