Muislook-script voor Unity

Het onderstaande script maakt muisgestuurde rotatiebeweging mogelijk met opties om de X-as, Y-as of beide gelijktijdig te besturen. Ideaal voor het creëren van meeslepende karaktercontroles of dynamische cameraperspectieven in Unity projecten. Pas de gevoeligheid en rotatiebeperkingen aan om de ervaring aan uw specifieke behoeften aan te passen.

Stappen

  • Maak een nieuw script, noem het 'SC_MouseLook' en plak de onderstaande code erin.

'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;
    }
}
  • Voeg het 'SC_MouseLook'-script toe aan uw GameObject of Camera in Unity.
  • Kies rotatie-assen ("MouseXAndY", "MouseX" of "MouseY") in Inspector.
  • Stem de muisgevoeligheid nauwkeurig af met de parameters "sensitivityX" en "sensitivityY".
  • Stel optioneel rotatiebeperkingen in met "minimumX", "maximumX", "minimumY" en "maximumY".
  • Pas andere parameters aan op basis van uw projectvereisten.
  • Ga naar de Play-modus om de muisgestuurde camerabewegingen te testen en te observeren.
  • Pas de gevoeligheid en rotatiebeperkingen aan voor het gewenste gedrag.
  • Integreer het GameObject met 'SC_MouseLook' in uw grotere Unity-project.
Voorgestelde artikelen
FPC Swimmer - Een alomvattend eenheidsmiddel voor meeslepende wateromgevingen
Script voor het maken van een lichtschakelaar in eenheid
Raycast- en projectielgebaseerd schietscript voor Unity
Joystickcontroller instellen voor beweging in eenheid
2D Melee Attack-tutorial voor Unity
Countdown Timer-tutorial voor Unity
Zone Controller Pro - Unity Asset Store-pakket