Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Game Development

Jan-Philippe Emmanuel Rasay Guerrero
Jan-Philippe Emmanuel Rasay Guerrero
1,567 Points

Animator is not playing a Playable UnityEngine.Animator:SetFloat(String, Single)

using UnityEngine; using System.Collections;

public class PlayerMovement : MonoBehaviour {

private Animator playerAnimator;
private float moveHorizontal;
private float moveVertical;
private Vector3 movement;
private float turningSpeed = 20f;
private Rigidbody playerRigidbody;
[SerializeField]
private RandomSoundPlayer playerFootsteps;



// Use this for initialization
void Start () {

    // Gather components from the Player GameObject
    playerAnimator = GetComponent<Animator> ();
    playerRigidbody = GetComponent<Rigidbody> ();

}

// Update is called once per frame
void Update () {

    // Gather input from the keyboard
    moveHorizontal = Input.GetAxisRaw ("Horizontal");
    moveVertical = Input.GetAxisRaw ("Vertical");

    movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);

}

void FixedUpdate () {

    //If the player's movement vector does not equal zero...
    if (movement != Vector3.zero) {

        //...then create a target rotation based on the movement vector...
        Quaternion targetRotation = Quaternion.LookRotation (movement, Vector3.up);

        //...and create another rotation that moves the current rotation to the target rotation...
        Quaternion newRotation = Quaternion.Lerp (playerRigidbody.rotation, targetRotation, turningSpeed * Time.deltaTime);

        //...and change the player's rotation to the new incremental rotation....
        playerRigidbody.MoveRotation(newRotation);

        //....then play the jump animation
        playerAnimator.SetFloat ("Speed", 3f);

        //...play footsteps sound.
        playerFootsteps.enabled = true;         

    } else  {

        //Otherwise, don't play the jump animation
        playerAnimator.SetFloat ("Speed", 0f);

        //...Don't play footsteps sounds
        playerFootsteps.enabled = false;

    }
}

}

Can someone help me plz? I can't seem to find the solution...?

Were you able to figure this out? I have the same issue

3 Answers

Karen Ho
Karen Ho
10,190 Points

Found the answer from another thread, this worked for me:

Juliette Tworsey 3 months ago Hi Andrea,

I was stuck on this as well. Then I found this answer from another student (Jennifer Nordell) here in the forum under another post:

Try clicking on the Player prefab and note the Transform, Animator, RigidBody, and Box Collider sections.

I'm guessing that there may be no script in player prefab inspector connecting the movement of the frog to the player object. After clicking on the Player prefab (if you see no PlayerMovement script in the inspector) click add component and then in the search box at the top start typing in "PlayerMovement" . It should bring it up in a list of alternatives. Then click add component.

Try that and see if it works for you. I just worked for me.

Cheers:-)

Nick Pettit
STAFF
Nick Pettit
Treehouse Teacher

Hi Jan-Philippe Emmanuel Rasay Guerrero,

Were you ever able to figure this out? Or did you still need help?

Karen Ho
Karen Ho
10,190 Points

I have the same issue, can someone help?