generated from krampus/template-godot4
Added debug HUD
This commit is contained in:
parent
e4d3ca6d90
commit
a775865ed9
26
src/player/debug_hud.gd
Normal file
26
src/player/debug_hud.gd
Normal file
@ -0,0 +1,26 @@
|
||||
extends CanvasLayer
|
||||
|
||||
const FPS_SAMPLES := 4
|
||||
|
||||
@export var player: Player
|
||||
|
||||
var _delta_samples: Array[float] = []
|
||||
|
||||
@onready var fps_label: Label = %FPSLabel
|
||||
@onready var player_position_label: Label = %PlayerPositionLabel
|
||||
@onready var player_velocity_label: Label = %PlayerVelocityLabel
|
||||
@onready var player_speed_label: Label = %PlayerSpeedLabel
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
player_position_label.text = str(player.global_position)
|
||||
player_velocity_label.text = str(player.velocity)
|
||||
player_speed_label.text = "%.3f" % player.velocity.length()
|
||||
|
||||
# Average FPS across window
|
||||
_delta_samples.push_front(delta)
|
||||
if _delta_samples.size() > FPS_SAMPLES:
|
||||
_delta_samples.pop_back()
|
||||
var sum_delta: float = _delta_samples.reduce(func(a: float, b: float) -> float: return a + b)
|
||||
var avg_delta := sum_delta / _delta_samples.size()
|
||||
fps_label.text = "%.1f" % (1 / avg_delta)
|
||||
1
src/player/debug_hud.gd.uid
Normal file
1
src/player/debug_hud.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://dao84umfatnid
|
||||
@ -1,17 +1,21 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://dtbulshrxetes"]
|
||||
[gd_scene load_steps=17 format=3 uid="uid://dtbulshrxetes"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bihaf1xlwpkdo" path="res://src/player/player.gd" id="1_5f2sf"]
|
||||
[ext_resource type="Script" uid="uid://f3kssctvn2bo" path="res://src/player/camera_controller.gd" id="1_mf2ua"]
|
||||
[ext_resource type="Script" uid="uid://f3kssctvn2bo" path="res://src/player/camera/camera_controller.gd" id="1_mf2ua"]
|
||||
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="1_rxibo"]
|
||||
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="2_mf2ua"]
|
||||
[ext_resource type="Script" uid="uid://032jyhgkb2rv" path="res://src/player/mouselook_controller.gd" id="4_244u8"]
|
||||
[ext_resource type="Script" uid="uid://buq2c8inefgdl" path="res://src/player/camera/strafe_bank_effect.gd" id="3_x42xx"]
|
||||
[ext_resource type="Script" uid="uid://032jyhgkb2rv" path="res://src/player/camera/mouselook_controller.gd" id="4_244u8"]
|
||||
[ext_resource type="Script" uid="uid://c0nxcunx0fo4r" path="res://src/player/movement_controller.gd" id="6_jiejy"]
|
||||
[ext_resource type="Script" uid="uid://d11erhxna68vd" path="res://src/player/player_input_controller.gd" id="7_o822w"]
|
||||
[ext_resource type="Script" uid="uid://dao84umfatnid" path="res://src/player/debug_hud.gd" id="9_l271a"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_qnmj6"]
|
||||
|
||||
[sub_resource type="CapsuleMesh" id="CapsuleMesh_4anbu"]
|
||||
|
||||
[sub_resource type="Curve" id="Curve_x42xx"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_244u8"]
|
||||
script = ExtResource("2_mf2ua")
|
||||
duration = 0.4
|
||||
@ -22,6 +26,13 @@ ease = 0
|
||||
radius = 0.1
|
||||
height = 1.0
|
||||
|
||||
[sub_resource type="SystemFont" id="SystemFont_x42xx"]
|
||||
font_names = PackedStringArray("Monospace")
|
||||
|
||||
[sub_resource type="Theme" id="Theme_l271a"]
|
||||
default_font = SubResource("SystemFont_x42xx")
|
||||
Label/constants/outline_size = 4
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
collision_layer = 3
|
||||
script = ExtResource("1_5f2sf")
|
||||
@ -40,14 +51,19 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
script = ExtResource("1_mf2ua")
|
||||
yaw_root = NodePath("../..")
|
||||
|
||||
[node name="PhantomCamera3D" type="Node3D" parent="CameraOffset/CameraController"]
|
||||
[node name="StrafeBankEffect" type="Node3D" parent="CameraOffset/CameraController" node_paths=PackedStringArray("character")]
|
||||
script = ExtResource("3_x42xx")
|
||||
character = NodePath("../../..")
|
||||
pitch_curve = SubResource("Curve_x42xx")
|
||||
|
||||
[node name="PhantomCamera3D" type="Node3D" parent="CameraOffset/CameraController/StrafeBankEffect"]
|
||||
script = ExtResource("1_rxibo")
|
||||
priority = 1
|
||||
tween_resource = SubResource("Resource_244u8")
|
||||
noise_emitter_layer = 1
|
||||
metadata/_custom_type_script = "uid://csjccrhj5wnx7"
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="CameraOffset/CameraController/PhantomCamera3D"]
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="CameraOffset/CameraController/StrafeBankEffect/PhantomCamera3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0, -0.45)
|
||||
gi_mode = 0
|
||||
mesh = SubResource("CapsuleMesh_o822w")
|
||||
@ -63,3 +79,81 @@ metadata/_custom_type_script = "uid://c0nxcunx0fo4r"
|
||||
[node name="PlayerInputController" type="Node" parent="MovementController"]
|
||||
script = ExtResource("7_o822w")
|
||||
metadata/_custom_type_script = "uid://d11erhxna68vd"
|
||||
|
||||
[node name="DebugHUD" type="CanvasLayer" parent="." node_paths=PackedStringArray("player")]
|
||||
script = ExtResource("9_l271a")
|
||||
player = NodePath("..")
|
||||
|
||||
[node name="Control" type="Control" parent="DebugHUD"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
theme = SubResource("Theme_l271a")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="DebugHUD/Control"]
|
||||
layout_mode = 1
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
theme_override_constants/margin_left = 64
|
||||
theme_override_constants/margin_top = 64
|
||||
theme_override_constants/margin_right = 64
|
||||
theme_override_constants/margin_bottom = 64
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="DebugHUD/Control/MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="DebugHUD/Control/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="DebugHUD/Control/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "FPS: "
|
||||
|
||||
[node name="FPSLabel" type="Label" parent="DebugHUD/Control/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0"
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="DebugHUD/Control/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="DebugHUD/Control/MarginContainer/VBoxContainer/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
text = "PLAYER POSITION: "
|
||||
|
||||
[node name="PlayerPositionLabel" type="Label" parent="DebugHUD/Control/MarginContainer/VBoxContainer/HBoxContainer2"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "[0.0, 0.0, 0.0]"
|
||||
|
||||
[node name="HBoxContainer3" type="HBoxContainer" parent="DebugHUD/Control/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="DebugHUD/Control/MarginContainer/VBoxContainer/HBoxContainer3"]
|
||||
layout_mode = 2
|
||||
text = "PLAYER VELOCITY: "
|
||||
|
||||
[node name="PlayerVelocityLabel" type="Label" parent="DebugHUD/Control/MarginContainer/VBoxContainer/HBoxContainer3"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "[0.0, 0.0, 0.0]"
|
||||
|
||||
[node name="HBoxContainer4" type="HBoxContainer" parent="DebugHUD/Control/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="DebugHUD/Control/MarginContainer/VBoxContainer/HBoxContainer4"]
|
||||
layout_mode = 2
|
||||
text = "PLAYER SPEED: "
|
||||
|
||||
[node name="PlayerSpeedLabel" type="Label" parent="DebugHUD/Control/MarginContainer/VBoxContainer/HBoxContainer4"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0.0"
|
||||
|
||||
[node name="Label2" type="Label" parent="DebugHUD/Control/MarginContainer/VBoxContainer/HBoxContainer4"]
|
||||
layout_mode = 2
|
||||
text = "m/s"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user