الماوس نظرة السيناريو للوحدة

يمكّن البرنامج النصي أدناه حركة التدوير التي تعتمد على الماوس مع خيارات للتحكم في المحور X أو المحور Y أو كليهما بشكل متزامن. مثالية لإنشاء عناصر تحكم في الأحرف أو منظورات الكاميرا الديناميكية في مشاريع Unity. قم بتخصيص قيود الحساسية والتناوب لتخصيص التجربة وفقًا لاحتياجاتك المحددة.

خطوات

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

'SC_MouseLook.cs'

using UnityEngine;

public class SC_MouseLook : MonoBehaviour
{
    public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }
    public RotationAxes axes = RotationAxes.MouseXAndY;
    public float sensitivityX = 15F;
    public float sensitivityY = 15F;

    public float minimumX = -360F;
    public float maximumX = 360F;

    public float minimumY = -60F;
    public float maximumY = 60F;

    float rotationY = 0F;

    void Update()
    {
        if (axes == RotationAxes.MouseXAndY)
        {
            float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;

            rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
            rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);

            transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
        }
        else if (axes == RotationAxes.MouseX)
        {
            transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityX, 0);
        }
        else
        {
            rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
            rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);

            transform.localEulerAngles = new Vector3(-rotationY, transform.localEulerAngles.y, 0);
        }
    }

    void Start()
    {
        // Make the rigid body not change rotation
        if (GetComponent<Rigidbody>())
            GetComponent<Rigidbody>().freezeRotation = true;
    }
}
  • قم بإرفاق البرنامج النصي 'SC_MouseLook' إلى GameObject أو الكاميرا في Unity.
  • اختر محاور التدوير ("MouseXAndY" أو "MouseX" أو "MouseY") في Inspector.
  • قم بضبط حساسية الماوس باستخدام المعلمات "sensitivityX" و"sensitivityY".
  • بشكل اختياري، قم بتعيين قيود التدوير باستخدام "minimumX"، "maximumX"، "minimumY"، و "maximumY".
  • قم بتخصيص المعلمات الأخرى بناءً على متطلبات مشروعك.
  • أدخل وضع Play لاختبار ومراقبة حركة الكاميرا التي تعتمد على الماوس.
  • ضبط قيود الحساسية والتناوب للسلوك المطلوب.
  • قم بدمج GameObject مع 'SC_MouseLook' في مشروعك الأكبر Unity.
المقالات المقترحة
العد التنازلي البرنامج التعليمي للوحدة
اختيار وحدة نمط RTS للوحدة
كيفية استخدام نظام المياه HDRP الجديد في الوحدة
كيفية استخدام وحدة تحكم Xbox في الوحدة
كيفية إعداد جهاز التحكم بعصا التحكم للحركة في الوحدة
برنامج تعليمي لهجوم المشاجرة ثنائي الأبعاد من أجل الوحدة
جمع العملات المعدنية ثنائية الأبعاد في Unity