fix: player crouching on leaving bed. fix: errors in linerenderer due to zero magnitude axis.
This commit is contained in:
parent
e0c87d6905
commit
fa5574128d
|
|
@ -159,6 +159,8 @@ func corner(surface: SurfaceTool, center:Vector3, start:Vector3, end:Vector3, ca
|
||||||
var angle:float = offset.angle_to(end - center)
|
var angle:float = offset.angle_to(end - center)
|
||||||
|
|
||||||
for i in range(1, cap_resolution):
|
for i in range(1, cap_resolution):
|
||||||
|
if (axis.length() < 0.1): continue #catch null vectors
|
||||||
|
axis = axis.normalized()
|
||||||
vertex_array[i] = center + offset.rotated(axis, lerp(0.0, angle, float(i) / cap_resolution));
|
vertex_array[i] = center + offset.rotated(axis, lerp(0.0, angle, float(i) / cap_resolution));
|
||||||
|
|
||||||
for i in range(1, cap_resolution + 1):
|
for i in range(1, cap_resolution + 1):
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
extends AnimatableBody3D
|
extends AnimatableBody3D
|
||||||
|
|
||||||
var start_position:Vector3 = position
|
@onready var start_position:Vector3 = position
|
||||||
var risen:bool = false
|
var risen:bool = false
|
||||||
var raiser : Tween
|
var raiser : Tween
|
||||||
|
|
||||||
|
|
@ -9,8 +9,6 @@ func raise(body) -> void:
|
||||||
push_warning("Unexpected body in raiser trigger", body)
|
push_warning("Unexpected body in raiser trigger", body)
|
||||||
return
|
return
|
||||||
|
|
||||||
body.crouched = true
|
|
||||||
|
|
||||||
if risen:
|
if risen:
|
||||||
position = start_position
|
position = start_position
|
||||||
|
|
||||||
|
|
@ -18,7 +16,7 @@ func raise(body) -> void:
|
||||||
raiser.kill()
|
raiser.kill()
|
||||||
|
|
||||||
raiser = create_tween()
|
raiser = create_tween()
|
||||||
raiser.tween_property(self, "position", position + Vector3(0,1.1,0), 1)
|
raiser.tween_property(self, "position", start_position + Vector3(0,1.1,0), 1)
|
||||||
risen = true
|
risen = true
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@ size = Vector3(0.851473, 0.8852539, 0.428864)
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_f1g8m"]
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_f1g8m"]
|
||||||
radius = 0.156739
|
radius = 0.156739
|
||||||
height = 1.0
|
height = 1.527832
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kewqg"]
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kewqg"]
|
||||||
radius = 0.787239
|
radius = 0.787239
|
||||||
|
|
@ -1516,7 +1516,6 @@ script = ExtResource("1_aitp0")
|
||||||
|
|
||||||
[node name="PlayerController" parent="logic" groups=["camera_owner"] instance=ExtResource("3_foj4y")]
|
[node name="PlayerController" parent="logic" groups=["camera_owner"] instance=ExtResource("3_foj4y")]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
process_mode = 4
|
|
||||||
transform = Transform3D(0.686123, 0, 0.727485, 0, 1, 0, -0.727485, 0, 0.686123, 0.63, 0, 0.925)
|
transform = Transform3D(0.686123, 0, 0.727485, 0, 1, 0, -0.727485, 0, 0.686123, 0.63, 0, 0.925)
|
||||||
|
|
||||||
[node name="Collision" type="Node3D" parent="logic"]
|
[node name="Collision" type="Node3D" parent="logic"]
|
||||||
|
|
@ -1621,11 +1620,13 @@ shape = SubResource("BoxShape3D_ychlh")
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.84538, 0, 0.803611)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.84538, 0, 0.803611)
|
||||||
|
|
||||||
[node name="ladder_trigger" type="Area3D" parent="logic/Bed and Ladders"]
|
[node name="ladder_trigger" type="Area3D" parent="logic/Bed and Ladders"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3045067, 0)
|
||||||
collision_layer = 2
|
collision_layer = 2
|
||||||
collision_mask = 2
|
collision_mask = 2
|
||||||
|
script = ExtResource("3_x3dlb")
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="logic/Bed and Ladders/ladder_trigger"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="logic/Bed and Ladders/ladder_trigger"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.170028, 0.244833, -0.0455775)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.17002809, 0.508749, -0.045577526)
|
||||||
shape = SubResource("CapsuleShape3D_f1g8m")
|
shape = SubResource("CapsuleShape3D_f1g8m")
|
||||||
|
|
||||||
[node name="bed_duck" type="Area3D" parent="logic/Bed and Ladders"]
|
[node name="bed_duck" type="Area3D" parent="logic/Bed and Ladders"]
|
||||||
|
|
@ -1634,7 +1635,7 @@ collision_mask = 2
|
||||||
script = ExtResource("3_x3dlb")
|
script = ExtResource("3_x3dlb")
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="logic/Bed and Ladders/bed_duck"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="logic/Bed and Ladders/bed_duck"]
|
||||||
transform = Transform3D(0.995341, 0.096419, 0, 4.21461e-09, -4.35077e-08, -1, -0.096419, 0.995341, -4.37114e-08, 0.916567, 1.64525, -1.14479)
|
transform = Transform3D(0.995341, 0.096419, 0, 4.21461e-09, -4.35077e-08, -1, -0.096419, 0.995341, -4.37114e-08, 0.9784893, 1.2551697, -1.14479)
|
||||||
shape = SubResource("CapsuleShape3D_kewqg")
|
shape = SubResource("CapsuleShape3D_kewqg")
|
||||||
|
|
||||||
[node name="bed_enter" type="Area3D" parent="logic/Bed and Ladders"]
|
[node name="bed_enter" type="Area3D" parent="logic/Bed and Ladders"]
|
||||||
|
|
@ -2158,6 +2159,7 @@ data = ExtResource("40_ea6x8")
|
||||||
[connection signal="ui_exited" from="logic/PlayerController" to="SceneUI" method="hide"]
|
[connection signal="ui_exited" from="logic/PlayerController" to="SceneUI" method="hide"]
|
||||||
[connection signal="body_entered" from="logic/Bed and Ladders/ladder_trigger" to="logic/PlayerController" method="_on_bed_enter"]
|
[connection signal="body_entered" from="logic/Bed and Ladders/ladder_trigger" to="logic/PlayerController" method="_on_bed_enter"]
|
||||||
[connection signal="body_entered" from="logic/Bed and Ladders/ladder_trigger" to="logic/Bed and Ladders/ladder" method="raise"]
|
[connection signal="body_entered" from="logic/Bed and Ladders/ladder_trigger" to="logic/Bed and Ladders/ladder" method="raise"]
|
||||||
|
[connection signal="body_exited" from="logic/Bed and Ladders/ladder_trigger" to="logic/Bed and Ladders/ladder" method="reset"]
|
||||||
[connection signal="body_exited" from="logic/Bed and Ladders/bed_duck" to="logic/Bed and Ladders/ladder" method="reset"]
|
[connection signal="body_exited" from="logic/Bed and Ladders/bed_duck" to="logic/Bed and Ladders/ladder" method="reset"]
|
||||||
[connection signal="body_entered" from="logic/Bed and Ladders/bed_enter" to="logic/PlayerController" method="_on_bed_enter"]
|
[connection signal="body_entered" from="logic/Bed and Ladders/bed_enter" to="logic/PlayerController" method="_on_bed_enter"]
|
||||||
[connection signal="body_exited" from="logic/Bed and Ladders/reset_failover" to="logic/PlayerController" method="_on_bed_exit"]
|
[connection signal="body_exited" from="logic/Bed and Ladders/reset_failover" to="logic/PlayerController" method="_on_bed_exit"]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue