Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Activar animación de un object desde el player y un trigger.

Iniciado por xCarras, Marzo 02, 2017, 09:25:27 AM

Tema anterior - Siguiente tema
Hola me estoy complicando la vida para hacer algo que imagino que no es nada complicado. Quiero que mi jugador al entrar en un trigger active la animación del objecto b que he creado con el animator mediante keys. Desde el codigo del jugador estoy intentando crear una variable GameObject donde poner el objecto b pero no se como acceder desde el jugador a la animacion del objeto b.

Si el objeto b forma parte dentro del player, y el player tiene un script dónde se haga referencia a este objeto b.... :
 

  •    Declara y crea una función pública en el componente/script que gestiona el player, y que llame a la animación del objeto b.


  •    Crea, en el script del trigger (del objeto que lleve ese trigger), la condición del OnTrigger... para que al entrar llame al script del player, a la función esa nueva que acabas de crear.


No, el objeto b no esta dentro del player, el objeto b es una puerta.

Esto ya es un tema de cómo te organices mejor el código de tu juego, pero yo lo que haría es un LevelManager / GameManager , o lo que fuera, que tuviera en cuenta esa puerta, para gestionar su estado y llamar a su anim.
 
El método no cambia. Haz que el OnTrigger del script de la puerta, llame a la función pública del LevelManager, que internamente animará esa puerta.

Y como podría hacer eso? Perdón si es algo muy básico pero apenas llevo unos días con unity.

Se puede hacer de varias formas. Si la puerta tiene un trigger lo mas facil es que cuando el jugador entre en el trigger la puerta se abra.
 
 
 

using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
    void OnTriggerEnter(Collider other) {
   if (other.tag == "Player"){
      //abrirPuerta();
   }   
    }
}

 
 

Etiquetas: