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)
|
||||
|
||||
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));
|
||||
|
||||
for i in range(1, cap_resolution + 1):
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
extends AnimatableBody3D
|
||||
|
||||
var start_position:Vector3 = position
|
||||
@onready var start_position:Vector3 = position
|
||||
var risen:bool = false
|
||||
var raiser : Tween
|
||||
|
||||
|
|
@ -9,8 +9,6 @@ func raise(body) -> void:
|
|||
push_warning("Unexpected body in raiser trigger", body)
|
||||
return
|
||||
|
||||
body.crouched = true
|
||||
|
||||
if risen:
|
||||
position = start_position
|
||||
|
||||
|
|
@ -18,7 +16,7 @@ func raise(body) -> void:
|
|||
raiser.kill()
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ size = Vector3(0.851473, 0.8852539, 0.428864)
|
|||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_f1g8m"]
|
||||
radius = 0.156739
|
||||
height = 1.0
|
||||
height = 1.527832
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kewqg"]
|
||||
radius = 0.787239
|
||||
|
|
@ -1516,7 +1516,6 @@ script = ExtResource("1_aitp0")
|
|||
|
||||
[node name="PlayerController" parent="logic" groups=["camera_owner"] instance=ExtResource("3_foj4y")]
|
||||
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)
|
||||
|
||||
[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)
|
||||
|
||||
[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_mask = 2
|
||||
script = ExtResource("3_x3dlb")
|
||||
|
||||
[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")
|
||||
|
||||
[node name="bed_duck" type="Area3D" parent="logic/Bed and Ladders"]
|
||||
|
|
@ -1634,7 +1635,7 @@ collision_mask = 2
|
|||
script = ExtResource("3_x3dlb")
|
||||
|
||||
[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")
|
||||
|
||||
[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="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_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_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"]
|
||||
|
|
|
|||
Loading…
Reference in New Issue