Juego Coches en Unity | Parte 3 | Velocímetro Canvas

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ม.ค. 2025
  • En este 3er vídeo crearemos un velocímetro (a modo de marcador en pantalla), que nos indique la velocidad a la que vamos.
    Para ello crearemos un componente Canvas y dentro un componente de tipo Text.
    Posteriormente crearemos un script que gestionará la lógica, que simplemente será obtener a tiempo real los km/h accediendo a la variable del script principal CarMoveRB currentSpeed (que nos proveerá del valor de la velocidad actual).

ความคิดเห็น • 2

  • @vcolino
    @vcolino หลายเดือนก่อน +1

    Está quedando genial el juego. Una cosa que quedaría simpática es la de encender las luces de freno cuando le des hacia atrás para reducir velocidad. Debería ser fácil cambiando el valor de emisión del material de las luces de freno. Otra cosa, tal vez un poco más difícil (dependiendo de cómo esté el modelo 3D del coche) es la de hacer girar el volante cuando se va a la izquierda o derecha. Podría echarte una mano con eso, si hace falta. Lo mismo se podría hacer con las ruedas, aunque con las cámaras actuales, no se ven.

    • @siempreretro
      @siempreretro  หลายเดือนก่อน

      Hola! Gracias 😊
      Sí, lo de las luces de freno, esta noche a las 21:30 (hora española) se sube el siguiente vídeo precisamente sobre las luces de frenado 🙂... he agregado el script en el componente KoukiTailLights (o algo así), que son las luces de frenado, te dejo el script aquí por si lo quieres:
      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class BrakeLights : MonoBehaviour
      {
      public static BrakeLights instance;
      [SerializeField] private float emissionIntensity = 5.0f;
      [SerializeField] private Renderer brakeLightRenderer;
      private Material brakeLightMaterial;
      private bool isBraking = false;
      void Awake()
      {
      if (instance == null)
      {
      instance = this;
      }
      else
      {
      Destroy(gameObject);
      }
      }
      void Start()
      {
      if (brakeLightRenderer == null)
      {
      brakeLightRenderer = GetComponent();
      }
      if (brakeLightRenderer != null)
      {
      brakeLightMaterial = brakeLightRenderer.material;
      }
      else
      {
      Debug.Log("El render no esta asignado o el GameObject no tiene el renderer");
      }
      }
      void Update()
      {
      }
      public void UpdateBrakeLightEmission(bool isBraking)
      {
      if (brakeLightMaterial != null)
      {
      if (isBraking)
      {
      brakeLightMaterial.EnableKeyword("_EMISSION");
      brakeLightMaterial.SetColor("_EmissionColor", Color.red * emissionIntensity);
      }
      else
      {
      brakeLightMaterial.DisableKeyword("_EMISSION");
      }
      }
      }
      }
      La clave está como bien has dicho en modificar el Emission. (También hay que llamar a este script desde el script principal CarMoveRB... cuando pulses la tecla de frenar...
      Saludos!