gizmo semi functional?

This commit is contained in:
Clevertop 2024-05-18 21:43:09 +10:00
parent ff0d1a5156
commit 42d238a2f8
7 changed files with 48 additions and 15 deletions

View file

@ -102,9 +102,10 @@ script = ExtResource("1_so2ke")
jenga_manager = NodePath("..") jenga_manager = NodePath("..")
scopes = Array[String](["chat:edit", "chat:read", "moderator:read:followers"]) scopes = Array[String](["chat:edit", "chat:read", "moderator:read:followers"])
[node name="CameraPivot" type="Node3D" parent="."] [node name="CameraPivot" type="Node3D" parent="." node_paths=PackedStringArray("gizmo_pivot")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.445, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.445, 0)
script = ExtResource("3_7e1m6") script = ExtResource("3_7e1m6")
gizmo_pivot = NodePath("../UserInterface/SubViewportContainer/SubViewport/VCamPivot")
[node name="Camera3D" type="Camera3D" parent="CameraPivot"] [node name="Camera3D" type="Camera3D" parent="CameraPivot"]
transform = Transform3D(1, 0, 0, 0, 0.819152, 0.573576, 0, -0.573576, 0.819152, 0, 0, 4.12) transform = Transform3D(1, 0, 0, 0, 0.819152, 0.573576, 0, -0.573576, 0.819152, 0, 0, 4.12)
@ -126,12 +127,13 @@ mesh = SubResource("PlaneMesh_kyck2")
skeleton = NodePath("../..") skeleton = NodePath("../..")
surface_material_override/0 = SubResource("ShaderMaterial_avbpb") surface_material_override/0 = SubResource("ShaderMaterial_avbpb")
[node name="PlayerHand" type="Node3D" parent="." node_paths=PackedStringArray("blocks_node")] [node name="PlayerHand" type="Node3D" parent="." node_paths=PackedStringArray("blocks_node", "gizmo_node")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.28028, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.28028, 0)
script = ExtResource("4_kq4yo") script = ExtResource("4_kq4yo")
moveScale = 0.5 moveScale = 0.5
block_scene = ExtResource("5_mn8hr") block_scene = ExtResource("5_mn8hr")
blocks_node = NodePath("../Blocks") blocks_node = NodePath("../Blocks")
gizmo_node = NodePath("../UserInterface/SubViewportContainer/SubViewport/TransformGizmo")
[node name="Blocks" type="Node3D" parent="."] [node name="Blocks" type="Node3D" parent="."]
@ -182,13 +184,11 @@ grow_horizontal = 0
stretch = true stretch = true
[node name="SubViewport" type="SubViewport" parent="UserInterface/SubViewportContainer"] [node name="SubViewport" type="SubViewport" parent="UserInterface/SubViewportContainer"]
transparent_bg = true
handle_input_locally = false
size = Vector2i(128, 128) size = Vector2i(128, 128)
size_2d_override = Vector2i(225, 190) size_2d_override = Vector2i(225, 190)
render_target_update_mode = 4
[node name="Camera3D" type="Camera3D" parent="UserInterface/SubViewportContainer/SubViewport"]
transform = Transform3D(1, 0, 0, 0, 0.819152, 0.573576, 0, -0.573576, 0.819152, 0, 52.925, 4.12)
cull_mask = 524288
fov = 28.2
[node name="TransformGizmo" type="Node3D" parent="UserInterface/SubViewportContainer/SubViewport"] [node name="TransformGizmo" type="Node3D" parent="UserInterface/SubViewportContainer/SubViewport"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 50, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 50, 0)
@ -258,6 +258,31 @@ material_override = ExtResource("8_2httq")
polygon = PackedVector2Array(0, 0, 0.2, 0.4, -0.2, 0.4) polygon = PackedVector2Array(0, 0, 0.2, 0.4, -0.2, 0.4)
depth = 0.2 depth = 0.2
[node name="VCamPivot" type="Node3D" parent="UserInterface/SubViewportContainer/SubViewport"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 52.925, 0)
[node name="Camera3D" type="Camera3D" parent="UserInterface/SubViewportContainer/SubViewport/VCamPivot"]
transform = Transform3D(1, 0, 0, 0, 0.819152, 0.573576, 0, -0.573576, 0.819152, 0, 0, 4.12)
cull_mask = 524288
fov = 28.2
[node name="VBoxContainer" type="VBoxContainer" parent="UserInterface"]
layout_mode = 0
offset_left = 991.0
offset_top = 1.0
offset_right = 1023.0
offset_bottom = 125.0
[node name="Label" type="RichTextLabel" parent="UserInterface/VBoxContainer"]
layout_mode = 2
bbcode_enabled = true
text = "[b][font_size=30][color=red]X[/color]
[color=green]Y[/color]
[color=blue]Z[/color]
[/font_size][/b]"
fit_content = true
[connection signal="dropBlock" from="TwitchLink" to="." method="_on_twitch_link_drop_block"]
[connection signal="dropBlock" from="TwitchLink" to="PlayerHand" method="_on_twitch_link_drop_block"] [connection signal="dropBlock" from="TwitchLink" to="PlayerHand" method="_on_twitch_link_drop_block"]
[connection signal="moveBlock" from="TwitchLink" to="PlayerHand" method="_on_twitch_link_move_block"] [connection signal="moveBlock" from="TwitchLink" to="PlayerHand" method="_on_twitch_link_move_block"]
[connection signal="rotateBlock" from="TwitchLink" to="PlayerHand" method="_on_twitch_link_rotate_block"] [connection signal="rotateBlock" from="TwitchLink" to="PlayerHand" method="_on_twitch_link_rotate_block"]

View file

@ -1,4 +1,4 @@
[gd_resource type="StandardMaterial3D" format=3 uid="uid://bipwt04wjyv6v"] [gd_resource type="StandardMaterial3D" format=3 uid="uid://bipwt04wjyv6v"]
[resource] [resource]
albedo_color = Color(0, 0.792157, 0.172549, 1) albedo_color = Color(0, 0.72549, 0.882353, 1)

View file

@ -1,3 +1,4 @@
[gd_resource type="StandardMaterial3D" format=3 uid="uid://dd5vcwp8smlnt"] [gd_resource type="StandardMaterial3D" format=3 uid="uid://dd5vcwp8smlnt"]
[resource] [resource]
albedo_color = Color(0, 0.768627, 0.231373, 1)

View file

@ -56,3 +56,7 @@ func _process(delta):
#endregion #endregion
func _on_twitch_link_drop_block():
turn_timer = 0

View file

@ -15,6 +15,9 @@ extends Node3D
@export var rotation_speed : float = 20 #degrees per second @export var rotation_speed : float = 20 #degrees per second
@export var height_speed : float = 0.5 # m per second @export var height_speed : float = 0.5 # m per second
@export_group("Node References")
@export var gizmo_pivot : Node3D
#Onready Variables #Onready Variables
#Other Variables (please try to separate and organise!) #Other Variables (please try to separate and organise!)
@ -37,6 +40,7 @@ func _process(delta):
else: else:
rotation_degrees.y -= rotation_speed * delta rotation_degrees.y -= rotation_speed * delta
pass pass
gizmo_pivot.rotation_degrees.y = rotation_degrees.y
#endregion #endregion
#region Signal methods #region Signal methods

View file

@ -18,6 +18,7 @@ extends Node3D
@export var block_scene : PackedScene @export var block_scene : PackedScene
@export_group("Node References") @export_group("Node References")
@export var blocks_node : Node3D @export var blocks_node : Node3D
@export var gizmo_node : Node3D
#Onready Variables #Onready Variables
@ -51,13 +52,11 @@ func _on_twitch_link_move_block(direction, amount):
func _on_twitch_link_rotate_block(direction, amount): func _on_twitch_link_rotate_block(direction, amount):
var dir : Vector3 var dir : Vector3
match direction: match direction:
"up": dir = Vector3.UP "x": dir = Vector3.RIGHT
"down" : dir = Vector3.DOWN "y" : dir = Vector3.UP
"north" : dir = Vector3.FORWARD "z" : dir = Vector3.BACK
"east" : dir = Vector3.RIGHT
"south" : dir = Vector3.BACK
"west" : dir = Vector3.LEFT
rotation_degrees += dir * amount rotation_degrees += dir * amount
gizmo_node.rotation_degrees = rotation_degrees
func _on_twitch_link_drop_block(): func _on_twitch_link_drop_block():
current_block.freeze = false current_block.freeze = false

View file

@ -183,7 +183,7 @@ func move(cmd_info : CommandInfo, arg_ary : PackedStringArray) -> void:
func rotate(cmd_info : CommandInfo, arg_ary : PackedStringArray) -> void: func rotate(cmd_info : CommandInfo, arg_ary : PackedStringArray) -> void:
if(cmd_info.sender_data.tags["display-name"] == jenga_manager.current_player and jenga_manager.turn_started) : if(cmd_info.sender_data.tags["display-name"] == jenga_manager.current_player and jenga_manager.turn_started) :
var chosenDirection = arg_ary[0].to_lower() var chosenDirection = arg_ary[0].to_lower()
var validDirections = ["up","down","north","south","east","west"] var validDirections = ["x","y","z"]
if(validDirections.has(chosenDirection)): if(validDirections.has(chosenDirection)):
rotateBlock.emit(arg_ary[0],float(arg_ary[1])) rotateBlock.emit(arg_ary[0],float(arg_ary[1]))
chat("rotating block " + arg_ary[0] + " by " + arg_ary[1] + " degrees") chat("rotating block " + arg_ary[0] + " by " + arg_ary[1] + " degrees")