From f1c6ffbcd98e30a207813bb17eaa4099085ce8b1 Mon Sep 17 00:00:00 2001 From: Bo Thompson Date: Thu, 8 Jan 2026 10:09:29 -0500 Subject: [PATCH] Started work on opponent view camera --- scenes/test_level.tscn | 24 +++++++++++++++++++-- templates/HUD.tscn | 24 +++++++++++++++------ templates/{camera.tscn => pawn_camera.tscn} | 0 3 files changed, 40 insertions(+), 8 deletions(-) rename templates/{camera.tscn => pawn_camera.tscn} (100%) diff --git a/scenes/test_level.tscn b/scenes/test_level.tscn index 98e358f..6eb6f82 100644 --- a/scenes/test_level.tscn +++ b/scenes/test_level.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=6 format=3 uid="uid://by6suwmds7xq2"] +[gd_scene load_steps=7 format=3 uid="uid://by6suwmds7xq2"] [ext_resource type="Script" uid="uid://d3t381vws7vns" path="res://scripts/level.gd" id="1_qcd3b"] [ext_resource type="PackedScene" uid="uid://bgocskbofewsr" path="res://templates/HUD.tscn" id="1_x4b8f"] +[ext_resource type="PackedScene" uid="uid://cqa0p34mbk6so" path="res://templates/pawn_camera.tscn" id="5_tmr53"] [ext_resource type="MeshLibrary" uid="uid://bhpyvhf36jl0f" path="res://testing.tres" id="7_88ety"] [ext_resource type="MeshLibrary" uid="uid://cvhm40o2uw5mr" path="res://testing markers.tres" id="7_ahbqi"] @@ -60,7 +61,7 @@ _spawnable_scenes = PackedStringArray("uid://bk3yqawritfnj") spawn_path = NodePath("../Traps") [node name="CameraSpawner" type="MultiplayerSpawner" parent="."] -_spawnable_scenes = PackedStringArray("uid://cqa0p34mbk6so") +_spawnable_scenes = PackedStringArray("res://templates/camera.tscn") spawn_path = NodePath("../Cameras") [node name="Pawns" type="Node3D" parent="."] @@ -74,3 +75,22 @@ unique_name_in_owner = true [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_x4b8f") + +[node name="HUD" parent="." instance=ExtResource("1_x4b8f")] + +[node name="SubViewportContainer" type="SubViewportContainer" parent="HUD/Control/PanelContainer/HBoxContainer/PanelContainer2" index="0"] +layout_mode = 2 + +[node name="SubViewport" type="SubViewport" parent="HUD/Control/PanelContainer/HBoxContainer/PanelContainer2/SubViewportContainer"] +unique_name_in_owner = true +handle_input_locally = false +canvas_cull_mask = 4294967294 +size = Vector2i(150, 204) +render_target_update_mode = 4 + +[node name="Camera" parent="HUD/Control/PanelContainer/HBoxContainer/PanelContainer2/SubViewportContainer/SubViewport" instance=ExtResource("5_tmr53")] +transform = Transform3D(1, 0, 0, 0, 0.49999997, 0.86602545, 0, -0.86602545, 0.49999997, 3.366806, 6.4681396, 0) + +[node name="RemoteTransform3D" type="RemoteTransform3D" parent="HUD/Control/PanelContainer/HBoxContainer/PanelContainer2/SubViewportContainer/SubViewport/Camera"] + +[editable path="HUD"] diff --git a/templates/HUD.tscn b/templates/HUD.tscn index d2063cd..b481652 100644 --- a/templates/HUD.tscn +++ b/templates/HUD.tscn @@ -213,14 +213,14 @@ script = ExtResource("13_bftxg") unique_name_in_owner = true stream = ExtResource("14_d888c") -[node name="PanelContainer3" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer"] +[node name="AmmoPanel" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer"] custom_minimum_size = Vector2(150, 100) layout_mode = 2 -[node name="Control" type="Control" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/PanelContainer3"] +[node name="Control" type="Control" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/AmmoPanel"] layout_mode = 2 -[node name="TextureRect2" type="TextureRect" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/PanelContainer3/Control"] +[node name="TextureRect2" type="TextureRect" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/AmmoPanel/Control"] layout_mode = 0 offset_left = 128.0 offset_top = 38.0 @@ -228,7 +228,7 @@ offset_right = 180.0 offset_bottom = 90.0 texture = SubResource("GradientTexture1D_gomyg") -[node name="TextureRect" type="TextureRect" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/PanelContainer3/Control"] +[node name="TextureRect" type="TextureRect" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/AmmoPanel/Control"] layout_mode = 0 offset_left = 8.0 offset_top = -25.0 @@ -237,7 +237,7 @@ offset_bottom = 104.0 texture = ExtResource("18_iv5le") expand_mode = 1 -[node name="AmmoLabel" type="Label" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/PanelContainer3/Control"] +[node name="AmmoLabel" type="Label" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/AmmoPanel/Control"] unique_name_in_owner = true layout_mode = 0 offset_left = 141.0 @@ -248,10 +248,22 @@ theme_override_font_sizes/font_size = 48 text = "9" horizontal_alignment = 1 -[node name="PanelContainer2" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer"] +[node name="OppnentView" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer"] custom_minimum_size = Vector2(150, 0) layout_mode = 2 +[node name="SubViewportContainer" type="SubViewportContainer" parent="Control/PanelContainer/HBoxContainer/OppnentView"] +layout_mode = 2 + +[node name="SubViewport" type="SubViewport" parent="Control/PanelContainer/HBoxContainer/OppnentView/SubViewportContainer"] +handle_input_locally = false +gui_disable_input = true +render_target_update_mode = 4 + +[node name="TextureRect" type="TextureRect" parent="Control/PanelContainer/HBoxContainer/OppnentView/SubViewportContainer/SubViewport"] +offset_right = 40.0 +offset_bottom = 40.0 + [node name="VBoxContainer3" type="VBoxContainer" parent="Control/PanelContainer/HBoxContainer"] custom_minimum_size = Vector2(250, 0) layout_mode = 2 diff --git a/templates/camera.tscn b/templates/pawn_camera.tscn similarity index 100% rename from templates/camera.tscn rename to templates/pawn_camera.tscn