feat: player movement

This commit is contained in:
timote koenig
2026-03-10 15:10:05 +01:00
parent 9779430531
commit 8c4c2b372b
225 changed files with 191345 additions and 185 deletions

View File

@@ -0,0 +1,57 @@
using UnityEngine;
public class PlayerLook : MonoBehaviour
{
public Transform CameraTransform;
public Transform Head;
public float RotateSpeed = 5;
public float MaxLookAngle = 90f;
private float m_verticalRotation = 0f;
private Rigidbody m_rigidbody;
private PlayerInputController input;
private PlayerHeadController headController;
private void Awake()
{
m_rigidbody = GetComponent<Rigidbody>();
input = GetComponent<PlayerInputController>();
headController = GetComponent<PlayerHeadController>();
}
private void FixedUpdate()
{
Vector2 m_lookAmt = input.LookAmount;
if (m_lookAmt.magnitude <= 0.01f)
return;
if (!headController.isHoldingHead || input.ShiftPressed && headController.isHoldingHead)
{
float headRotation = m_lookAmt.x * RotateSpeed * Time.deltaTime;
Head.Rotate(0, headRotation, 0);
if (CameraTransform != null)
{
m_verticalRotation -= m_lookAmt.y * RotateSpeed * Time.deltaTime;
m_verticalRotation = Mathf.Clamp(m_verticalRotation, -MaxLookAngle, MaxLookAngle);
CameraTransform.localRotation = Quaternion.Euler(m_verticalRotation, 0, 0);
}
}
else
{
float horizontalRotation = m_lookAmt.x * RotateSpeed * Time.deltaTime;
Quaternion deltaRotation = Quaternion.Euler(0, horizontalRotation, 0);
m_rigidbody.MoveRotation(m_rigidbody.rotation * deltaRotation);
if (CameraTransform != null)
{
m_verticalRotation -= m_lookAmt.y * RotateSpeed * Time.deltaTime;
m_verticalRotation = Mathf.Clamp(m_verticalRotation, -MaxLookAngle, MaxLookAngle);
CameraTransform.localRotation = Quaternion.Euler(m_verticalRotation, 0, 0);
}
}
}
}