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.