This commit is contained in:
Guillaume Vern 2025-10-09 16:03:18 +02:00
parent 4693cfb552
commit 80a4c128cc
16 changed files with 1029 additions and 179 deletions

View File

@ -30,6 +30,9 @@ signal released(pickable, by)
# Signal emitted when the user presses the action button while holding this object
signal action_pressed(pickable)
# Signal emitted when the user releases the action button while holding this object
signal action_released(pickable)
# Signal emitted when the highlight state changes
signal highlight_updated(pickable, enable)
@ -107,6 +110,10 @@ var _highlight_requests : Dictionary = {}
# Is this node highlighted
var _highlighted : bool = false
var _controller : XRController3D
@onready var _gpu_particles: GPUParticles3D = get_node("GPUParticles3D")
# Remember some state so we can return to it when the user drops the object
@onready var original_collision_mask : int = collision_mask
@ -120,12 +127,29 @@ func is_xr_class(name : String) -> bool:
# Called when the node enters the scene tree for the first time.
func _ready():
if _gpu_particles != null:
_gpu_particles.amount_ratio = 0.0
# Get all grab points
for child in get_children():
var grab_point := child as XRToolsGrabPoint
if grab_point:
_grab_points.push_back(grab_point)
@onready var rumble_timer = 0.0
func _process(delta):
if _controller:
var trigger_level = _controller.get_float("trigger")
if _gpu_particles != null and is_picked_up():
_gpu_particles.amount_ratio = trigger_level
rumble_timer -= delta
if rumble_timer <= 0.0:
_controller.trigger_haptic_pulse(&"haptic", 30, trigger_level, 0.11, 0.0)
rumble_timer = 0.1
else:
rumble_timer = 0.0
# Called when the node exits the tree
func _exit_tree():
@ -203,6 +227,7 @@ func drop():
if not is_picked_up():
return
# Request secondary grabber to drop
if _grab_driver.secondary:
_grab_driver.secondary.by.drop_object()
@ -292,6 +317,9 @@ func let_go(by: Node3D, p_linear_velocity: Vector3, p_angular_velocity: Vector3)
# Skip if not picked up
if not is_picked_up():
return
if _gpu_particles != null:
_gpu_particles.amount_ratio = 0.0
# Get the grab information
var grab := _grab_driver.get_grab(by)
@ -398,3 +426,7 @@ func _get_grab_point(grabber : Node3D, current : XRToolsGrabPoint) -> XRToolsGra
func _set_ranged_grab_method(new_value: int) -> void:
ranged_grab_method = new_value
can_ranged_grab = new_value != RangedMethod.NONE
func _on_action_pressed(variant: Variant):
_controller = get_picked_up_by_controller()

View File

@ -1,11 +1,11 @@
[gd_scene load_steps=2 format=3 uid="uid://diyu06cw06syv"]
[ext_resource type="Script" path="res://addons/godot-xr-tools/player/player_body.gd" id="1"]
[ext_resource type="Script" uid="uid://o50e27byd0b4" path="res://addons/godot-xr-tools/player/player_body.gd" id="1"]
[node name="PlayerBody" type="CharacterBody3D" groups=["player_body"]]
process_priority = -100
process_physics_priority = -100
top_level = true
collision_layer = 524288
collision_mask = 1023
collision_mask = 1019
script = ExtResource("1")

View File

@ -1,4 +1,4 @@
# Blender 4.3.2 MTL File: 'None'
# Blender 4.3.2 MTL File: 'extinguisher.blend'
# www.blender.org
newmtl Material_0

View File

@ -0,0 +1,584 @@
# Blender 4.3.2
# www.blender.org
mtllib extinguiseher.mtl
o tank
v 0.221341 0.000000 0.000000
v 0.110670 0.000000 0.187500
v 0.000000 0.000000 0.000000
v 0.110670 0.000000 0.187500
v 0.221341 0.000000 0.000000
v 0.221341 1.000000 0.000000
v 0.110670 1.000000 0.187500
v 0.028235 1.203125 0.046875
v 0.056470 1.203125 0.000000
v 0.000000 1.203125 0.000000
v 0.110670 0.000000 -0.187500
v 0.221341 0.000000 0.000000
v 0.000000 0.000000 0.000000
v 0.221341 0.000000 0.000000
v 0.110670 0.000000 -0.187500
v 0.110670 1.000000 -0.187500
v 0.221341 1.000000 0.000000
v 0.056470 1.203125 0.000000
v 0.028235 1.203125 -0.046875
v 0.000000 1.203125 0.000000
v -0.110670 0.000000 -0.187500
v 0.110670 0.000000 -0.187500
v 0.000000 0.000000 0.000000
v 0.110670 0.000000 -0.187500
v -0.110670 0.000000 -0.187500
v -0.110670 1.000000 -0.187500
v 0.110670 1.000000 -0.187500
v 0.028235 1.203125 -0.046875
v -0.028235 1.203125 -0.046875
v 0.000000 1.203125 0.000000
v -0.221341 0.000000 -0.000000
v -0.110670 0.000000 -0.187500
v 0.000000 0.000000 0.000000
v -0.110670 0.000000 -0.187500
v -0.221341 0.000000 -0.000000
v -0.221341 1.000000 -0.000000
v -0.110670 1.000000 -0.187500
v -0.028235 1.203125 -0.046875
v -0.056470 1.203125 -0.000000
v 0.000000 1.203125 0.000000
v -0.110670 0.000000 0.187500
v -0.221341 0.000000 -0.000000
v 0.000000 0.000000 0.000000
v -0.221341 0.000000 -0.000000
v -0.110670 0.000000 0.187500
v -0.110670 1.000000 0.187500
v -0.221341 1.000000 -0.000000
v -0.056470 1.203125 -0.000000
v -0.028235 1.203125 0.046875
v 0.000000 1.203125 0.000000
v 0.110670 0.000000 0.187500
v -0.110670 0.000000 0.187500
v 0.000000 0.000000 0.000000
v -0.110670 0.000000 0.187500
v 0.110670 0.000000 0.187500
v 0.110670 1.000000 0.187500
v -0.110670 1.000000 0.187500
v -0.028235 1.203125 0.046875
v 0.028235 1.203125 0.046875
v 0.000000 1.203125 0.000000
v 0.028235 1.109375 0.046875
v -0.028235 1.109375 0.046875
v -0.110670 1.000000 0.187500
v 0.110670 1.000000 0.187500
v 0.056470 1.109375 0.000000
v 0.028235 1.109375 0.046875
v 0.110670 1.000000 0.187500
v 0.221341 1.000000 0.000000
v 0.028235 1.109375 -0.046875
v 0.056470 1.109375 0.000000
v 0.221341 1.000000 0.000000
v 0.110670 1.000000 -0.187500
v -0.028235 1.109375 -0.046875
v 0.028235 1.109375 -0.046875
v 0.110670 1.000000 -0.187500
v -0.110670 1.000000 -0.187500
v -0.056470 1.109375 -0.000000
v -0.028235 1.109375 -0.046875
v -0.110670 1.000000 -0.187500
v -0.221341 1.000000 -0.000000
v -0.028235 1.109375 0.046875
v -0.056470 1.109375 -0.000000
v -0.221341 1.000000 -0.000000
v -0.110670 1.000000 0.187500
v 0.028235 1.203125 0.046875
v -0.028235 1.203125 0.046875
v -0.028235 1.109375 0.046875
v 0.028235 1.109375 0.046875
v 0.056470 1.203125 0.000000
v 0.028235 1.203125 0.046875
v 0.028235 1.109375 0.046875
v 0.056470 1.109375 0.000000
v 0.028235 1.203125 -0.046875
v 0.056470 1.203125 0.000000
v 0.056470 1.109375 0.000000
v 0.028235 1.109375 -0.046875
v -0.028235 1.203125 -0.046875
v 0.028235 1.203125 -0.046875
v 0.028235 1.109375 -0.046875
v -0.028235 1.109375 -0.046875
v -0.056470 1.203125 -0.000000
v -0.028235 1.203125 -0.046875
v -0.028235 1.109375 -0.046875
v -0.056470 1.109375 -0.000000
v -0.028235 1.203125 0.046875
v -0.056470 1.203125 -0.000000
v -0.056470 1.109375 -0.000000
v -0.028235 1.109375 0.046875
vn -0.0000 -1.0000 -0.0000
vn 0.8612 -0.0000 0.5083
vn -0.0000 1.0000 -0.0000
vn 0.8612 -0.0000 -0.5083
vn -0.0000 -0.0000 -1.0000
vn -0.8612 -0.0000 -0.5083
vn -0.8612 -0.0000 0.5083
vn -0.0000 -0.0000 1.0000
vn -0.0000 0.7894 0.6139
vn 0.5200 0.7947 0.3132
vn 0.5200 0.7946 0.3132
vn 0.5245 0.7906 -0.3159
vn -0.0000 0.7894 -0.6139
vn -0.5200 0.7947 -0.3132
vn -0.5200 0.7946 -0.3132
vn -0.5245 0.7906 0.3159
vn 0.8566 -0.0000 0.5160
vn 0.8566 -0.0000 -0.5160
vn -0.8566 -0.0000 -0.5160
vn -0.8566 -0.0000 0.5160
vt 0.117836 0.671875
vt 0.090167 0.718750
vt 0.062500 0.671875
vt 0.156250 0.750000
vt 0.203125 0.750000
vt 0.203125 1.000000
vt 0.156250 1.000000
vt 0.069559 0.664062
vt 0.076617 0.675781
vt 0.062500 0.675781
vt 0.090167 0.625000
vt 0.250000 0.750000
vt 0.250000 1.000000
vt 0.069559 0.687500
vt 0.034833 0.625000
vt 0.312500 0.750000
vt 0.312500 1.000000
vt 0.055441 0.687500
vt 0.007164 0.671875
vt 0.000000 0.750000
vt 0.046875 0.750000
vt 0.046875 1.000000
vt 0.000000 1.000000
vt 0.048383 0.675781
vt 0.034833 0.718750
vt 0.093750 0.750000
vt 0.093750 1.000000
vt 0.055441 0.664062
vt 0.070704 0.677298
vt 0.056586 0.677298
vt 0.035978 0.632760
vt 0.091312 0.632760
vt 0.079820 0.687500
vt 0.091312 0.632760
vt 0.127290 0.673605
vt 0.047470 0.687500
vt 0.000000 0.673606
vt 0.035978 0.632761
vt 0.062500 0.687500
vt 0.046875 0.687500
vt 0.046875 0.656250
vt 0.062500 0.656250
s 0
usemtl Material_0
f 1/1/1 2/2/1 3/3/1
f 4/4/2 5/5/2 6/6/2
f 4/4/2 6/6/2 7/7/2
f 8/8/3 9/9/3 10/10/3
f 11/11/1 12/1/1 13/3/1
f 14/5/4 15/12/4 16/13/4
f 14/5/4 16/13/4 17/6/4
f 18/9/3 19/14/3 20/10/3
f 21/15/1 22/11/1 23/3/1
f 24/12/5 25/16/5 26/17/5
f 24/12/5 26/17/5 27/13/5
f 28/14/3 29/18/3 30/10/3
f 31/19/1 32/15/1 33/3/1
f 34/20/6 35/21/6 36/22/6
f 34/20/6 36/22/6 37/23/6
f 38/18/3 39/24/3 40/10/3
f 41/25/1 42/19/1 43/3/1
f 44/21/7 45/26/7 46/27/7
f 44/21/7 46/27/7 47/22/7
f 48/24/3 49/28/3 50/10/3
f 51/2/1 52/25/1 53/3/1
f 54/26/8 55/4/8 56/7/8
f 54/26/8 56/7/8 57/27/8
f 58/28/3 59/8/3 60/10/3
f 61/29/9 62/30/9 63/31/9
f 61/29/9 63/31/9 64/32/9
f 65/33/10 66/29/10 67/34/10
s 1
f 65/33/11 67/34/10 68/35/10
s 0
f 69/30/12 70/36/12 71/37/12
s 1
f 69/30/12 71/37/12 72/38/12
s 0
f 73/29/13 74/30/13 75/31/13
f 73/29/13 75/31/13 76/32/13
f 77/33/14 78/29/14 79/34/14
s 1
f 77/33/15 79/34/14 80/35/14
s 0
f 81/30/16 82/36/16 83/37/16
s 1
f 81/30/16 83/37/16 84/38/16
s 0
f 85/39/8 86/40/8 87/41/8
f 85/39/8 87/41/8 88/42/8
f 89/39/17 90/40/17 91/41/17
f 89/39/17 91/41/17 92/42/17
f 93/39/18 94/40/18 95/41/18
f 93/39/18 95/41/18 96/42/18
f 97/39/5 98/40/5 99/41/5
f 97/39/5 99/41/5 100/42/5
f 101/39/19 102/40/19 103/41/19
f 101/39/19 103/41/19 104/42/19
f 105/39/20 106/40/20 107/41/20
f 105/39/20 107/41/20 108/42/20
o valve_assembly
v -0.068750 1.212244 -0.063335
v -0.068750 1.140625 -0.039143
v -0.068750 1.192449 -0.000000
v -0.068750 1.140625 -0.039143
v -0.068750 1.212244 -0.063335
v 0.068750 1.212244 -0.063335
v 0.068750 1.140625 -0.039143
v 0.068750 1.140625 -0.039143
v 0.068750 1.212244 -0.063335
v 0.068750 1.192449 -0.000000
v -0.068750 1.256506 -0.000000
v -0.068750 1.212244 -0.063335
v -0.068750 1.192449 -0.000000
v -0.068750 1.212244 -0.063335
v -0.068750 1.256506 -0.000000
v 0.068750 1.256506 -0.000000
v 0.068750 1.212244 -0.063335
v 0.068750 1.212244 -0.063335
v 0.068750 1.256506 -0.000000
v 0.068750 1.192449 -0.000000
v -0.068750 1.212244 0.063335
v -0.068750 1.256506 -0.000000
v -0.068750 1.192449 -0.000000
v -0.068750 1.256506 -0.000000
v -0.068750 1.212244 0.063335
v 0.068750 1.212244 0.063335
v 0.068750 1.256506 -0.000000
v 0.068750 1.256506 -0.000000
v 0.068750 1.212244 0.063335
v 0.068750 1.192449 -0.000000
v -0.068750 1.140625 0.039143
v -0.068750 1.212244 0.063335
v -0.068750 1.192449 -0.000000
v -0.068750 1.212244 0.063335
v -0.068750 1.140625 0.039143
v 0.068750 1.140625 0.039143
v 0.068750 1.212244 0.063335
v 0.068750 1.212244 0.063335
v 0.068750 1.140625 0.039143
v 0.068750 1.192449 -0.000000
v -0.068750 1.140625 -0.039143
v -0.068750 1.140625 0.039143
v -0.068750 1.192449 -0.000000
v -0.068750 1.140625 0.039143
v -0.068750 1.140625 -0.039143
v 0.068750 1.140625 -0.039143
v 0.068750 1.140625 0.039143
v 0.068750 1.140625 0.039143
v 0.068750 1.140625 -0.039143
v 0.068750 1.192449 -0.000000
vn -1.0000 -0.0000 -0.0000
vn -0.0000 -0.3200 -0.9474
vn 1.0000 -0.0000 -0.0000
vn -0.0000 0.8197 -0.5728
vn -0.0000 0.8197 0.5728
vn -0.0000 -0.3200 0.9474
vn -0.0000 -1.0000 -0.0000
vt 0.179478 0.689780
vt 0.185527 0.671875
vt 0.195312 0.684831
vt 0.203125 0.687500
vt 0.203125 0.703125
vt 0.171875 0.703125
vt 0.171875 0.687500
vt 0.205098 0.671875
vt 0.211147 0.689780
vt 0.195312 0.700845
s 0
usemtl Material_0
f 109/43/21 110/44/21 111/45/21
s 1
f 112/46/22 113/47/22 114/48/22
s 0
f 112/46/22 114/48/22 115/49/22
f 116/50/23 117/51/23 118/45/23
f 119/52/21 120/43/21 121/45/21
f 122/46/24 123/47/24 124/48/24
f 122/46/24 124/48/24 125/49/24
f 126/51/23 127/52/23 128/45/23
f 129/51/21 130/52/21 131/45/21
f 132/48/25 133/49/25 134/46/25
f 132/48/25 134/46/25 135/47/25
f 136/52/23 137/43/23 138/45/23
f 139/50/21 140/51/21 141/45/21
f 142/48/26 143/49/26 144/46/26
s 1
f 142/48/26 144/46/26 145/47/26
s 0
f 146/43/23 147/44/23 148/45/23
f 149/44/21 150/50/21 151/45/21
f 152/48/27 153/49/27 154/46/27
f 152/48/27 154/46/27 155/47/27
f 156/44/23 157/50/23 158/45/23
o handle
v 0.025000 1.123991 0.207378
v 0.025000 1.093019 0.224990
v 0.046875 1.217561 0.005979
v 0.046875 1.188689 -0.005979
v -0.025000 1.123991 0.207378
v -0.046875 1.217561 0.005979
v -0.025000 1.093019 0.224990
v -0.046875 1.188689 -0.005979
v 0.025000 1.123991 0.207378
v 0.046875 1.217561 0.005979
v -0.025000 1.123991 0.207378
v -0.046875 1.217561 0.005979
v 0.025000 1.093019 0.224990
v -0.025000 1.093019 0.224990
v 0.046875 1.188689 -0.005979
v -0.046875 1.188689 -0.005979
v 0.025000 1.123991 0.207378
v -0.025000 1.123991 0.207378
v 0.025000 1.093019 0.224990
v -0.025000 1.093019 0.224990
vn 0.9859 0.0828 0.1455
vn 0.9859 0.0827 0.1455
vn -0.9859 0.0828 0.1455
vn -0.9859 0.0827 0.1455
vn -0.0000 0.9069 0.4213
vn -0.0000 -0.9239 -0.3827
vn -0.0000 0.4943 0.8693
vt 0.254155 0.697807
vt 0.256458 0.642067
vt 0.269849 0.635076
vt 0.269780 0.697807
vt 0.260938 0.645064
vt 0.266439 0.652070
vt 0.268681 0.707812
vt 0.260938 0.707796
vt 0.254687 0.652294
vt 0.267188 0.652294
vt 0.272656 0.707812
vt 0.249219 0.707812
vt 0.267188 0.643750
vt 0.267188 0.706489
vt 0.262458 0.707578
vt 0.251563 0.645793
vt 0.267188 0.643386
vt 0.254687 0.643386
s 0
usemtl Material_0
f 161/53/28 159/54/28 160/55/28
s 1
f 161/53/28 160/55/28 162/56/29
f 165/57/30 163/58/30 164/59/31
f 165/57/30 164/59/31 166/60/31
s 0
f 169/61/32 167/62/32 168/63/32
f 169/61/32 168/63/32 170/64/32
f 173/65/33 171/66/33 172/67/33
f 173/65/33 172/67/33 174/68/33
f 177/69/34 175/62/34 176/61/34
f 177/69/34 176/61/34 178/70/34
o release_lever
v 0.046875 1.257989 -0.069419
v 0.046875 1.284736 0.095438
v 0.046875 1.314102 0.084749
v 0.046875 1.184576 -0.042699
v -0.046875 1.184576 -0.042699
v -0.046875 1.314102 0.084749
v -0.046875 1.284736 0.095438
v -0.046875 1.257989 -0.069419
v -0.046875 1.257989 -0.069419
v 0.046875 1.314102 0.084749
v -0.046875 1.314102 0.084749
v 0.046875 1.257989 -0.069419
v 0.046875 1.184576 -0.042699
v -0.046875 1.284736 0.095438
v 0.046875 1.284736 0.095438
v -0.046875 1.184576 -0.042699
v 0.031250 1.348838 0.180187
v -0.031250 1.348838 0.180187
v 0.031250 1.319473 0.190875
v -0.031250 1.319473 0.190875
v 0.046875 1.257989 -0.069419
v 0.046875 1.184576 -0.042699
v -0.046875 1.257989 -0.069419
v -0.046875 1.184576 -0.042699
v -0.031250 1.348838 0.180187
v -0.046875 1.314102 0.084749
v -0.046875 1.284736 0.095438
v -0.031250 1.319473 0.190875
v -0.031250 1.319473 0.190875
v -0.046875 1.284736 0.095438
v 0.046875 1.284736 0.095438
v 0.031250 1.319473 0.190875
v 0.031250 1.319473 0.190875
v 0.046875 1.284736 0.095438
v 0.046875 1.314102 0.084749
v 0.031250 1.348838 0.180187
v 0.031250 1.348838 0.180187
v 0.046875 1.314102 0.084749
v -0.046875 1.314102 0.084749
v -0.031250 1.348838 0.180187
vn 1.0000 -0.0000 -0.0000
vn -1.0000 -0.0000 -0.0000
vn -0.0000 0.9397 -0.3420
vn -0.0000 -0.8096 0.5870
vn -0.0000 0.3420 0.9397
vn -0.0000 -0.3420 -0.9397
vn -0.9884 0.0520 0.1429
vn -0.0000 -0.9397 0.3420
vn 0.9884 0.0520 0.1429
vt 0.247266 0.705618
vt 0.247266 0.664602
vt 0.255078 0.664602
vt 0.266797 0.705618
vt 0.266797 0.638913
vt 0.255078 0.679929
vt 0.247266 0.679929
vt 0.247266 0.638913
vt 0.250781 0.707812
vt 0.250781 0.666797
vt 0.274219 0.666797
vt 0.274219 0.707812
vt 0.274219 0.629687
vt 0.274219 0.672345
vt 0.250781 0.672345
vt 0.250781 0.629687
vt 0.262500 0.676562
vt 0.262500 0.692187
vt 0.246875 0.692187
vt 0.246875 0.676562
vt 0.247266 0.680078
vt 0.247266 0.648828
vt 0.262891 0.648828
vt 0.262891 0.680078
vt 0.255078 0.705618
vt 0.254687 0.697736
vt 0.270312 0.697736
vt 0.255078 0.638913
vt 0.270312 0.641406
vt 0.254687 0.641406
s 0
usemtl Material_0
f 179/71/35 181/72/35 180/73/35
f 179/71/35 180/73/35 182/74/35
f 183/75/36 185/76/36 184/77/36
f 183/75/36 184/77/36 186/78/36
f 187/79/37 189/80/37 188/81/37
f 187/79/37 188/81/37 190/82/37
f 191/83/38 193/84/38 192/85/38
f 191/83/38 192/85/38 194/86/38
f 197/87/39 195/88/39 196/89/39
f 197/87/39 196/89/39 198/90/39
f 201/91/40 199/92/40 200/93/40
f 201/91/40 200/93/40 202/94/40
f 203/71/41 204/77/41 205/76/41
f 203/71/41 205/76/41 206/95/41
f 207/96/42 208/85/42 209/84/42
f 207/96/42 209/84/42 210/97/42
f 211/98/43 212/73/43 213/72/43
f 211/98/43 213/72/43 214/78/43
f 215/99/37 216/81/37 217/80/37
f 215/99/37 217/80/37 218/100/37
o hose
v 0.032175 1.205103 -0.087212
v 0.032175 1.140324 -0.087212
v 0.032175 1.205103 -0.022433
v 0.032175 1.140324 -0.022433
v -0.032603 1.205103 -0.087212
v -0.032603 1.140324 -0.087212
v -0.032603 1.205103 -0.022433
v -0.032603 1.140324 -0.022433
v -0.032603 1.205103 -0.087212
v -0.032603 1.140324 -0.087212
v -0.032603 1.140324 -0.022433
v -0.032603 1.205103 -0.022433
v 0.032175 1.205103 -0.022433
v 0.032175 1.205103 -0.087212
v 0.032175 1.140324 -0.087212
v 0.032175 1.140324 -0.022433
v -0.032603 1.205103 -0.087212
v -0.032603 1.140324 -0.087212
v 0.032175 1.205103 -0.087212
v 0.032175 1.140324 -0.087212
v -0.072926 1.245425 -0.301188
v -0.072926 1.100002 -0.301188
v 0.072497 1.245425 -0.301188
v 0.072497 1.100002 -0.301188
v -0.086610 1.259110 -0.301188
v -0.086610 1.086317 -0.301188
v 0.086182 1.259110 -0.301188
v 0.086182 1.086317 -0.301188
v -0.023353 1.195853 -0.103970
v -0.023353 1.149574 -0.103970
v 0.022925 1.195853 -0.103970
v 0.022925 1.149574 -0.103970
vn -1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
vn 1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 1.0000 -0.0000
vn -0.0000 -1.0000 -0.0000
vn -0.0000 -0.9696 0.2447
vn -0.0000 -0.0000 -0.0000
vn -0.9698 -0.0000 -0.2438
vn -0.9696 -0.0000 0.2447
vn 0.9696 -0.0000 0.2447
vn -0.0000 0.9696 0.2447
vn -0.0000 -0.9698 -0.2438
vn -0.0000 0.9698 -0.2438
vn 0.9698 -0.0000 -0.2438
vt 0.375000 0.000000
vt 0.375000 0.250000
vt 0.625000 0.250000
vt 0.625000 0.000000
vt 0.375000 0.500000
vt 0.625000 0.500000
vt 0.375000 0.750000
vt 0.625000 0.750000
vt 0.375000 1.000000
vt 0.625000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.750000
vt 0.875000 0.500000
vt 0.605201 0.980200
vt 0.394800 0.980201
vt 0.605200 0.769799
vt 0.394799 0.769799
s 0
usemtl Material_0
f 220/101/44 222/102/44 221/103/44 219/104/44
f 222/102/45 226/105/45 225/106/45 221/103/45
f 226/105/46 224/107/46 223/108/46 225/106/46
f 224/107/47 220/109/47 219/110/47 223/108/47
f 224/111/48 226/112/48 222/107/48 220/105/48
f 219/106/49 221/108/49 225/113/49 223/114/49
f 233/101/46 232/104/46 231/103/46 234/102/46
f 234/102/47 231/103/47 230/106/47 229/105/47
f 229/105/44 230/106/44 227/108/44 228/107/44
f 233/105/48 228/111/48 236/111/48 238/105/48
f 228/111/49 233/105/49 234/107/49 229/112/49
f 232/106/48 227/114/48 230/113/48 231/108/48
f 238/105/50 236/111/50 244/111/50 246/105/50
f 227/114/48 232/106/48 237/106/48 235/114/48
f 228/107/51 227/108/51 235/108/51 236/107/51
f 232/104/51 233/101/51 238/101/51 237/104/51
f 241/115/52 242/116/52 250/116/52 249/115/52
f 236/107/53 235/108/53 243/108/53 244/107/53
f 237/104/54 238/101/54 246/101/54 245/104/54
f 235/114/55 237/106/55 245/106/55 243/114/55
f 239/117/45 240/118/45 244/107/45 243/108/45
f 241/115/45 239/117/45 243/108/45 245/110/45
f 240/118/45 242/116/45 246/109/45 244/107/45
f 242/116/45 241/115/45 245/110/45 246/109/45
f 248/118/45 247/117/45 249/115/45 250/116/45
f 239/117/56 241/115/56 249/115/56 247/117/56
f 242/116/57 240/118/57 248/118/57 250/116/57
f 240/118/58 239/117/58 247/117/58 248/118/58

View File

@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://df54nl2t18ml2"
path="res://.godot/imported/extinguiseher.obj-5a5c4bbc41bf43f78968e31b7c021c62.mesh"
[deps]
files=["res://.godot/imported/extinguiseher.obj-5a5c4bbc41bf43f78968e31b7c021c62.mesh"]
source_file="res://assets/psx-fire-extinguisher/source/extinguiseher.obj"
dest_files=["res://.godot/imported/extinguiseher.obj-5a5c4bbc41bf43f78968e31b7c021c62.mesh", "res://.godot/imported/extinguiseher.obj-5a5c4bbc41bf43f78968e31b7c021c62.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false

View File

@ -1,10 +1,13 @@
[gd_scene load_steps=18 format=4 uid="uid://bhdq6md7l8avi"]
[gd_scene load_steps=24 format=4 uid="uid://bhdq6md7l8avi"]
[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_mhjx8"]
[ext_resource type="Texture2D" uid="uid://du8qicq68ikm" path="res://assets/psx-fire-extinguisher/source/model_0.png" id="2_mhjx8"]
[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="3_fnuwe"]
[ext_resource type="ArrayMesh" uid="uid://5km1hdev7qmn" path="res://assets/psx-fire-extinguisher/source/josé.obj" id="3_ugbnf"]
[ext_resource type="Script" uid="uid://c6w5omkrnbahq" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="4_id8d5"]
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_ugbnf"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_uqffu"]
resource_name = "material_0"
transparency = 2
@ -79,37 +82,8 @@ _surfaces = [{
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_i3swf")
[sub_resource type="ArrayMesh" id="ArrayMesh_eewkv"]
_surfaces = [{
"aabb": AABB(-0.030486578, -0.5, -0.0073771244, 0.060973156, 1.0577122, 0.27667576),
"format": 34896613377,
"index_count": 348,
"index_data": PackedByteArray("AAABAAIAAgADAAAAAQAAAAQAAAAFAAQAAAADAAUABgABAAQABwAEAAUABwAGAAQAAwAIAAUACQAHAAUACQAFAAgAAgABAAoACwABAAYACgABAAsABgAHAAwABgAMAAsADQAHAAkADQAMAAcACgAOAAIAAgAOAAMACwAPAAoACwAMAA8ACgAPAA4AEAAMAA0AEAAPAAwAEQAPABAAEQAOAA8AEgAQAA0AEwAOABEAEwAUAA4AFQARABAAFQAQABIAFgATABEAFgARABUAFwAUABMAFwADABQAAwAXAAgAGAAXABMAGAATABYAFwAZAAgAFwAYABkAGgAIABkAGgAJAAgAGAAbABkAHAAJABoAHAANAAkAEgANABwAHQAaABkAHQAZABsAHgAcABoAHgAaAB0AHwASABwAHwAcAB4AIAASAB8AIAAVABIAIQAfAB4AIgAVACAAIgAWABUAIwAgAB8AIwAfACEAJAAiACAAJAAgACMAJQAWACIAJQAYABYAGAAlABsAJgAlACIAJgAiACQAJQAnABsAJQAmACcAKAAbACcAKAAdABsAKQAdACgAKQAeAB0AIQAeACkAKQAoACoAKgAoACcAIQApACsAKQAqACsAIQArACwAIwAhACwAKwAqAC0AKgAnAC4AJgAuACcALQAqAC4AIwAsAC8AJAAjAC8ALAArADAAKwAtADAALwAsADEALAAwADEAJAAvADIAJgAkADIALwAxADMAMgAvADMAMQAwADQAMAA1ADQAMAAtADUAMQA0ADYAMwAxADYALQA3ADUAMwA2ADgALQA5ADcAOgAzADgAMgAzADoAOgA4ADsAOQA8ADcALQAuADkAPQA7ADwAPQA6ADsAOQA9ADwAPgAyADoAPgA6AD0APgA9ADkAPgA5AC4AJgAyAD4AJgA+AC4A"),
"name": "material_0",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 63,
"vertex_data": PackedByteArray("//8AAJBcAAD/fwAAoWUAABrPAABffQAA//+BPJBcAAD/vwAAbFIAAP+/gTxsUgAA/38AAElIAAD/f4E8SUgAAP+/JIiYGAAA/38kiHUOAADkMAAAX30AAAAAAACQXAAAAACBPJBcAAAAACSIvCIAABrPgTxffQAA5DCBPF99AADkMCSIi0MAABrPJIiLQwAA5DCFtRY1AACM5ySIIzMAAIzngTz4bAAAGs+FtRY1AACM54W1riQAAP//JIi8IgAA//+FtUcUAAD/v4W1IwoAAP9/hbUAAAAA/7/G0yMKAAAAAIW1RxQAAP9/xtMAAAAAAADG00cUAADkMMbTFjUAABrPxtMWNQAA5DD243VPAACM58bTriQAABrP9uN1TwAAjOfx5ehAAAD//8bTRxQAAP//7edaMgAA/78m6VwpAAD/f2DqXiAAAAAA7edaMgAA/39Z+y5mAAAAAIr2wG4AAOQww+6efAAA/3+t/tikAAD/v/H4d2oAABrPw+6efAAAAABk+Z2mAADkMNfweakAAIznpvKvdQAAGs/X8HmpAAAAALb6Iv0AAP9///9e+wAA5DAp8v//AAD/v1r9QPwAABrPKfL//wAA/78J/LqlAACM5x71C6gAAIznb/aQ/gAA//+2+iL9AAD//2T5naYAAP//ivbAbgAA")
}]
blend_shape_mode = 0
[sub_resource type="ArrayMesh" id="ArrayMesh_l50a2"]
resource_name = "blockbench_export_mesh5"
_surfaces = [{
"aabb": AABB(-0.030486578, -0.5, -0.0073771244, 0.060973156, 1.0577122, 0.27667576),
"attribute_data": PackedByteArray("JkXLUzJDK1NnRIZRzEAyXcxEMk3MRDJdzEAyTTJDK1MmRctTLER/VExBAFx/QplNf0IAXExBmU0/QctTMkMrUzJDMlV9QTJd5UMzTeVDMl19QTNN/kGGUTJDK1M/QctTjEF8XPBDfEzwQ3xcjEF8TGdEhlEyQytT/kGGUZdBSloBREpOAURKWpdBSk7vQgBO70KGXcZBN04XRE5dAUTkTZdBSlqXQeRNAURKWgREzkyrQe1cq0FyTARESV2tQXRb3kLQTt5CU1utQfFOtEQNT1hCFVtYQppOtESIW8ZBN07GQb1dnUBvTu9Chl1mRKVPQUKmWzRDpU9yQ6ZbAUTaT5dB5FuXQdpPAUTkWzBDcVC/QXJczEBxUCNEclwIQvBa0UPpTjxD8FqdQulO+ULoTihB71qSQOhOj0PvWjRDpU8PQaZbAkKlT0FCplv/Q3JQzUJyWM1CclD/Q3JYmkMNUTFBDVkxQQ1RmkMNWTBFC1LMQgtazEILUjBFC1qdQula0UPpUtFD6VqdQulS+ULoUpJA6FqSQOhS+ULoWs1CclCcQXJYnEFyUM1CclheRM9SLELFVy5DrlIuQ2dYAURmUpdBDVeXQWZSAUQNV4JE71E1QnFXIUK5UXBEllaeQoJYjkKXUtFDglhnQetSMURSUZNA6FbhQalQ+ULoVi5DrlIpQSJX/kGOUixCxFdmQsFZqUPeU5JDAlp6QhFUXkO4VulBMVIHQ8VRNkJqVmdE/1v+QcRXZ0TEV/5B/1vtQ1dWqUFrUfNDHFKpQRtXBETlU6lBxk0GRDROqUFeVIVEB1cHQ8VRJURaUV5DuFbFRO9PFEPDU51Dnk9HRNdT70KcVL5BLVHvQhFRxUFUVGdExFf+QZ1UZ0SdVP5BxFfrQb1SlkScT/lE91HJQKNQO0TbWDZBNVWaQ/hU8EGRWRhE5VTvQhFRH0T1UO9CnFThQbBTnEOeTxRDw1N0Qk1PQ0NAUkNDt1gjQq5SdkS8WFBDQ1JrQ4JYKEKXUp5EglgFRelS0UPpWtFD6VIFRelaBUXpTjxD8FrRQ+lOb0TwWg5Er07eQlNb3kLQTg5EMVuzQ5lNf0IAXH9CmU2zQwBcMkMyVTJDK1MsRH9UdkTrVtRC/lAGRPBQRUP5VuFBsFPMQsBZmUGtWRRDw1MUQ8NT/0PUWcxCwFlHRNdTQ0NhVwlBY1FtQ2NR30BhV2dEnVT+QZ9OZ0SfTv5BnVSaQ/hUuEA7TxxD/k42QTVVRUP5VqNBDFHUQv5QE0IHVw=="),
"format": 34896613399,
"index_count": 348,
"index_data": PackedByteArray("AAABAAIAAwAEAAUAAwAGAAQABwAIAAkACgALAAwACgANAAsADgAPABAAEQASABMAEQAUABIAFQAWABcAGAAZABoAGAAbABkAHAAdAB4AHwAgACEAHwAiACAAIwAkACUAIwAmACQAJwAoACkAJwAqACgAKwAsAC0AKwAuACwALwAwADEALwAyADAAMwA0ADUAMwA2ADQANwA4ADkANwA6ADgAOwA8AD0AOwA+ADwAPwBAAEEAPwBCAEAAQwBEAEUAQwBGAEQARwBIAEkARwBKAEgASwBMAE0ASwBOAEwATwBQAFEATwBSAFAAUwBUAFUAUwBWAFQAVwBYAFkAVwBaAFgAWwBcAF0AWwBeAFwAXwBgAGEAXwBiAGAAYwBkAGUAYwBmAGQAZwBoAGkAZwBqAGgAawBsAG0AawBuAGwAbwBwAHEAbwByAHAAcwB0AHUAcwB2AHQAdwB4AHkAdwB6AHgAewB8AH0AewB+AHwAfwCAAIEAfwCCAIAAgwCEAIUAgwCGAIQAhwCIAIkAhwCKAIgAiwCMAI0AiwCOAIwAjwCQAJEAjwCSAJAAkwCUAJUAkwCWAJQAlwCYAJkAlwCaAJgAmwCcAJ0AmwCeAJwAnwCgAKEAnwCiAKAAowCkAKUAowCmAKQApwCoAKkApwCqAKgAqwCsAK0AqwCuAKwArwCwALEArwCyALAAswC0ALUAswC2ALQAtwC4ALkAtwC6ALgAuwC8AL0AuwC+ALwAvwDAAMEAvwDCAMAAwwDEAMUAwwDGAMQAxwDIAMkAxwDKAMgAywDMAM0AywDOAMwAzwDQANEA0gDTANQA0gDVANMA1gDXANgA1gDZANcA2gDbANwA2gDdANsA3gDfAOAA3gDhAN8A4gDjAOQA4gDlAOMA5gDnAOgA5gDpAOcA6gDrAOwA6gDtAOsA"),
"material": SubResource("StandardMaterial3D_uqffu"),
"name": "material_0",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 238,
"vertex_data": PackedByteArray("//8AAJBc/7//fwAAoWX/vxrPAABfff+/Gs8AAF99EbP//4E8kFwRs///AACQXBGzGs+BPF99EbP/fwAAoWX/v///AACQXP+//78AAGxS/7///wAAkFya5v+/gTxsUprm/78AAGxSmub//4E8kFya5gAAAACQXP+//38AAKFl/7//fwAASUj/v/9/AABJSJrmAACBPJBcmuYAAAAAkFya5v9/gTxJSJrm5DAAAF99/7//fwAAoWX/vwAAAACQXP+/AAAAAJBcEbPkMIE8X30Rs+QwAABffRGzAACBPJBcEbMazwAAX33/v/9/AAChZf+/5DAAAF99/7/kMAAAX30AgBrPgTxffQCAGs8AAF99AIDkMIE8X30AgP//JIi8IqazjOeBPPhsprOM5ySIIzOms///gTyQXKazGs8kiItDCojkMIE8X30KiOQwJIiLQwqIGs+BPF99CojkMCSIi0NhswAAgTyQXGGzAAAkiLwiYbPkMIE8X31hs///gTyQXF3n/78kiJgYXef/v4E8bFJd5///JIi8Il3nAAAkiLwi++f/f4E8SUj75/9/JIh1DvvnAACBPJBc++eM5ySIIzOmsxrPgTxffaazGs8kiItDprOM54E8+Gyms///hbVHFBSzjOckiCMzFLOM54W1riQUs///JIi8IhSzGs+FtRY1YoPkMCSIi0Nig+QwhbUWNWKDGs8kiItDYoPkMIW1FjUUswAAJIi8IhSzAACFtUcUFLPkMCSIi0MUs///JIi8Ip3m/7+FtSMKneb/vySImBid5v//hbVHFJ3mAACFtUcUneb/fySIdQ6d5v9/hbUAAJ3mAAAkiLwineaM54W1riQUsxrPJIiLQxSzGs+FtRY1FLOM5ySIIzMUs///xtNHFBGzjOeFta4kEbOM58bTriQRs///hbVHFBGzGs/G0xY1AIDkMIW1FjUAgOQwxtMWNQCAGs+FtRY1AIDkMMbTFjURswAAhbVHFBGzAADG00cUEbPkMIW1FjURs///hbVHFJrm/7/G0yMKmub/v4W1Iwqa5v//xtNHFJrmAADG00cUmub/f4W1AACa5v9/xtMAAJrmAACFtUcUmuaM58bTriQRsxrPhbUWNRGzGs/G0xY1EbOM54W1riQRs///7edaMgi3jOfG064kB7eM5/Hl6EAIt///xtNHFAe3Gs/243VPaJDkMMbTFjVokOQw9uN1T2iQGs/G0xY1aJDkMPbjdU8EtQAAxtNHFAS1AADt51oyBLXkMMbTFjUEtf//xtNHFOXm/78m6Vwp5ub/v8bTIwrl5v//7edaMubmAADt51oyzeX/f8bTAADN5f9/YOpeIM3lAADG00cUzeWM5/Hl6EAVtxrPxtMWNRW3Gs/243VPFbeM58bTriQVt///7edaMg/q/7/x+HdqD+r/vybpXCkP6v//ivbAbg/qjOfx5ehAgboaz8PunnyBuoznpvKvdYG6Gs/243VPgboaz/bjdU/SoeQww+6efNKhGs/D7p580qHkMPbjdU/SoeQw9uN1T267AACK9sBubrvkMMPunnxuuwAA7edaMm67AADt51oynun/f1n7Lmae6QAAivbAbp7p/39g6l4gnun//+3nWjJ6uoznpvKvdXu6//+K9sBue7qM5/Hl6EB6uv//ivbAbqfJ/78J/Lqlpsn/v/H4d2qnyf//ZPmdpqbJjOem8q91I8kaz9fweakjyYznHvULqCPJGs/D7p58I8kaz8PunnzXuOQw1/B5qde4Gs/X8Hmp17jkMMPunnzXuOQww+6efFm+AABk+Z2mWb7kMNfwealZvgAAivbAblm+AACK9sBut/D/f63+2KS38AAAZPmdprfw/39Z+y5mt/D//4r2wG4SyYznHvULqBHJ//9k+Z2mEcmM56byr3USyf9/rf7YpLvJ/7/x+Hdqu8n/vwn8uqW7yf9/WfsuZrzJ/39Z+y5mwub/vybpXCnB5v+/8fh3asLm/39g6l4gweb/f2DqXiDA5f+/xtMjCsDl/78m6VwpwOX/f8bTAADA5f9/xtMAAJrm/7+FtSMKmub/v8bTIwqa5v9/hbUAAJrm/3+FtQAAneb/vySImBid5v+/hbUjCp3m/38kiHUOneb/fySIdQ5d5/+/gTxsUl3n/78kiJgYXef/f4E8SUhd5/9/gTxJSJrm/78AAGxSmub/v4E8bFKa5v9/AABJSJrm/38AAElI/7//fwAAoWX/v/+/AABsUv+///9k+Z2mM8uM52/2kP4zy///tvoi/TPLjOce9QuoM8v/f63+2KRyxf+/Wv1A/HLF/3///177csX/vwn8uqVyxf+/Cfy6pXLF//+2+iL9csX/v1r9QPxyxf//ZPmdpnLF5DDX8HmpGswAALb6Iv0azOQwKfL//xrMAABk+Z2mGswaz9fweamgveQwKfL//6C9Gs8p8v//oL3kMNfweamgvQAAZPmdpuvv/3///1776+8AALb6Iv3r7/9/rf7YpOvvjOce9QuoM8sazyny//8zy4znb/aQ/jPLGs/X8HmpM8sAAP9/AAD/fwAA/3//fwAA/38AAP9/AAD/fwAAAAD/fwAA/38AAP9//38AAP9/AAD/fwAA/38AAAAAAIAAAP9/AAD/f/9/////f////3////9///8AAACAAAD/fwAAAID/f////3////9/////f///AAD/fwAA/38AAACA/3////9/////f////3///1aQ+B1WkPgdVpD4HVaQ+B3///9/////f////3////9/fZjB8X2YwfF9mMHxfZjB8daGvxLWhr8S1oa/EtaGvxImmgzzJpoM8yaaDPMmmgzzVpD4HVaQ+R1WkPkdVpD4HdeDOgLXgzoC14M6AteDOgL///9/////f////3////9/OYIn/DmCJ/w5gif8OYIn/Kp+eQWqfnkFqn55Bap+eQWGeqn+hnqp/oZ6qf6Geqn+14M6AteDOgLXgzoC14M6Av9/AAD/fwAA/38AAP9/AAD/f////3////9/////f////3////9/////f////3////9/AAD/fwAA/38AAP9/AAD/f////3////9/////f////38AAP9/AAD/fwAA/38AAHRKMRx3Si8cc0oxHHhKLxwAAP9/AAD/fwAA/38AAP9/nWhQ151oUNedaFDXnWhQ11yVNAVblTEFXZU0BVqVMAXbhFjr2oRY69uEWOvahFjrb0pxHHBKcRxuSnIccEpxHABRbQsAUW4LAVFtCwBRbguTQVElk0FRJZNBUSWTQVElAAD/fwAA/38AAP9/AAD/f6pZcL6qWW++qllvvqpZcL4IdXHRCHVx0Qh1cdEIdXHRlEFLJZFBTCWRQUwllUFLJUzQs2VM0LJlTNCzZUvQsmX5Klcx+ipXMfoqVzH5KlcxAAD/fwAA/38AAP9/AAD/f5ZgsuyWYLLslmCy7JZgsuyza6i5s2uoubNrqLmza6i58ipNMfIqTTHyKk0x8ipNMbzPemW8z3tlvM95ZbzPe2WOWMEDkFjAA45YwgOQWL8D85TpBPSU6gTzlOkE9JTrBP9/AAD/fwAA/38AAP9/AACqfnkFqn55Bap+eQWqfnkF1oa/EtaGvxLWhr8S1oa/Ev9/AAD/fwAA/38AAP9/AAAAAP9/AAD/fwAA/3/RKYsy0imKMtIpijLRKYsycc4hZnHOIWZxziFmcc4hZnHOIWZxziFmcc4hZnHOIWbvTFGo70xSqO9MUqjvTFGoAAD/fwAA/38AAP9/AAD/f7ZsN7e2bDe3tmw3t7ZsN7fSKYoy0imKMtIpijLSKYoy")
}]
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_eewkv")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_id8d5"]
albedo_color = Color(0, 0, 0, 1)
[sub_resource type="ArrayMesh" id="ArrayMesh_s2mu2"]
_surfaces = [{
@ -185,9 +159,42 @@ radius = 0.22167969
script = ExtResource("4_id8d5")
metadata/_custom_type_script = "uid://c6w5omkrnbahq"
[sub_resource type="BoxShape3D" id="BoxShape3D_ugbnf"]
size = Vector3(0.06933594, 0.043426514, 0.26158905)
[sub_resource type="BoxShape3D" id="BoxShape3D_id8d5"]
size = Vector3(0.17430115, 0.17147827, 0.2852173)
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ugbnf"]
lifetime_randomness = 0.41
direction = Vector3(0, 0, -1)
spread = 1.621
initial_velocity_min = 10.0
initial_velocity_max = 15.0
angular_velocity_min = -2.290016
angular_velocity_max = -2.290016
radial_velocity_min = -2.2000222
radial_velocity_max = 2.1999776
scale_min = 0.099999994
scale_max = 0.5
collision_mode = 1
collision_friction = 0.32
collision_bounce = 0.59
collision_use_scale = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_27xdh"]
[sub_resource type="QuadMesh" id="QuadMesh_bwwjp"]
material = SubResource("StandardMaterial3D_27xdh")
[node name="extinguisher_model" type="Node3D"]
[node name="extinguisher_model" parent="." instance=ExtResource("1_mhjx8")]
mass = 0.534
physics_material_override = SubResource("PhysicsMaterial_ugbnf")
center_of_mass_mode = 1
center_of_mass = Vector3(0, -0.3, 0)
picked_up_layer = 65540
[node name="tank" type="MeshInstance3D" parent="extinguisher_model"]
mesh = SubResource("ArrayMesh_ytjak")
@ -199,9 +206,10 @@ mesh = SubResource("ArrayMesh_s00sf")
skeleton = NodePath("")
[node name="hose" type="MeshInstance3D" parent="extinguisher_model"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6875, -0.3125)
mesh = SubResource("ArrayMesh_l50a2")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0028579235, -0.019274533)
mesh = ExtResource("3_ugbnf")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_id8d5")
[node name="release lever" type="MeshInstance3D" parent="extinguisher_model"]
transform = Transform3D(1, 0, -2.3574103e-09, 0, 0.9396927, 0.34202003, 0, -0.3420201, 0.9396926, -6.2864274e-09, 1.25, 1.0430813e-07)
@ -217,4 +225,30 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.50219727, 0)
shape = SubResource("CylinderShape3D_mhjx8")
[node name="GrabPointHandRight" parent="extinguisher_model" instance=ExtResource("3_fnuwe")]
transform = Transform3D(1, 0, 0, 0, 0.9893639, -0.14546143, 0, 0.14546143, 0.9893639, 0, 1.3369559, 0.02234684)
snap_hand = false
hand_pose = SubResource("Resource_ugbnf")
[node name="GrabPointHandLeft" parent="extinguisher_model" instance=ExtResource("3_fnuwe")]
transform = Transform3D(1, 0, 0, 0, 0.9893639, -0.14546143, 0, 0.14546143, 0.9893639, 0, 1.3369559, 0.02234684)
hand = 0
snap_hand = false
hand_pose = SubResource("Resource_ugbnf")
[node name="CollisionShape3D3" type="CollisionShape3D" parent="extinguisher_model"]
transform = Transform3D(1, 0, 0, 0, 0.937142, 0.34894824, 0, -0.34894824, 0.937142, -0.0024414063, 1.2870162, 0.06027595)
shape = SubResource("BoxShape3D_ugbnf")
[node name="CollisionShape3D4" type="CollisionShape3D" parent="extinguisher_model"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00059975684, 1.1687922, -0.17868412)
shape = SubResource("BoxShape3D_id8d5")
[node name="GPUParticles3D" type="GPUParticles3D" parent="extinguisher_model"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1657132, -0.29093397)
amount = 65
amount_ratio = 0.0
process_material = SubResource("ParticleProcessMaterial_ugbnf")
draw_pass_1 = SubResource("QuadMesh_bwwjp")
[connection signal="action_pressed" from="extinguisher_model" to="extinguisher_model" method="_on_action_pressed"]
[connection signal="released" from="extinguisher_model" to="extinguisher_model" method="_on_released"]

View File

@ -0,0 +1,12 @@
# Blender 4.3.2 MTL File: 'extinguisher.blend'
# www.blender.org
newmtl Material_0
Ns 0.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2

View File

@ -0,0 +1,206 @@
# Blender 4.3.2
# www.blender.org
mtllib josé.mtl
o hose
v 0.032175 1.188286 -0.087212
v 0.015358 1.205103 -0.087212
v 0.015358 1.140324 -0.087212
v 0.032175 1.157141 -0.087212
v 0.032175 1.188295 -0.022433
v 0.015368 1.205103 -0.022433
v -0.015787 1.205103 -0.087212
v -0.032603 1.188286 -0.087212
v -0.032603 1.157141 -0.087212
v -0.015787 1.140324 -0.087212
v -0.032603 1.157132 -0.022433
v -0.015796 1.140324 -0.022433
v -0.015796 1.205103 -0.022433
v -0.032603 1.188295 -0.022433
v 0.015368 1.140324 -0.022433
v 0.032175 1.157132 -0.022433
v -0.086610 1.242283 -0.301188
v -0.069784 1.259110 -0.301188
v -0.074887 1.247386 -0.301188
v -0.069784 1.086317 -0.301188
v -0.086610 1.103144 -0.301188
v -0.074887 1.098040 -0.301188
v 0.069356 1.259110 -0.301188
v 0.086182 1.242283 -0.301188
v 0.074459 1.247386 -0.301188
v 0.086182 1.103144 -0.301188
v 0.069356 1.086317 -0.301188
v 0.074459 1.098040 -0.301188
v -0.055599 1.245425 -0.301188
v -0.072926 1.228098 -0.301188
v -0.074852 1.247351 -0.301188
v -0.072926 1.117329 -0.301188
v -0.055599 1.100002 -0.301188
v -0.074852 1.098076 -0.301188
v 0.072497 1.228098 -0.301188
v 0.055171 1.245425 -0.301188
v 0.074424 1.247351 -0.301188
v 0.055171 1.100002 -0.301188
v 0.072497 1.117329 -0.301188
v 0.074424 1.098076 -0.301188
v -0.023353 1.178526 -0.103970
v -0.006027 1.195853 -0.103970
v -0.006027 1.149574 -0.103970
v -0.023353 1.166901 -0.103970
v 0.005599 1.195853 -0.103970
v 0.022925 1.178526 -0.103970
v 0.022925 1.166901 -0.103970
v 0.005599 1.149574 -0.103970
vn -0.0000 -0.9696 0.2447
vn -0.9696 -0.0000 0.2447
vn -0.0000 -0.9698 -0.2438
vn 0.9696 -0.0000 0.2447
vn -0.0000 -0.0000 -1.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 -1.0000 -0.0000
vn -1.0000 -0.0000 -0.0000
vn -0.0000 0.9696 0.2447
vn 1.0000 -0.0000 -0.0000
vn -0.9698 -0.0000 -0.2438
vn -0.0000 0.9698 -0.2438
vn 0.7071 0.7071 -0.0001
vn -0.7071 -0.7071 -0.0001
vn 0.7071 -0.7071 -0.0001
vn -0.7071 0.7071 -0.0001
vn -0.6660 -0.6660 0.3361
vn 0.6660 -0.6660 0.3361
vn -0.6660 0.6660 0.3361
vn 0.6660 0.6660 0.3361
vn -0.0000 1.0000 -0.0000
vn -0.6663 0.6663 -0.3349
vn -0.6663 -0.6663 -0.3349
vn 0.6663 -0.6663 -0.3349
vn 0.6663 0.6663 -0.3349
vn 0.9698 -0.0000 -0.2438
vt 0.310099 0.500000
vt 0.189901 0.500000
vt 0.149345 0.500000
vt 0.350655 0.500000
vt 0.439901 0.750000
vt 0.560099 0.750000
vt 0.600655 0.750000
vt 0.399345 0.750000
vt 0.605200 0.794868
vt 0.605201 0.955132
vt 0.605201 0.901427
vt 0.605200 0.848573
vt 0.560099 0.000000
vt 0.439901 0.000000
vt 0.399345 0.000000
vt 0.600655 0.000000
vt 0.439866 0.250000
vt 0.375000 0.314866
vt 0.375000 0.435134
vt 0.439866 0.500000
vt 0.560134 0.500000
vt 0.625000 0.435134
vt 0.625000 0.314866
vt 0.560134 0.250000
vt 0.375000 0.814901
vt 0.375000 0.935099
vt 0.439901 1.000000
vt 0.560099 1.000000
vt 0.625000 0.935099
vt 0.625000 0.814901
vt 0.189901 0.500000
vt 0.310134 0.750000
vt 0.189866 0.750000
vt 0.394799 0.848573
vt 0.473573 0.769799
vt 0.526427 0.769799
vt 0.526427 0.980201
vt 0.473573 0.980201
vt 0.394800 0.901427
vt 0.810099 0.500000
vt 0.689901 0.500000
vt 0.649345 0.500000
vt 0.850655 0.500000
vt 0.607987 0.767013
vt 0.580132 0.769799
vt 0.419868 0.769799
vt 0.392013 0.767013
vt 0.391962 0.766962
vt 0.608038 0.766962
vt 0.392013 0.982987
vt 0.419868 0.980201
vt 0.580132 0.980200
vt 0.607987 0.982987
vt 0.608038 0.983038
vt 0.600655 1.000000
vt 0.399345 1.000000
vt 0.391962 0.983039
vt 0.419868 0.980201
vt 0.394800 0.955132
vt 0.394799 0.794868
vt 0.392013 0.767013
vt 0.392013 0.982987
vt 0.391962 0.983039
vt 0.375000 0.975655
vt 0.375000 0.774345
vt 0.391962 0.766962
vt 0.605200 0.955132
vt 0.605201 0.794868
vt 0.607987 0.767013
vt 0.608038 0.766962
vt 0.625000 0.774345
vt 0.625000 0.975655
vt 0.612828 0.762172
vt 0.375000 0.750000
vt 0.391541 0.750000
vt 0.612828 0.987828
vt 0.375000 0.500000
vt 0.358459 0.500000
vt 0.689866 0.750000
vt 0.625000 0.750000
vt 0.625000 0.500000
vt 0.625000 0.000000
vt 0.810134 0.750000
vt 0.605201 0.768027
vt 0.393027 0.769800
vt 0.606973 0.980201
vt 0.394800 0.981973
s 0
usemtl Material_0
f 3/1/1 10/2/1 20/3/1 27/4/1
f 9/5/2 8/6/2 17/7/2 21/8/2
f 29/9/3 36/10/3 45/11/3 42/12/3
f 1/13/4 4/14/4 26/15/4 24/16/4
f 16/17/5 15/18/5 12/19/5 11/20/5 14/21/5 13/22/5 6/23/5 5/24/5
f 9/5/6 10/25/6 3/26/6 4/27/6 1/28/6 2/29/6 7/30/6 8/6/6
f 10/31/7 3/1/7 15/32/7 12/33/7
f 43/34/5 44/35/5 41/36/5 42/12/5 45/11/5 46/37/5 47/38/5 48/39/5
f 11/20/8 14/21/8 8/6/8 9/5/8
f 7/40/9 2/41/9 23/42/9 18/43/9
f 4/14/10 1/13/10 5/24/10 16/17/10
f 31/44/5 30/45/5 32/46/5 34/47/5 22/48/5 21/8/5 17/7/5 19/49/5
f 40/50/5 39/51/5 35/52/5 37/53/5 25/54/5 24/55/5 26/56/5 28/57/5
f 35/52/11 39/58/11 47/38/11 46/37/11
f 38/59/12 33/60/12 43/34/12 48/39/12
f 34/61/5 33/60/5 38/59/5 40/62/5 28/63/5 27/64/5 20/65/5 22/66/5
f 37/53/5 36/67/5 29/68/5 31/69/5 19/70/5 18/71/5 23/72/5 25/54/5
f 17/73/5 18/71/5 19/70/5
f 20/74/5 21/8/5 22/75/5
f 23/76/5 24/55/5 25/54/5
f 26/77/5 27/4/5 28/78/5
f 2/41/13 6/79/13 5/80/13 1/81/13
f 10/74/14 12/77/14 11/20/14 9/5/14
f 15/32/15 3/1/15 4/77/15 16/74/15
f 13/81/16 7/80/16 8/6/16 14/21/16
f 9/5/17 21/8/17 20/74/17 10/74/17
f 26/77/18 4/77/18 3/1/18 27/4/18
f 7/80/19 18/80/19 17/7/19 8/6/19
f 23/82/20 2/82/20 1/13/20 24/16/20
f 2/41/21 7/40/21 13/83/21 6/79/21
f 29/9/5 30/84/5 31/44/5
f 32/46/5 33/85/5 34/61/5
f 35/52/5 36/86/5 37/53/5
f 38/59/5 39/87/5 40/50/5
f 38/59/22 48/39/22 47/38/22 39/58/22
f 45/11/23 36/10/23 35/52/23 46/37/23
f 41/36/24 30/45/24 29/9/24 42/12/24
f 32/46/25 44/35/25 43/34/25 33/60/25
f 32/46/26 30/45/26 41/36/26 44/35/26

View File

@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://5km1hdev7qmn"
path="res://.godot/imported/josé.obj-58471131465eeb42be42f5beebcf037b.mesh"
[deps]
files=["res://.godot/imported/josé.obj-58471131465eeb42be42f5beebcf037b.mesh"]
source_file="res://assets/psx-fire-extinguisher/source/josé.obj"
dest_files=["res://.godot/imported/josé.obj-58471131465eeb42be42f5beebcf037b.mesh", "res://.godot/imported/josé.obj-58471131465eeb42be42f5beebcf037b.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false

View File

@ -10,6 +10,7 @@ extends PersistentWorld
## The [GameStaging] script populates the staging and current_zone fields
## of this script in response to scene switching.
@export var comfort_vignette = false
## Game difficulty options
enum GameDifficulty {
@ -107,6 +108,7 @@ func save_world_state() -> bool:
set_value("game_difficulty", game_difficulty)
set_value("current_zone_id", current_zone.zone_info.zone_id)
set_value("current_location", body.global_transform)
set_value("comfort_vignette", comfort_vignette)
return true
@ -130,6 +132,8 @@ func load_world_state() -> bool:
# Restore the game difficulty
game_difficulty = get_value("game_difficulty")
comfort_vignette = get_value("comfort_vignette")
# Get the zone
var zone := zone_database.get_zone(zone_id)

View File

@ -26,7 +26,7 @@ func _set_pane(p_no):
# Main menu
func _on_new_game_btn_pressed():
_set_pane(2)
GameState.new_game(GameState.GameDifficulty.GAME_EASY)
func _on_load_game_btn_pressed():
_set_pane(3)
@ -52,6 +52,7 @@ func _on_back_btn_pressed():
_set_pane(1)
# Load game
func _on_start_button_pressed():
var selected_items = save_list_node.get_selected_items()
@ -63,3 +64,10 @@ func _on_start_button_pressed():
var save_name = save_list[selected_item]
print("Loading save: ", save_name)
GameState.load_game(save_name)
func _on_comfort_vignette_btn_button_up() -> void:
GameState.comfort_vignette = true
func _on_comfort_vignette_btn_button_down() -> void:
GameState.comfort_vignette = false

View File

@ -94,12 +94,6 @@ layout_mode = 2
theme_override_font_sizes/font_size = 25
text = "Back "
[node name="SmoothTurnBtn" type="CheckButton" parent="Options"]
layout_mode = 2
[node name="SmoothMoveBtn" type="CheckButton" parent="Options"]
layout_mode = 2
[node name="ComfortVignetteBtn" type="CheckButton" parent="Options"]
layout_mode = 2
@ -114,3 +108,5 @@ layout_mode = 2
[connection signal="pressed" from="LoadGame/StartBtn" to="." method="_on_start_button_pressed"]
[connection signal="pressed" from="LoadGame/BackBtn" to="." method="_on_back_btn_pressed"]
[connection signal="pressed" from="Options/BackBtn" to="." method="_on_back_btn_pressed"]
[connection signal="button_down" from="Options/ComfortVignetteBtn" to="." method="_on_comfort_vignette_btn_button_down"]
[connection signal="button_up" from="Options/ComfortVignetteBtn" to="." method="_on_comfort_vignette_btn_button_up"]

View File

@ -0,0 +1,17 @@
extends Node3D
func _ready() -> void:
# Avoid duplicating again if already created
if has_node("extinguisher_model_0"):
return
var original = find_child("extinguisher_model", true, false)
if not original:
push_warning("No node named 'extinguisher_model' found.")
return
for i in range(10):
var copy = original.duplicate()
copy.name = "extinguisher_model_%d" % i
copy.position = original.position + Vector3(0, 0, i * 0.5)
add_child(copy)

View File

@ -0,0 +1 @@
uid://elfxvp7ojn1s

View File

@ -1,80 +1,73 @@
[gd_scene load_steps=39 format=3 uid="uid://cjat5u6nsihgw"]
[gd_scene load_steps=27 format=3 uid="uid://cjat5u6nsihgw"]
[ext_resource type="PackedScene" uid="uid://cvn48xcmsmkrb" path="res://game/zones/zone_base.tscn" id="1_sk0kv"]
[ext_resource type="Material" uid="uid://csepeix2yvih" path="res://assets/prototype_materials/grass.tres" id="2_uryyw"]
[ext_resource type="Material" uid="uid://c7prktlpm7tmm" path="res://assets/prototype_materials/forest.tres" id="3_wfk2d"]
[ext_resource type="Resource" uid="uid://to5lown6orfd" path="res://game/zones/outside/outside_zone_info.tres" id="3_wyepd"]
[ext_resource type="Script" uid="uid://dn6lkhk3gbq4n" path="res://components/helpers/scatter.gd" id="4_v2d8i"]
[ext_resource type="Material" uid="uid://c386ygo86nqfc" path="res://assets/prototype_materials/wood_brown.tres" id="4_yw2go"]
[ext_resource type="Material" uid="uid://cjylinr1vdjcw" path="res://assets/prototype_materials/dark_brown.tres" id="5_peq87"]
[ext_resource type="Material" uid="uid://ccdofvku4c7w3" path="res://assets/prototype_materials/stone_grey.tres" id="6_y2a7s"]
[ext_resource type="PackedScene" uid="uid://vm423o6hdlya" path="res://components/helpers/zone_switch_area.tscn" id="7_omnq0"]
[ext_resource type="Environment" uid="uid://er867l7dl10j" path="res://default_env.tres" id="8_82q6b"]
[ext_resource type="Script" uid="uid://elfxvp7ojn1s" path="res://game/zones/outside/extinguishers.gd" id="8_cuabg"]
[ext_resource type="PackedScene" uid="uid://bhdq6md7l8avi" path="res://assets/psx-fire-extinguisher/source/extinguisher_model.tscn" id="9_twjr1"]
[ext_resource type="PackedScene" uid="uid://c4rpcr7s5pt3v" path="res://game/items/rock/rock.tscn" id="12_cxbia"]
[ext_resource type="PackedScene" uid="uid://chch4r7wddwdj" path="res://game/objects/storage/storage_box.tscn" id="13_galon"]
[ext_resource type="PackedScene" uid="uid://dbepe4i2q62yy" path="res://game/items/crate/crate.tscn" id="13_mtgv7"]
[ext_resource type="PackedScene" uid="uid://c33bpwxnrb0gr" path="res://game/items/toolbox/toolbox.tscn" id="14_68l3l"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vljgg"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cuabg"]
animation = &"Grip"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_tk2pl"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_j0qyq"]
animation = &"Grip"
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_twjr1"]
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_2oy5v"]
filter_enabled = true
filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u7c0g"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vljgg"]
animation = &"Grip 5"
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_gfaum"]
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_tk2pl"]
filter_enabled = true
filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_mpg1a"]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_twjr1"]
graph_offset = Vector2(-536, 11)
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_vljgg")
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_cuabg")
nodes/ClosedHand1/position = Vector2(-600, 300)
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_tk2pl")
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_j0qyq")
nodes/ClosedHand2/position = Vector2(-360, 300)
nodes/Grip/node = SubResource("AnimationNodeBlend2_twjr1")
nodes/Grip/node = SubResource("AnimationNodeBlend2_2oy5v")
nodes/Grip/position = Vector2(0, 20)
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_u7c0g")
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_vljgg")
nodes/OpenHand/position = Vector2(-600, 100)
nodes/Trigger/node = SubResource("AnimationNodeBlend2_gfaum")
nodes/Trigger/node = SubResource("AnimationNodeBlend2_tk2pl")
nodes/Trigger/position = Vector2(-360, 20)
node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_airyt"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u7c0g"]
animation = &"Grip"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qeajv"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gfaum"]
animation = &"Grip"
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_rejpy"]
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_mpg1a"]
filter_enabled = true
filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_xhwk3"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_airyt"]
animation = &"Grip 5"
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_if2vo"]
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_qeajv"]
filter_enabled = true
filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_qimua"]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_rejpy"]
graph_offset = Vector2(-552.664, 107.301)
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_airyt")
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_u7c0g")
nodes/ClosedHand1/position = Vector2(-600, 300)
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_qeajv")
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_gfaum")
nodes/ClosedHand2/position = Vector2(-360, 300)
nodes/Grip/node = SubResource("AnimationNodeBlend2_rejpy")
nodes/Grip/node = SubResource("AnimationNodeBlend2_mpg1a")
nodes/Grip/position = Vector2(0, 40)
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_xhwk3")
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_airyt")
nodes/OpenHand/position = Vector2(-600, 100)
nodes/Trigger/node = SubResource("AnimationNodeBlend2_if2vo")
nodes/Trigger/node = SubResource("AnimationNodeBlend2_qeajv")
nodes/Trigger/position = Vector2(-360, 40)
node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
@ -99,29 +92,12 @@ size = Vector2(0.02, 0.1)
cull_mode = 2
albedo_color = Color(0, 0.603922, 0.0901961, 1)
[sub_resource type="SphereMesh" id="SphereMesh_6ysum"]
material = ExtResource("6_y2a7s")
radius = 3.0
height = 4.0
radial_segments = 5
rings = 3
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_f4wyk"]
points = PackedVector3Array(-1.7634, 0, -2.42705, -1.24728, -1.41425, -1.71626, -2.85317, 0, 0.926607, -1.24728, 1.41386, -1.71626, 1.76284, 0, -2.42705, 1.24673, -1.41425, -1.71626, 0, -2, -0.000390053, -2.01755, -1.41425, 0.655149, -2.01755, 1.41386, 0.655149, 0, 0, 3, 0, 2, -0.000390053, 1.24673, 1.41386, -1.71626, 2.85317, 0, 0.926607, 2.01699, -1.41425, 0.655149, 0, -1.41425, 2.12081, 0, 1.41386, 2.12081, 2.01699, 1.41386, 0.655149)
[sub_resource type="BoxMesh" id="BoxMesh_s0cu3"]
material = ExtResource("5_peq87")
size = Vector3(1, 3, 0.2)
[sub_resource type="BoxShape3D" id="BoxShape3D_lsqhn"]
size = Vector3(1, 3, 0.1)
[sub_resource type="BoxShape3D" id="BoxShape3D_wdgkd"]
size = Vector3(1, 3, 0.2)
[node name="OutsideZone" instance=ExtResource("1_sk0kv")]
zone_info = ExtResource("3_wyepd")
[node name="BackPocket" parent="XROrigin3D/XRCamera3D" index="0"]
visible = false
[node name="Skeleton3D" parent="XROrigin3D/LeftHand/CollisionHandLeft/LeftHand/Hand_Nails_low_L/Armature" index="0"]
bones/1/rotation = Quaternion(0.323537, -2.5658142e-05, -0.027220426, 0.9458239)
bones/2/rotation = Quaternion(-0.09044407, -0.04151748, -0.16629349, 0.98104167)
@ -148,7 +124,7 @@ transform = Transform3D(0.5408296, 0.8408128, -0.023173608, -0.08262672, 0.08052
[node name="AnimationTree" parent="XROrigin3D/LeftHand/CollisionHandLeft/LeftHand" index="1"]
root_node = NodePath("../Hand_Nails_low_L")
tree_root = SubResource("AnimationNodeBlendTree_mpg1a")
tree_root = SubResource("AnimationNodeBlendTree_twjr1")
[node name="WristUI" parent="XROrigin3D/LeftHand/CollisionHandLeft" index="7"]
scene_properties_keys = PackedStringArray("zone_wrist_ui.gd")
@ -179,7 +155,13 @@ transform = Transform3D(0.5408295, -0.8408129, 0.023173586, 0.08262676, 0.080524
[node name="AnimationTree" parent="XROrigin3D/RightHand/CollisionHandRight/RightHand" index="1"]
root_node = NodePath("../Hand_Nails_low_R")
tree_root = SubResource("AnimationNodeBlendTree_qimua")
tree_root = SubResource("AnimationNodeBlendTree_rejpy")
[node name="LeftPocket" parent="XROrigin3D/PlayerBody" index="0"]
visible = false
[node name="RightPocket" parent="XROrigin3D/PlayerBody" index="1"]
visible = false
[node name="World" type="Node3D" parent="." index="1"]
@ -247,89 +229,12 @@ instance_count = 3000
mesh = SubResource("QuadMesh_pt6e2")
material_override = SubResource("StandardMaterial3D_srm7c")
[node name="Stone1" type="StaticBody3D" parent="World" index="8"]
transform = Transform3D(0.764321, 0.0519332, 0.642742, -0.26228, 0.935615, 0.236294, -0.589087, -0.349183, 0.72873, 7, 0, 8)
[node name="extinguishers" type="Node3D" parent="World" index="8"]
transform = Transform3D(0.38699996, 1.8626451e-09, 0, -1.8626451e-09, 0.387, -1.8626451e-09, 1.4901161e-08, -9.313226e-10, 0.38699996, 0, 0.06884384, -2.2083645)
script = ExtResource("8_cuabg")
[node name="MeshInstance3D" type="MeshInstance3D" parent="World/Stone1" index="0"]
transform = Transform3D(1, -1.42492e-07, 0, 3.63216e-08, 1, 0, 0, 1.49012e-08, 1, 0, 0, 0)
mesh = SubResource("SphereMesh_6ysum")
[node name="CollisionShape3D" type="CollisionShape3D" parent="World/Stone1" index="1"]
transform = Transform3D(1, -1.42492e-07, 0, 3.63216e-08, 1, 0, 0, 1.49012e-08, 1, 0, 0, 0)
shape = SubResource("ConvexPolygonShape3D_f4wyk")
[node name="Stone2" type="StaticBody3D" parent="World" index="9"]
transform = Transform3D(0.417223, -0.0502081, 0.907416, -0.0618827, 0.994586, 0.0834845, -0.906695, -0.0909851, 0.411857, -8, -0.4, 8)
[node name="MeshInstance3D" type="MeshInstance3D" parent="World/Stone2" index="0"]
transform = Transform3D(1, -1.56462e-07, 0, 4.47035e-08, 1, 3.35276e-08, 0, 1.49012e-08, 1, 0, 0, 0)
mesh = SubResource("SphereMesh_6ysum")
[node name="CollisionShape3D" type="CollisionShape3D" parent="World/Stone2" index="1"]
transform = Transform3D(1, -1.42492e-07, 0, 3.63216e-08, 1, 0, 0, 1.49012e-08, 1, 0, 0, 0)
shape = SubResource("ConvexPolygonShape3D_f4wyk")
[node name="extinguisher_model" parent="World" index="10" instance=ExtResource("9_twjr1")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.06884384, -2.2083645)
[node name="HouseEntrance" type="Node3D" parent="." index="2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8.6)
[node name="Exterior" type="CSGPolygon3D" parent="HouseEntrance" index="0"]
use_collision = true
polygon = PackedVector2Array(-3, 0, -3, 3, 0, 5, 3, 3, 3, 0, 0.5, 0, 0.5, 3, -0.5, 3, -0.5, 0)
material = ExtResource("4_yw2go")
[node name="Door" type="StaticBody3D" parent="HouseEntrance" index="1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -0.5)
[node name="MeshInstance3D" type="MeshInstance3D" parent="HouseEntrance/Door" index="0"]
mesh = SubResource("BoxMesh_s0cu3")
[node name="CollisionShape3D" type="CollisionShape3D" parent="HouseEntrance/Door" index="1"]
shape = SubResource("BoxShape3D_lsqhn")
[node name="ToHouseInterior" parent="." index="3" instance=ExtResource("7_omnq0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8.7)
zone_scene = "res://game/zones/house_interior/house_interior_zone.tscn"
spawn_node_name = "FromOutside"
[node name="CollisionShape3D" type="CollisionShape3D" parent="ToHouseInterior" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
shape = SubResource("BoxShape3D_wdgkd")
[node name="FromHouseInterior" type="Marker3D" parent="." index="4"]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -7.6)
[node name="Rock1" parent="." index="5" instance=ExtResource("12_cxbia")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.02816, 0.159056, 5.29193)
item_id = "rock_outside_1"
[node name="Rock2" parent="." index="6" instance=ExtResource("12_cxbia")]
transform = Transform3D(0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, 0.5, 4.52816, 0.159056, 5.29193)
item_id = "rock_outside_2"
[node name="Rock3" parent="." index="7" instance=ExtResource("12_cxbia")]
transform = Transform3D(0.258819, 0, 0.965926, 0, 1, 0, -0.965926, 0, 0.258819, 4.82816, 0.159056, 5.69193)
item_id = "rock_outside_3"
[node name="Crate1" parent="." index="8" instance=ExtResource("13_mtgv7")]
transform = Transform3D(0.965926, 0, -0.258819, 0, 1, 0, 0.258819, 0, 0.965926, -6, 0.5, -8.6)
item_id = "crate_outside_1"
[node name="Crate2" parent="." index="9" instance=ExtResource("13_mtgv7")]
transform = Transform3D(0.996195, 0, 0.0871557, 0, 1, 0, -0.0871557, 0, 0.996195, -4.7, 0.5, -8.6)
item_id = "crate_outside_2"
[node name="Crate3" parent="." index="10" instance=ExtResource("13_mtgv7")]
transform = Transform3D(1, 0, -2.23517e-08, 0, 1, 0, 2.23517e-08, 0, 1, -5.4, 1.5, -8.6)
item_id = "crate_outside_3"
[node name="StorageBox" parent="." index="11" instance=ExtResource("13_galon")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, -9)
[node name="Toolbox" parent="." index="12" instance=ExtResource("14_68l3l")]
transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, 6, 0.117771, 4)
[node name="extinguisher_model" parent="World/extinguishers" index="0" instance=ExtResource("9_twjr1")]
transform = Transform3D(0.78, -3.754169e-09, 3.0033352e-08, 3.754169e-09, 0.78, -1.8770845e-09, -3.0033352e-08, 1.8770847e-09, 0.78, 0, 0, 0)
[editable path="XROrigin3D/LeftHand/CollisionHandLeft/LeftHand"]
[editable path="XROrigin3D/LeftHand/CollisionHandLeft/LeftHand/Hand_Nails_low_L"]

View File

@ -62,4 +62,5 @@ environment/defaults/default_environment="res://default_env.tres"
[xr]
openxr/enabled=true
openxr/default_action_map="uid://dsy7663pl3py3"
shaders/enabled=true