Contenido

Destruir

El bloque

Lo primero que haremos será generar una caja en nuestra escena, que será el que nuestro Jugador tendrá que destruir. Dicho bloque será un Cube con un nuevo material llamado Caja de color verde, al que además le vamos a añadir un componente de tipo Particle System que se activará cuando el Jugador lo destruya, así como un BoxCollider con la opción Is Trigger seleccionada. El resultado podría ser similar al siguiente:

El script JugadorController

Una vez generado, solos nos faltaría modificar el script de JugadorController para que detecte la caja. Para ello, modifica su método OnTriggerEnter() de modo que dentro incluya el siguiente condicional:

		//Si toca la caja
		if (other.gameObject.CompareTag("Caja")){

			//Si está pulsando el botón de pegar
			if (Input.GetButton("Fire1")){
				//Capturo el sistema de partículas de la caja y lo reproduzco
				other.gameObject.GetComponent<ParticleSystem>().Play();
				//Oculto objeto tras un tiempo
				StartCoroutine(ocultarObjeto(other.gameObject));
			}
			else{
				//Reproduzco la animación de morir
				animator.SetBool("isDead", true);
				//Corutina para cambiar el Collider
				StartCoroutine(cambiarCollider());
				//Deshabilito el script par aque ya no se mueva más
				GetComponent<JugadorController>().enabled = false;
			}

		}
Y para finalizar, añade el método ocultarObjeto(), que se encargará de esperar un tiempo antes de ocultar la caja, de manera que de tiempo a reproducir la animación del sistema de partículas antes de que se oculte.

	//Esperar
	IEnumerator ocultarObjeto(GameObject objeto){

		//Espero 1 segundos
		yield return new WaitForSeconds(1.0f);

		//Oculto objeto
		objeto.SetActive(false);

	}
Con esto estaría finalizado nuestro proyecto de animación de un humanoide.