cada coche por su carril

Lo que vamos hacer  es que cada coche vaya por su carril. aquí vemos como nuestros coches  van juntos  por el mismo carril

 

 

y aquí los point con unos collider que les he puesto, pero por esos point van nuestros dos coches lo que vamos hacer sera crear un camino a nuestro coche.

Ahora vamos hacer lo mismo que hicimos antes

 

creamos un objeto hijo

 

Ahora vamos a poner Point que es la bolita azul

Y colocamos el trayecto que va llevar nuestro coche amarillo

 

 

una vez tengamos todos los puntos en su sitio vamos gameobjeto que hemos creado que sera el pistoletazo de salida del coche amarillo y le asignamos el mismo script  que tiene nuestro coche rojo y que antes tenia el amarillo aquí os lo voy a dejar Aunque también lo tenéis en la primera parte del tutórala

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CARF : MonoBehaviour
{
    Transform[] lista;
    public List<Transform> Puesto = new List<Transform>();



    // Update is called once per frame
    void Update()
    {
        Puesto.Clear();
        lista = GetComponentsInChildren<Transform>();

        foreach (Transform child in lista)
        {
            if (child != this.transform)
            {
                Puesto.Add(child);
            }


        }
    }
}

 

este simple tutorial y le adjuntamos los point que hemos creado anteriormente. ahora vamos al coche amarrilo y lo adjuntamos

Ahora cada coche ira por su carril

Vamos al coche amarillo y le asignamos un rigibody y un box collider y activamos el Is Trigger

Ahora vamos a  nuestro Point

aquí le asignare un collider para que gire

A nuestro POINT le agregamos un  collider y marcados el Is Trigger despues lo que vamos hacer es agregarle un tag

 

 

en el tag podremos direccionA y direccionB y vamos al script del coche

y programamos para que gire, ojo esta dirección la realizara dependiendo en la posición que se aproxime al collider si se aproxima de manera diferente realizara otro giro diferente

 

void OnTriggerEnter(Collider other)
   {

   if(other.gameObject.tag == "direccionA")
       transform.Rotate(-00f, -90.0f, 0.0f);


   {


   }    

   if (other.gameObject.tag == "direccionB")
       transform.Rotate(-00f, +90.0f, 0.0f);



   }

   
    


   }

 

 

Ahora iríamos asignando un collider a los puntos dónde queramos que nuestro objeto gire