android parte 3 juego de policias

Bien lo siguiente que vamos hacer Ahora es animar nuestro personaje  para que al moverse parezca que camina.

Lo primero que vamos hacer es crear las animaciones

Una vez creadas las animaciones las borramos y hacemos lo siguiente

Ahora en animaciones Botón izquierdo create State, From New Blend Tree

bien pinchamos doble click sobre Blend Tree y nos saldrá la siguiente

aquí lo tenemos y justo a la derecha tenemos las animaciones que anteriormente hemos creado y posteriormente borrado

Ahora en la izquierda vamos a crear dos Float MovX, MoveY y de nuevo seleccionamos Blend Tree y hacemos lo siguiente

1D vamos a cambiarlo por 2D siempre Directional y despues cambiaremos el nombre arriba blend Tree

Una vez hecho esto le damos a + add Motion field y creamos cuatro animaciones que son las que tenemos y hemos creado

y hay copiamos cada una de las animaciones

 

así deberían de quedar todas, despues vamos al script del personaje del movimiento con teclado, tenemos dos opciones lo dejamos tal cual o ponemos el nuevo scrip junto al anterior yo lo he puesto todo de nuevo

using System.Collections;
using System.Collections.Generic;
using UnityEngine;




public class MOVIMIENTO : MonoBehaviour {

    public float speed;
    private Rigidbody2D myRigibody;
    private Vector3 mover;
    private Animator animator;
    Vector2 mov;

	void Start()
	{


        animator = GetComponent<Animator>();
        myRigibody = GetComponent<Rigidbody2D>();
	}

    void Update()
    {
        mover = Vector3.zero;
        mover.x = Input.GetAxisRaw("Horizontal");
        mover.y = Input.GetAxisRaw("Vertical");
        UpdateAnimationAdnMove();
    }

    void UpdateAnimationAdnMove(){
        if (mover != Vector3.zero){
            moveCharacter();
            animator.SetFloat("MovX", mover.x);
            animator.SetFloat("MoveY", mover.y);
            animator.SetBool("moving", true);
        }

        else{

            animator.SetBool("moving", false);
        }

        }
        void moveCharacter(){
            myRigibody.MovePosition( transform.position + mover * speed * Time.deltaTime);

        }

        }



 

Una vez hecho esto vamos de nuevo en animaciones y hacemos lo mismo