Я все еще новичок в Unity и кодировании в целом, поэтому имейте это в виду! Я тоже задал этот вопрос на форумах Unity, но люди сказали мне, что код должен скомпилировать и что они пропадают, поэтому я надеюсь найти здесь несколько ответов!Невозможно заставить анимацию работать. Ошибка аниматора Setfloat
Я пытаюсь получить мою движущуюся анимацию, чтобы играть, как только в качестве параметра, который я называется скорость> 0,1
я получаю эту ошибку и после некоторого Googling я до сих пор не понять.
Assets/Scripts/PlayerMovement.cs(28,26): error CS1061: Type `Animator' does not contain a definition for `SetFloat' and no extension method `SetFloat' of type `Animator' could be found (are you missing a using directive or an assembly reference?)
Любая идея, что может быть неправильным?
Вот мой сценарий:
using UnityEngine;
using System.Collections;
public class PlayerMovement : MonoBehaviour {
public float speed;
public float floatDown;
public Boundary boundary;
Animator animator;
[System.Serializable]
public class Boundary{
public float xMin, xMax, zMin, zMax, yMin, yMax;
}
// Use this for initialization.
void Start() {
gameObject.tag = "Player";
animator = GetComponent<Animator>();
}
// Update is called once per frame.
void Update() {
//Basic left, right, up, down, movement.
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis ("Jump");
animator.SetFloat ("Speed", moveHorizontal);
Vector3 movement = new Vector3 (moveHorizontal, moveVertical, 0.0f);
GetComponent<Rigidbody>().velocity = movement * speed;
//Clamping so Bubbleboy doesnt exit screen.
GetComponent<Rigidbody>().position = new Vector3
(
Mathf.Clamp (GetComponent<Rigidbody>().position.x, boundary.xMin, boundary.xMax),
Mathf.Clamp (GetComponent<Rigidbody>().position.y, boundary.yMin, boundary.yMax),
Mathf.Clamp (GetComponent<Rigidbody>().position.z, boundary.zMin, boundary.zMax)
);
//Using relativeForce to simulate floating down.
if (Input.GetKey (KeyCode.S)) {
GetComponent<Rigidbody>().AddRelativeForce (0, floatDown, 0);
}
}
}
Вы пытались сменить 'Animator' на' UnityEngine.Animator'? –
Вы уверены, что вы компилируете его с Unity, а не Visual Studio, например? Вы видите эту ошибку в Unity's Console? –
Это решило ошибку! Меняя его на единицу, он решил его решить, моя анимация не работает, но я думаю, что это исправление отсюда! –