Fixed rocket movement - now collides with players, not with level though

feature-rocketlauncher
unfa 2021-12-31 22:55:44 +01:00
parent 059eaeda25
commit 2383bb4b79
2 changed files with 27 additions and 9 deletions

View File

@ -1,4 +1,4 @@
extends AnimatableBody3D
extends Node3D
@export var hit_effect_scene : PackedScene
@ -11,13 +11,26 @@ extends AnimatableBody3D
# Called when the node enters the scene tree for the first time.
func _ready():
constant_linear_velocity = Vector3.FORWARD * speed
$OmniLight3D/Smoke.emitting = true
func _physics_process(delta):
#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.
#func _process(delta):
# 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()

View File

@ -62,18 +62,20 @@ proximity_fade_enable = true
[sub_resource type="QuadMesh" id="QuadMesh_gkbg3"]
material = SubResource( "StandardMaterial3D_eernl" )
[node name="Rocket" type="AnimatableBody3D"]
collision_layer = 3
collision_mask = 3
sync_to_physics = false
[node name="Rocket" type="Node3D"]
script = ExtResource( "1_3ywpo" )
hit_effect_scene = ExtResource( "2_1tben" )
speed = 15.0
speed = 25.0
[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)
[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)
shape = SubResource( "CapsuleShape3D_qjk68" )
@ -94,3 +96,6 @@ local_coords = false
trail_length_secs = 0.72
process_material = SubResource( "ParticlesMaterial_ckuul" )
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"]