basic tutorial layout

This commit is contained in:
2025-10-28 14:08:41 +01:00
parent 1cafe6e96d
commit fd7b55452b
12 changed files with 1102 additions and 727 deletions

View File

@@ -6,6 +6,7 @@ namespace Movementtests.systems;
public partial class HeadSystem : Node3D
{
private Camera3D _camera;
private Marker3D _cameraAnchor;
[Export(PropertyHint.Range, "0,10,0.1,or_greater")]
public float LookSensitivity { get; set; } = 1f;
@@ -14,6 +15,7 @@ public partial class HeadSystem : Node3D
{
Input.SetMouseMode(Input.MouseModeEnum.Captured);
_camera = GetNode<Camera3D>("CameraSmooth/Camera3D");
_cameraAnchor = GetNode<Marker3D>("CameraAnchor");
}
public void LookAround(Vector2 lookDir, float sensitivitMultiplier = 1f)
@@ -23,11 +25,12 @@ public partial class HeadSystem : Node3D
RotateY(angleForHorizontalRotation);
// Vertical movement of head
Vector3 currentCameraRotation = _camera.Rotation;
Vector3 currentCameraRotation = _cameraAnchor.Rotation;
currentCameraRotation.X += Convert.ToSingle(lookDir.Y * LookSensitivity * sensitivitMultiplier);
currentCameraRotation.X = Mathf.Clamp(currentCameraRotation.X, Mathf.DegToRad(-90f), Mathf.DegToRad(90f));
_camera.Rotation = currentCameraRotation;
_cameraAnchor.Rotation = currentCameraRotation;
_camera.GlobalTransform = _cameraAnchor.GetGlobalTransformInterpolated();
}
public Vector3 GetForwardHorizontalVector()