Maus-Look-Skript für Unity
Das folgende Skript ermöglicht eine mausgesteuerte Rotationsbewegung mit Optionen zur gleichzeitigen Steuerung der X-Achse, Y-Achse oder beider. Ideal zum Erstellen immersiver Charaktersteuerungen oder dynamischer Kameraperspektiven in Unity Projekten. Passen Sie Empfindlichkeits- und Rotationsbeschränkungen an, um das Erlebnis an Ihre spezifischen Bedürfnisse anzupassen.
Schritte
- Erstellen ein neues Skript, nennen Sie es 'SC_MouseLook' und fügen Sie dann den folgenden Code ein.
'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;
}
}
- Hängen Sie das 'SC_MouseLook'-Skript an Ihr GameObject oder Ihre Kamera in Unity an.
- Wählen Sie im Inspektor Rotationsachsen („MouseXAndY“, "MouseX" oder "MouseY").
- Passen Sie die Mausempfindlichkeit mit den Parametern "sensitivityX" und "sensitivityY" an.
- Legen Sie optional Rotationsbeschränkungen mit "minimumX", "maximumX", "minimumY" und "maximumY" fest.
- Passen Sie andere Parameter entsprechend Ihren Projektanforderungen an.
- Wechseln Sie in den Play-Modus, um die mausgesteuerte Kamerabewegung zu testen und zu beobachten.
- Passen Sie die Empfindlichkeits- und Rotationsbeschränkungen für das gewünschte Verhalten an.
- Integrieren Sie das GameObject mit 'SC_MouseLook' in Ihr größeres Unity Projekt.