Me tirado varios meses para poder hacer una puerta giratoria y no recordaba como lo hacia antes por un problema de descentrar el eje del gameobject y ponerlo en un extremo; y lo e resuelto de casualidad, unas imagenes valen mas que 1000 palabras, asi que sin comentarios, a partir de aqui es muy sencillo hacer una puerta giratoria, ni script necesita, el player pasa y la puerta gira desde un extremo, no necesita nada mas en absoluto.
SCRIPTS EN C# QUE UTILIZO PARA HABRIR Y CERRAR LAS PUERTAS MEDIANTE UNA ANIMACION REALIZADA CON 2 DE ELLAS, SON PUERTAS GIRATORIAS Y UTILIZO 4 PUERTAS CON ESTOS 3 SCRIPTS CONSIGO SU FUNCIONAMIENTO CUANDO EL PLAYER CRUZA POR ELLAS....ESTE PARA LAS PUERTAS GIRATORIAS UN ESCRIPT PARA LA DE LA IZQUIERDA Y EL MISMO PARA LA DE LA DERECHA ARRASTRANDOLAS A SU CORRESPONDIENTE CASILLA QUE FABRICA EL SCRIPT.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class activatTexto : MonoBehaviour
{
public GameObject texto;
private void OnTriggerEnter (Collider other)
{
if(other.tag == "Player")
{
texto.SetActive(true);
}
}
private void OnTriggerExit(Collider other)
{
if (other.tag == "Player")
{
texto.SetActive(false);
}
}
}
-----------------------------------------------------------------------------------------------------------
ESTOS DOS PARA LAS PUERTAS CUANDO ESTAN CERRADAS.....
-------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BORRAPUERTASQUIETASALPASAR : MonoBehaviour
{
public GameObject puertagiratoriadesdeblenderCINCO;
private void OnTriggerEnter(Collider other)
{
if (other.tag == "Player")
{
puertagiratoriadesdeblenderCINCO.SetActive(false);
}
}
private void OnTriggerExit(Collider other)/////imbento
{
if (other.tag == "Player")///////imbento
{
puertagiratoriadesdeblenderCINCO.SetActive(true);
}
}
}
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BORRAPUERTASQUITASALPASARLASEIS : MonoBehaviour
{
public GameObject puertagiratoriadesdeblenderSEIS;
private void OnTriggerEnter(Collider other)
{
if (other.tag == "Player")
{
puertagiratoriadesdeblenderSEIS.SetActive(false);
}
}
private void OnTriggerExit(Collider other)/////imbento
{
if (other.tag == "Player")///////imbento
{
puertagiratoriadesdeblenderSEIS.SetActive(true);
}
}
}