Fixed rocket movement - now collides with players, not with level though
parent
059eaeda25
commit
2383bb4b79
|
@ -1,4 +1,4 @@
|
||||||
extends AnimatableBody3D
|
extends Node3D
|
||||||
|
|
||||||
@export var hit_effect_scene : PackedScene
|
@export var hit_effect_scene : PackedScene
|
||||||
|
|
||||||
|
@ -11,13 +11,26 @@ extends AnimatableBody3D
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready():
|
func _ready():
|
||||||
constant_linear_velocity = Vector3.FORWARD * speed
|
|
||||||
$OmniLight3D/Smoke.emitting = true
|
$OmniLight3D/Smoke.emitting = true
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
#constant_linear_velocity = Vector3(1, 0, 0)
|
#constant_linear_velocity = Vector3(1, 0, 0)
|
||||||
move_and_collide(global_transform.basis[0]*Vector3.FORWARD * speed)
|
translate_object_local(Vector3.FORWARD * speed * delta)
|
||||||
|
|
||||||
|
# move_and_collide(global_transform.basis.x * Vector3.FORWARD * speed)
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
#func _process(delta):
|
#func _process(delta):
|
||||||
# pass
|
# pass
|
||||||
|
|
||||||
|
func hit():
|
||||||
|
var hit_effect = hit_effect_scene.instantiate()
|
||||||
|
hit_effect.global_transform = global_transform
|
||||||
|
get_tree().root.add_child(hit_effect)
|
||||||
|
queue_free()
|
||||||
|
|
||||||
|
func _on_Area3D_body_entered(body):
|
||||||
|
hit()
|
||||||
|
|
||||||
|
func _on_Area3D_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
|
||||||
|
hit()
|
||||||
|
|
|
@ -62,18 +62,20 @@ proximity_fade_enable = true
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_gkbg3"]
|
[sub_resource type="QuadMesh" id="QuadMesh_gkbg3"]
|
||||||
material = SubResource( "StandardMaterial3D_eernl" )
|
material = SubResource( "StandardMaterial3D_eernl" )
|
||||||
|
|
||||||
[node name="Rocket" type="AnimatableBody3D"]
|
[node name="Rocket" type="Node3D"]
|
||||||
collision_layer = 3
|
|
||||||
collision_mask = 3
|
|
||||||
sync_to_physics = false
|
|
||||||
script = ExtResource( "1_3ywpo" )
|
script = ExtResource( "1_3ywpo" )
|
||||||
hit_effect_scene = ExtResource( "2_1tben" )
|
hit_effect_scene = ExtResource( "2_1tben" )
|
||||||
speed = 15.0
|
speed = 25.0
|
||||||
|
|
||||||
[node name="Rocket" parent="." instance=ExtResource( "3_wqrr6" )]
|
[node name="Rocket" parent="." instance=ExtResource( "3_wqrr6" )]
|
||||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0)
|
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0)
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
[node name="Area3D" type="Area3D" parent="."]
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 11
|
||||||
|
monitorable = false
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
|
||||||
transform = Transform3D(0, 4.37114e-08, -1, 1, 0, 0, 0, -1, -4.37114e-08, 0, 0, 0)
|
transform = Transform3D(0, 4.37114e-08, -1, 1, 0, 0, 0, -1, -4.37114e-08, 0, 0, 0)
|
||||||
shape = SubResource( "CapsuleShape3D_qjk68" )
|
shape = SubResource( "CapsuleShape3D_qjk68" )
|
||||||
|
|
||||||
|
@ -94,3 +96,6 @@ local_coords = false
|
||||||
trail_length_secs = 0.72
|
trail_length_secs = 0.72
|
||||||
process_material = SubResource( "ParticlesMaterial_ckuul" )
|
process_material = SubResource( "ParticlesMaterial_ckuul" )
|
||||||
draw_pass_1 = SubResource( "QuadMesh_gkbg3" )
|
draw_pass_1 = SubResource( "QuadMesh_gkbg3" )
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="Area3D" to="." method="_on_Area3D_body_entered"]
|
||||||
|
[connection signal="body_shape_entered" from="Area3D" to="." method="_on_Area3D_body_shape_entered"]
|
||||||
|
|
Reference in New Issue