Unity circuido de carreras

Aquí lo que vamos a aprender es hacer que nuestro oponente realice el circuito , de una manera sencilla aunque hay muchas formas de hacerla lo vamos a hacer Point de referencia de una manera fácil y sencilla.

Aquí tenemos nuestro circuito realizado con Paint es bastante cutre.

Ahora pondremos nuestro coche a nuestro coche en Add Componentes le vamos asignar, el Box Collider2D el Rigobody2D, y en la Scala de Gravedad del Rigbody2d que pone 1 lo cambiaremos por 0, ahora al coche vamos a crearle un Script

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

public class movimiento : MonoBehaviour
{
    public List<Transform> waypoints;
    private Transform ActualPoint;
    public float speed = 5;
    private float radar = 0.5f;
    int point = 0;

    void Start()
    {

        ActualPoint = waypoints[point];
    }

    // Update is called once per frame
    void Update()
    {
        Quaternion rotarion = Quaternion.LookRotation(waypoints[point].position - transform.position, transform.TransformDirection(Vector3.forward));
        transform.rotation = new Quaternion(0, 0, rotarion.z, rotarion.w);

        float dist = Vector3.Distance(waypoints[point].position, transform.position);
        transform.position = Vector3.MoveTowards(transform.position, waypoints[point].position, Time.deltaTime * speed);

        if (Vector3.Distance(this.transform.position,waypoints[point].position) < radar)
        {
            if (point + 1 < waypoints.Count)

                point++;
        }
        
    }
}

Ya tendriamos nuestro Script pequeño y sencillo,

Ahora creamos un Gameobject al que llamaremos WayPoint, dentro de este objeto vació vamos a crear, los puntos de referencia, otro objeto vació

 

 

Una vez colocados los puntos de referencia se lo vamos incorporar al script del coche

Y nos funcionaria

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *