Movimientosen unity Basico

Aquí vamos aprender como animar nuestro personaje en este caso sera Bob esponja el Sprite le tenéis en este mismo blogg.Bien lo primero que vamos hacer es colocar nuestro Bob esponja en la escena.

bien aquí ya tenemos nuestro bob esponja. lo siguiente que vamos hacer es  asignar a nuestro bob esponja

Ahora lo  que vamos  hacer es agregar a BOD ESPONJA un Rigibody2D, Animator, y un Box colidder, despues creamos un New Script y comenzamos a programar

 

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

public class ejeplo : MonoBehaviour {

	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
		
	}
}

using System.Collections;

using System.Collections.Generic;

using UnityEngine;
 

public class NewBehaviourScript : MonoBehaviour {

    public float moveSpeed = 3f;

    float velX;

    float velY;

    bool facingRingth = true;

    Rigidbody2D rigiBody;
void Start () {

rigiBody = GetComponent<Rigidbody2D>();
}

// Update is called once per frame

    void Update () { 

        velX = Input.GetAxisRaw(“Horizontal”);

        velY = rigiBody.velocity.y;

        rigiBody.velocity = new Vector2(velX * moveSpeed, velY);
           

}
}

void LateUpdate()

{

        Vector3 localScale = transform.localScale;

        if (velX > 0)

        {
            facingRingth = true;

        }

        else if ( velX <0)
        {
            facingRingth = false;
        }

        if (((facingRingth) && (localScale.x < 0)) || ((!facingRingth) && (localScale.x > 0)))
        {

            localScale.x *= -1;

        }

        transform.localScale = localScale;
}

 

 

Aquí ya nuestro personaje Bob esponja se movería Derecha he izquierda

Bien ahora lo siguiente que vamos hacer es crear la animación de nuestro personaje algo muy sencillo de hacer

 

Ahora vamos a créate y vamos a crear nuestra primera animación que sera el «REPOSO»

Bien el IDLL es el reposo ahora vamos a crear el caminar de nuestro BOB ESPONJA. Create New Clip y y creariamos la de caminar

despues iríamos a la pestaña que esta pegada a la de Animation que es «Animator»  y nos saldrá las dos animaciones IDLL y WALK antes de nada lo primero que vamos hacer es crear un bool

Una vez creada el Bool al que llamaremos WAlki creamos las transacciones entre IDLL y WALK

hecho esto en ambas flechas el Has Exit Time y acortamos la distancia despues vamos «List is Empty «le damos a mas y hacemos lo siguiente

la flecha que de IDL que va hacia abajo WALK la pondremos tal y como la tengo yo en la pantalla WALKI – true y justo la flecha que va hacia arriba al revés                                                                                                                                                      WALKI – false

 

ahora de nuevo vamos al Script y programamos la animación.

using System.Collections;
 
using System.Collections.Generic;
 
using UnityEngine;
 
 
public class NewBehaviourScript : MonoBehaviour {
 
    public float moveSpeed = 3f;
 
    float velX;
 
    float velY;
 
    bool facingRingth = true;
 
    Rigidbody2D rigiBody;
    Animator anim;
    bool WALKI = false;


void Start () {
 
rigiBody = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator> ();
}
 
// Update is called once per frame
 
    void Update () { 
 
        velX = Input.GetAxisRaw(“Horizontal”);
 
        velY = rigiBody.velocity.y;
 
        rigiBody.velocity = new Vector2(velX * moveSpeed, velY);

        if (velX != 0) {
			WALKI = true;
		} else {
			WALKI = false;
		}
		anim.SetBool ("WALKI", WALKI);
           
 
}
}
 
void LateUpdate()
 
{
 
        Vector3 localScale = transform.localScale;
 
        if (velX > 0)
 
        {
            facingRingth = true;
 
        }
 
        else if ( velX <0)
        {
            facingRingth = false;
        }
 
        if (((facingRingth) && (localScale.x < 0)) || ((!facingRingth) && (localScale.x > 0)))
        {
 
            localScale.x *= -1;
 
        }
 
        transform.localScale = localScale;
      }
}

 

Bien una vez hecho esto ya tendríamos nuestra animación programada.