2016-10-27 6 views
0

Nav Mesh Agent를 사용하여 마우스 클릭 버튼을 사용하여 캐릭터를 이동합니다. 나는 빵을 클릭했고 그것은 플레이어를 움직이고있다.캐릭터를 애니메이트하려면 어떻게해야합니까?

이제 캐릭터가 움직이는 동안 애니메이션 보행을 추가하고 싶습니다. 그래서 제 캐릭터 ThirdPersonController Component Animation에 추가했고 Animation Inspector에서 HumandoidWalk에 Animation 속성을 설정했습니다.

그러나 게임을 실행하고 마우스로 클릭 할 때 애니메이션 산책이 없습니다.

애니메이션 상태 워크는 그것을 찾을 수 없기 때문에 재생할 수 없습니다 :

이 예외 메시지입니다! 이름이 'Walk'인 애니메이션 클립을 첨부하거나이 함수를 기존 애니메이션에만 호출하십시오. UnityEngine.Animation : 업데이트() (자산/MyScripts/ClickToMove.cs에서 : 21) (문자열) ClickToMove이 재생

이는 탐색 메쉬 에이전트를 보여주는 오른쪽에있는 문자 관리자의 스크린 샷입니다 애니메이터 및 구성 요소를 클릭하여 첨부 된 스크립트를 이동하려면

Screenshot

그리고 이것은 스크립트입니다. 처음 _anim.Play ("Walk")를 만들려고했습니다. 그가 Walk를 찾을 수 없었기 때문에 나는 execption을 얻었다.

그래서 나는 단지 _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; 
      } 
     } 
    } 
} 
+0

콘솔 탭으로 이동하여 예외를 복사하여 질문에 붙여 넣으십시오. – Programmer

+0

이 방법이 [gamedev SE] (http://gamedev.stackexchange.com/) 또는 [answers.unity3d.com] (http://answers.unity3d.com/)에 더 적합하다고 생각합니다. –

답변

0

애니메이션 클립 변수를 만들고 속성에서 애니메이션을 드래그합니다. 애니메이션을 클립 _anim.clip = clipVariable로 설정하여 애니메이션을 재생 한 다음 _anim.Play() 만 사용하십시오. 또한 애니메이션 구성 요소가 아닌 더 나은 Animator 구성 요소를 사용해야합니다.

관련 문제