برنامج نصي C# لإنشاء تأثير مسار المؤشر في Unity

يوجد أدناه برنامج نصي يقوم بإنشاء مسار يتبع مؤشر الماوس في Unity.

Sharp Coder مشغل فديوهات

  • قم بإنشاء سكريبت جديد، وقم بتسميته SC_CursorTrail ثم الصق الكود أدناه بداخله:

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));
    }
}

اضغط على "تشغيل" ولاحظ المسار الذي يتبع المؤشر.

المقالات المقترحة
تأثير الحركة البطيئة في الوحدة
البرنامج النصي لإنشاء مفتاح الضوء في الوحدة
كيفية إعداد جهاز التحكم بعصا التحكم للحركة في الوحدة
جمع العملات المعدنية ثنائية الأبعاد في Unity
برنامج تعليمي لهجوم المشاجرة ثنائي الأبعاد من أجل الوحدة
عداد الوحدة FPS
العد التنازلي البرنامج التعليمي للوحدة