Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: xCarras en Marzo 02, 2017, 09:25:27 AM

Título: Activar animación de un object desde el player y un trigger.
Publicado por: xCarras en Marzo 02, 2017, 09:25:27 AM
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.
Título: Activar animación de un object desde el player y un trigger.
Publicado por: pioj en Marzo 02, 2017, 10:15:21 AM
Si el objeto b forma parte dentro del player, y el player tiene un script dónde se haga referencia a este objeto b.... :
 
Título: Activar animación de un object desde el player y un trigger.
Publicado por: xCarras en Marzo 02, 2017, 11:01:14 AM
No, el objeto b no esta dentro del player, el objeto b es una puerta.
Título: Activar animación de un object desde el player y un trigger.
Publicado por: pioj en Marzo 02, 2017, 11:37:16 AM
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.
Título: Activar animación de un object desde el player y un trigger.
Publicado por: xCarras en Marzo 02, 2017, 11:43:40 AM
Y como podría hacer eso? Perdón si es algo muy básico pero apenas llevo unos días con unity.
Título: Activar animación de un object desde el player y un trigger.
Publicado por: Samusan en Marzo 02, 2017, 12:06:07 PM
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();
   }   
    }
}