goodbye collisions

This commit is contained in:
2023-09-07 20:03:22 -07:00
parent 4b840bbe7f
commit 833ad3209e
37 changed files with 410 additions and 299 deletions

View File

@@ -1,20 +1,23 @@
[gd_scene load_steps=5 format=3 uid="uid://rlxnnw4yay7e"]
[gd_scene load_steps=6 format=3 uid="uid://rlxnnw4yay7e"]
[ext_resource type="Script" path="res://Enemies/Attacks/EnemyBullet.cs" id="1_rv13r"]
[ext_resource type="Texture2D" uid="uid://dd71tdgrgic46" path="res://Textures/Projectiles/LB ORB.png" id="2_6l2aj"]
[ext_resource type="AudioStream" uid="uid://cfj82os5p8i4p" path="res://Audio/SFX/shooting.wav" id="2_q6wdf"]
[ext_resource type="AudioStream" uid="uid://cat08h84wm5gm" path="res://Audio/SFX/ominous.wav" id="3_ov77l"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_e4v7f"]
height = 8.99869
radius = 0.4
radius = 0.154574
[node name="TestBullet" type="Node3D"]
[node name="TestBullet" type="Node3D" node_paths=PackedStringArray("_hitBox")]
script = ExtResource("1_rv13r")
Cooldown = 3.0
_soundEffect = ExtResource("2_q6wdf")
_onHitSfx = ExtResource("3_ov77l")
_hitBox = NodePath("RigidBody3D")
[node name="RigidBody3D" type="RigidBody3D" parent="."]
collision_layer = 4
collision_layer = 0
collision_mask = 0
gravity_scale = 0.0
custom_integrator = true
@@ -38,3 +41,5 @@ texture = ExtResource("2_6l2aj")
process_callback = 0
wait_time = 0.8
autostart = true
[connection signal="body_entered" from="RigidBody3D" to="." method="OnProjectileHit"]

View File

@@ -1181,8 +1181,8 @@ script = ExtResource("1_50och")
[node name="CharacterBody3D" type="CharacterBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.251952, 0)
collision_layer = 4096
collision_mask = 2
collision_layer = 65535
collision_mask = 3
axis_lock_angular_x = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody3D"]
@@ -1192,7 +1192,7 @@ shape = SubResource("BoxShape3D_1nq5h")
[node name="meleeenemy - Updated" type="Node3D" parent="CharacterBody3D"]
[node name="Area3D" type="Area3D" parent="CharacterBody3D"]
collision_layer = 0
collision_layer = 256
collision_mask = 2
[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody3D/Area3D"]
@@ -1257,5 +1257,3 @@ transform = Transform3D(0.404405, 0, 0, 0, 0.404405, 0, 0, 0, 0.404405, 0.069068
libraries = {
"": SubResource("AnimationLibrary_ivhl3")
}
[connection signal="body_entered" from="CharacterBody3D/Area3D" to="." method="OnEnemyHit"]

View File

@@ -890,177 +890,178 @@ _surfaces = [{
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_j7wsk")
[node name="RangedEnemy" type="CharacterBody3D" groups=["Enemy"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.532091, 0)
collision_layer = 4096
collision_mask = 2
[node name="RangedEnemy" type="Node3D"]
script = ExtResource("1_01lvj")
[node name="Timer" type="Timer" parent="." node_paths=PackedStringArray("_enemy")]
[node name="CharacterBody" type="CharacterBody3D" parent="." groups=["Enemy"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.257979, 0)
collision_layer = 0
collision_mask = 0
[node name="Timer" type="Timer" parent="CharacterBody" node_paths=PackedStringArray("_enemy")]
wait_time = 3.0
autostart = true
script = ExtResource("3_qt2md")
_enemy = NodePath("../Area3D")
_fireProjectile = ExtResource("3_qenx3")
[node name="Area3D" type="Area3D" parent="."]
[node name="Area3D" type="Area3D" parent="CharacterBody"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.113206, 0.857215, 0)
collision_layer = 4096
collision_mask = 2
collision_layer = 0
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody/Area3D"]
shape = SubResource("BoxShape3D_dm3u7")
[node name="ranged enemy" type="Node3D" parent="Area3D"]
[node name="ranged enemy" type="Node3D" parent="CharacterBody/Area3D"]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -0.113206, -0.357215, 0)
[node name="Cube" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_q32da")
skeleton = NodePath("")
[node name="Plane" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Plane" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(-0.0100222, 0.0018531, -0.000882675, 1.93522e-05, -0.00431383, -0.00927625, -0.00205249, -0.00908929, 0.00422261, -0.303114, 0.427881, 0.058823)
cast_shadow = 0
mesh = SubResource("ArrayMesh_u3ad8")
skeleton = NodePath("")
[node name="Cube001" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube001" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.315871, -0.0694096, -0.000752944, 0.0682386, 0.311148, -0.0558839, 0.0127182, 0.0544227, 0.318542, -0.0773843, 0.835929, -0.0333594)
cast_shadow = 0
mesh = SubResource("ArrayMesh_rm34g")
skeleton = NodePath("")
[node name="Cube002" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube002" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.313807, -0.0597582, 0.0504638, 0.0682386, 0.311148, -0.0558839, -0.0382248, 0.0648728, 0.31452, -0.0636578, 0.633983, -0.0944303)
cast_shadow = 0
mesh = SubResource("ArrayMesh_0bt4x")
skeleton = NodePath("")
[node name="Cube003" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube003" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.313807, -0.0597582, 0.0504638, 0.0682386, 0.311148, -0.0558839, -0.0382248, 0.0648728, 0.31452, -0.0655749, 0.637828, -0.0946047)
cast_shadow = 0
mesh = SubResource("ArrayMesh_8yxbn")
skeleton = NodePath("")
[node name="Cube004" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube004" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.313807, -0.0597582, 0.0504638, 0.0682386, 0.311148, -0.0558839, -0.0382248, 0.0648728, 0.31452, -0.0655749, 0.637828, -0.0946047)
cast_shadow = 0
mesh = SubResource("ArrayMesh_15lqi")
skeleton = NodePath("")
[node name="Cube005" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube005" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.305187, -0.0854223, 0.0644708, 0.0815859, 0.311789, 0.0269073, -0.0692616, -0.00912739, 0.315772, -0.0531487, 0.661378, -0.0700054)
cast_shadow = 0
mesh = SubResource("ArrayMesh_mpb1j")
skeleton = NodePath("")
[node name="Cube006" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube006" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.313807, -0.0597582, 0.0504638, 0.0682386, 0.311148, -0.0558839, -0.0382248, 0.0648728, 0.31452, -0.0655749, 0.637828, -0.0946047)
cast_shadow = 0
mesh = SubResource("ArrayMesh_mcinf")
skeleton = NodePath("")
[node name="Cube008" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube008" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_pmc1t")
skeleton = NodePath("")
[node name="Cube009" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube009" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.313807, -0.0597582, 0.0504638, 0.0682386, 0.311148, -0.0558839, -0.0382248, 0.0648728, 0.31452, -0.0684862, 0.799624, -0.0750265)
cast_shadow = 0
mesh = SubResource("ArrayMesh_gtkhd")
skeleton = NodePath("")
[node name="Cube010" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube010" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_trp2a")
skeleton = NodePath("")
[node name="Cube012" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube012" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_25adi")
skeleton = NodePath("")
[node name="Cube014" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube014" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.386719, -0.0654828, -0.0060564, 0.0657464, 0.385777, 0.0270154, 0.00144638, -0.0276482, 0.391293, -0.352872, 0.654756, -0.0707455)
cast_shadow = 0
mesh = SubResource("ArrayMesh_u67jf")
skeleton = NodePath("")
[node name="Cube019" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube019" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_ariha")
skeleton = NodePath("")
[node name="Cube020" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube020" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_xyipj")
skeleton = NodePath("")
[node name="Cube021" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube021" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_jo33y")
skeleton = NodePath("")
[node name="Cube022" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube022" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_7kmmw")
skeleton = NodePath("")
[node name="Cube026" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube026" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_vfj0q")
skeleton = NodePath("")
[node name="Circle" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Circle" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(-0.0166754, -0.00145308, 0.00157151, -0.00158678, 0.000108831, -0.0167367, 0.00143639, -0.0167489, -0.000245091, -0.0910357, 0.761053, 0.00444521)
cast_shadow = 0
mesh = SubResource("ArrayMesh_rlqqm")
skeleton = NodePath("")
[node name="Circle001" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Circle001" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.0164801, 0.00292982, 0.00157151, 0.001504, 0.000517407, -0.0167367, 0.00296504, -0.0165468, -0.000245089, -0.0447078, 0.770397, 0.00533548)
cast_shadow = 0
mesh = SubResource("ArrayMesh_sjkuu")
skeleton = NodePath("")
[node name="Cube007" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube007" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_ad76t")
skeleton = NodePath("")
[node name="Cube011" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube011" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_dcy7l")
skeleton = NodePath("")
[node name="Cube013" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube013" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_tup6f")
skeleton = NodePath("")
[node name="Cube015" type="MeshInstance3D" parent="Area3D/ranged enemy"]
[node name="Cube015" type="MeshInstance3D" parent="CharacterBody/Area3D/ranged enemy"]
transform = Transform3D(0.323408, 0, 0, 0, 0.323408, 0, 0, 0, 0.323408, -0.0862004, 0.632917, -0.0732053)
cast_shadow = 0
mesh = SubResource("ArrayMesh_lu7e3")
skeleton = NodePath("")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0714533, 0.795379, 0.0138905)
shape = SubResource("BoxShape3D_dm3u7")
[connection signal="timeout" from="Timer" to="Timer" method="OnFireAtPlayer"]
[connection signal="body_entered" from="Area3D" to="." method="OnEnemyHit"]
[connection signal="timeout" from="CharacterBody/Timer" to="CharacterBody/Timer" method="OnFireAtPlayer"]

View File

@@ -10,7 +10,7 @@ public partial class RangedEnemy : BasicEnemy
{
var convertedPlayers = players.Select(x => (Node3D)x);
var target = convertedPlayers.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault();
var hitBox = GetChildren().OfType<Area3D>().Single();
var hitBox = GetNode<CharacterBody3D>("CharacterBody").GetChildren().OfType<Area3D>().Single();
hitBox.LookAt(target.Position, Vector3.Up);
hitBox.Rotation = new Vector3(0, hitBox.Rotation.Y, hitBox.Rotation.Z);
}