Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Alessandro en Abril 24, 2018, 06:03:55 PM

Título: Como hago una zona segura como la del pubg?
Publicado por: Alessandro en Abril 24, 2018, 06:03:55 PM
Hola, me gustaria saber como puedo hacer una zona segura como la del pubg o la del fortnite, es decir:
 
1-) que se cierre en un punto aleatorio del mapa.
 
2-) que al estar afuera baje vida
 
3-) temporizador para que cierre cada cierto tiempo
 
4-) que mientras mas pequeña sea la zona, que baje mas vida, etc.
 
He estado buscando esto por miles de videos y foros y no he tenido exito, espero y ustedes me ayuden con esta duda. Gracia
 
Att: AlexContre27
Título: Como hago una zona segura como la del pubg?
Publicado por: francoe1 en Abril 24, 2018, 08:25:51 PM
1 - Bien primero defines un punto en el mapa, por ejemplo (0,0,0), luego tomas la distancia del jugador con ese punto.
 

Vector3.Distance(jugador.transform.position, mapa.puntodereunion)

 
2 - Si la distancia es mayor al radio que definas entonces el jugador está fuera de la zona segura.
 
3 - Temporizador
 
Al iniciar la partida le sumas a Time.time el tiempo que deseas que el radio se achique, luego en una función update evaluas que ese valor sea mayor que Time.time, de lo contrario se activa el "Tick".
 

private float _timeTick = 0;
private int _timeForReduceRadius = 0;
private void Update()
{
}
private void StartGame(int TimeForReduceRadious)
{
_timeForReduceRadius = TimeForReduceRadious;
_timeTick = Time.time + TimeForReduceRadious;
}
private void Update()
{
if(_timeTick < Time.time)
    {
      ReduceRadius();
      _timeTick = Time.tima + _timeForReduceRadius;
    }
}
private void ReduceRadius()
{
 
}

 
4 - Esa parte es matemática básica.