mirror of
https://github.com/godotengine/godot-demo-projects.git
synced 2025-12-16 13:30:07 +01:00
Fix hitboxes not matching physical appearance in Squash the Creeps (#1019)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://ha0ar5s2c3m4"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://ha0ar5s2c3m4"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mob.gd" id="1"]
|
||||
[ext_resource type="PackedScene" uid="uid://bicorb7we351t" path="res://art/mob.glb" id="2"]
|
||||
@@ -6,6 +6,9 @@
|
||||
[sub_resource type="BoxShape3D" id="1"]
|
||||
size = Vector3(1.35822, 1.08835, 2.20058)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vll1l"]
|
||||
size = Vector3(0.418579, 0.569824, 0.833984)
|
||||
|
||||
[sub_resource type="Animation" id="2"]
|
||||
length = 1.2
|
||||
tracks/0/type = "value"
|
||||
@@ -53,14 +56,30 @@ transform = Transform3D(1, 0, 0, 0, 0.996145, 0.0877225, 0, -0.0877225, 0.996145
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.52793, 0)
|
||||
shape = SubResource("1")
|
||||
|
||||
[node name="CollisionShape2" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.861631, 0.783785, 0.180726)
|
||||
shape = SubResource("BoxShape3D_vll1l")
|
||||
|
||||
[node name="CollisionShape3" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.889494, 0.783785, 0.180726)
|
||||
shape = SubResource("BoxShape3D_vll1l")
|
||||
|
||||
[node name="CollisionShape4" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.889494, 0.783785, 1.43697)
|
||||
shape = SubResource("BoxShape3D_vll1l")
|
||||
|
||||
[node name="CollisionShape5" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.887008, 0.783785, 1.43697)
|
||||
shape = SubResource("BoxShape3D_vll1l")
|
||||
|
||||
[node name="VisibleOnScreenNotifier3D" type="VisibleOnScreenNotifier3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.062134, 0.331645)
|
||||
aabb = AABB(-1.19986, 0.251327, -1.57098, 2.41047, 1.09305, 3.17223)
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
autoplay = "float"
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_5n6vs")
|
||||
}
|
||||
autoplay = "float"
|
||||
|
||||
[connection signal="screen_exited" from="VisibleOnScreenNotifier3D" to="." method="_on_visible_on_screen_notifier_screen_exited"]
|
||||
|
||||
@@ -27,7 +27,7 @@ func _physics_process(delta):
|
||||
# In the lines below, we turn the character when moving and make the animation play faster.
|
||||
direction = direction.normalized()
|
||||
# Setting the basis property will affect the rotation of the node.
|
||||
$Pivot.basis = Basis.looking_at(direction)
|
||||
basis = Basis.looking_at(direction)
|
||||
$AnimationPlayer.speed_scale = 4
|
||||
else:
|
||||
$AnimationPlayer.speed_scale = 1
|
||||
@@ -62,7 +62,7 @@ func _physics_process(delta):
|
||||
break
|
||||
|
||||
# This makes the character follow a nice arc when jumping
|
||||
$Pivot.rotation.x = PI / 6 * velocity.y / jump_impulse
|
||||
rotation.x = PI / 6 * velocity.y / jump_impulse
|
||||
|
||||
|
||||
func die():
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://dp478jyugrn7o"]
|
||||
[gd_scene load_steps=8 format=3 uid="uid://dp478jyugrn7o"]
|
||||
|
||||
[ext_resource type="Script" path="res://Player.gd" id="1"]
|
||||
[ext_resource type="PackedScene" uid="uid://d0ypm0v45pwdv" path="res://art/player.glb" id="2"]
|
||||
@@ -10,6 +10,10 @@ radius = 0.792278
|
||||
height = 0.1438
|
||||
radius = 0.907607
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_76fa1"]
|
||||
height = 0.144
|
||||
radius = 0.2
|
||||
|
||||
[sub_resource type="Animation" id="3"]
|
||||
length = 1.2
|
||||
tracks/0/type = "value"
|
||||
@@ -49,7 +53,7 @@ script = ExtResource("1")
|
||||
[node name="Pivot" type="Node3D" parent="."]
|
||||
|
||||
[node name="Character" parent="Pivot" instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.996145, 0.0877225, 0, -0.0877225, 0.996145, 0, 0.329753, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 0.984808, 0.173648, 0, -0.173648, 0.984808, 0, 0.349734, 0)
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.771765, 0)
|
||||
@@ -64,10 +68,26 @@ monitorable = false
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.06491, 0)
|
||||
shape = SubResource("2")
|
||||
|
||||
[node name="CollisionShape2" type="CollisionShape3D" parent="MobDetector"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.455268, 0.95, 1.1423)
|
||||
shape = SubResource("CylinderShape3D_76fa1")
|
||||
|
||||
[node name="CollisionShape3" type="CollisionShape3D" parent="MobDetector"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.716365, 0.95, 1.71889)
|
||||
shape = SubResource("CylinderShape3D_76fa1")
|
||||
|
||||
[node name="CollisionShape4" type="CollisionShape3D" parent="MobDetector"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.730546, 0.95, 1.69713)
|
||||
shape = SubResource("CylinderShape3D_76fa1")
|
||||
|
||||
[node name="CollisionShape5" type="CollisionShape3D" parent="MobDetector"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.45857, 0.95, 1.15318)
|
||||
shape = SubResource("CylinderShape3D_76fa1")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
autoplay = "float"
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_aq6tr")
|
||||
}
|
||||
autoplay = "float"
|
||||
|
||||
[connection signal="body_entered" from="MobDetector" to="." method="_on_MobDetector_body_entered"]
|
||||
|
||||
Reference in New Issue
Block a user