Script C# para crear un efecto de rastro de cursor en Unity

A continuación se muestra una secuencia de comandos que genera un rastro que sigue al cursor del mouse en Unity.

Sharp Coder Reproductor de video

  • Cree un nuevo script, asígnele el nombre SC_CursorTrail y luego pegue el siguiente código dentro de él:

SC_CursorTrail.cs

using UnityEngine;

public class SC_CursorTrail : MonoBehaviour
{
    public Color trailColor = new Color(1, 0, 0.38f);
    public float distanceFromCamera = 5;
    public float startWidth = 0.1f;
    public float endWidth = 0f;
    public float trailTime = 0.24f;

    Transform trailTransform;
    Camera thisCamera;

    // Start is called before the first frame update
    void Start()
    {
        thisCamera = GetComponent<Camera>();

        GameObject trailObj = new GameObject("Mouse Trail");
        trailTransform = trailObj.transform;
        TrailRenderer trail = trailObj.AddComponent<TrailRenderer>();
        trail.time = -1f;
        MoveTrailToCursor(Input.mousePosition);
        trail.time = trailTime;
        trail.startWidth = startWidth;
        trail.endWidth = endWidth;
        trail.numCapVertices = 2;
        trail.sharedMaterial = new Material(Shader.Find("Unlit/Color"));
        trail.sharedMaterial.color = trailColor;
    }

    // Update is called once per frame
    void Update()
    {
        MoveTrailToCursor(Input.mousePosition);
    }

    void MoveTrailToCursor(Vector3 screenPosition)
    {
        trailTransform.position = thisCamera.ScreenToWorldPoint(new Vector3(screenPosition.x, screenPosition.y, distanceFromCamera));
    }
}
  • Adjunte SC_CursorTrail a la cámara principal

Pulsa Play y observa el rastro que sigue el cursor.

Artículos sugeridos
Script para crear un interruptor de luz en Unity
Selección de unidades estilo RTS para Unity
Efecto de cámara lenta en Unity
Un activo integral de Unity para entornos acuáticos inmersivos
Guión con aspecto de ratón para Unity
Guión de disparos de armas basado en Raycast y proyectiles para Unity
Tutorial de ataque cuerpo a cuerpo 2D para Unity