[英]Anim.SetFloat doesn't work
我收到此錯誤:
NullReferenceException:對象引用未設置為對象的實例
UnityEditor.Graphs.AnimationStateMachine.GraphGUI.SyncGraphToUnitySelection(布爾力)(在C:/buildslave/unity/build/Editor/Graphs/UnityEditor.Graphs/AnimationStateMachine/GraphGUI.cs:310)
UnityEditor.Graphs.AnimatorControllerTool.DetectAnimatorControllerFromSelection()(在C:/buildslave/unity/build/Editor/Graphs/UnityEditor.Graphs/Animation/AnimatorControllerTool.cs:734)
UnityEditor.Graphs.AnimatorControllerTool.OnEnable()(在C:/buildslave/unity/build/Editor/Graphs/UnityEditor.Graphs/Animation/AnimatorControllerTool.cs:747)
這是我的代碼(統一2017.3.0f3)
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
public float moveSpeed;
private Animator anim;
// Use this for initialization
void Start () {
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update () {
if (Input.GetAxisRaw("Horizontal") > 0.5f || Input.GetAxisRaw("Horizontal") < -0.5f)
{
transform.Translate(new Vector3(Input.GetAxisRaw("Horizontal") * moveSpeed * Time.deltaTime, 0f, 0f));
}
if (Input.GetAxisRaw("Vertical") > 0.5f || Input.GetAxisRaw("Vertical") < -0.5f)
{
transform.Translate(new Vector3(0f, Input.GetAxisRaw("Vertical") * moveSpeed * Time.deltaTime, 0f));
}
}
anim.SetFloat("MoveX", Input.GetAxisRaw("Horizontal"));
anim.SetFloat("MoveY", Input.GetAxisRaw("Vertical"));
}
我不知道這是否可行,但是您可以嘗試以下方法:
public GameObject animObject;
private Animator anim;
void Start () {
anim = animObject.GetComponent<Animator>();
}
在“ animObject”中,獲取您要設置動畫的GameObject的動畫器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.