This repository has been archived on 2026-01-20. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
URRobot/Assets/SampleSceneAssets/Scripts/LookWithMouse.cs
jmaniuvc 282fcfe688 main
2025-05-29 09:51:58 +09:00

59 lines
1.5 KiB
C#

#if ENABLE_INPUT_SYSTEM
using UnityEngine.InputSystem;
#endif
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LookWithMouse : MonoBehaviour
{
const float k_MouseSensitivityMultiplier = 0.01f;
public float mouseSensitivity = 100f;
public Transform playerBody;
float xRotation = 0f;
// Start is called before the first frame update
void Start()
{
Cursor.lockState = CursorLockMode.Locked;
}
// Update is called once per frame
void Update()
{
#if ENABLE_INPUT_SYSTEM
float mouseX = 0, mouseY = 0;
if (Mouse.current != null)
{
var delta = Mouse.current.delta.ReadValue() / 15.0f;
mouseX += delta.x;
mouseY += delta.y;
}
if (Gamepad.current != null)
{
var value = Gamepad.current.rightStick.ReadValue() * 2;
mouseX += value.x;
mouseY += value.y;
}
mouseX *= mouseSensitivity * k_MouseSensitivityMultiplier;
mouseY *= mouseSensitivity * k_MouseSensitivityMultiplier;
#else
float mouseX = Input.GetAxis("Mouse X") * mouseSensitivity * k_MouseSensitivityMultiplier;
float mouseY = Input.GetAxis("Mouse Y") * mouseSensitivity * k_MouseSensitivityMultiplier;
#endif
xRotation -= mouseY;
xRotation = Mathf.Clamp(xRotation, -90f, 90f);
transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
playerBody.Rotate(Vector3.up * mouseX);
}
}