arrows are moving properly now
This commit is contained in:
@@ -78,15 +78,14 @@ margin = 0.0
|
|||||||
height = 1.77637
|
height = 1.77637
|
||||||
radius = 0.1
|
radius = 0.1
|
||||||
|
|
||||||
[node name="Arrow" type="RigidBody3D"]
|
[node name="Arrow" type="MeshInstance3D"]
|
||||||
collision_layer = 2
|
|
||||||
collision_mask = 7
|
|
||||||
continuous_cd = true
|
|
||||||
contact_monitor = true
|
|
||||||
script = ExtResource("1_c7yig")
|
script = ExtResource("1_c7yig")
|
||||||
|
|
||||||
|
[node name="LandDepth" type="Marker3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.31712)
|
||||||
|
|
||||||
[node name="Arrow" type="MeshInstance3D" parent="."]
|
[node name="Arrow" type="MeshInstance3D" parent="."]
|
||||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, -0.592316)
|
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, -1.57945)
|
||||||
mesh = SubResource("ArrayMesh_u78lm")
|
mesh = SubResource("ArrayMesh_u78lm")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
metadata/extras = {
|
metadata/extras = {
|
||||||
@@ -94,6 +93,11 @@ metadata/extras = {
|
|||||||
"poliigon_props": {}
|
"poliigon_props": {}
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
[node name="ArrowCollider" type="Area3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, -4.88765e-09, 0.111816)
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, -4.88765e-09, -0.875317)
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="ArrowCollider"]
|
||||||
shape = SubResource("CylinderShape3D_c7yig")
|
shape = SubResource("CylinderShape3D_c7yig")
|
||||||
|
|
||||||
|
[node name="HitRay" type="RayCast3D" parent="."]
|
||||||
|
target_position = Vector3(0, 0, -2)
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ _data = {
|
|||||||
radius = 2.5
|
radius = 2.5
|
||||||
|
|
||||||
[node name="Player" type="CharacterBody3D"]
|
[node name="Player" type="CharacterBody3D"]
|
||||||
collision_layer = 4
|
collision_layer = 20
|
||||||
collision_mask = 5
|
collision_mask = 5
|
||||||
script = ExtResource("1_5wxv7")
|
script = ExtResource("1_5wxv7")
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1,13 @@
|
|||||||
extends Projectile
|
extends Projectile
|
||||||
|
|
||||||
|
@onready var hit_ray: RayCast3D = $HitRay
|
||||||
|
@onready var land_depth: Marker3D = $LandDepth
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
|
||||||
|
if hit_ray.is_colliding():
|
||||||
|
var stick_point = hit_ray.get_collision_point()
|
||||||
|
if land_depth.global_position.distance_to(stick_point) > .2:
|
||||||
|
global_position += global_transform.basis * Vector3(0,0,-speed) * delta
|
||||||
|
else:
|
||||||
|
global_position += global_transform.basis * Vector3(0,0,-speed) * delta
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
extends RigidBody3D
|
extends Node3D
|
||||||
class_name Projectile
|
class_name Projectile
|
||||||
|
|
||||||
var damage
|
var damage
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ func Physics_Update(delta):
|
|||||||
|
|
||||||
func fire_projectile():
|
func fire_projectile():
|
||||||
var arrow_spawn = fired_object.instantiate()
|
var arrow_spawn = fired_object.instantiate()
|
||||||
arrow_spawn.speed = object_speed
|
|
||||||
get_tree().current_scene.add_child(arrow_spawn)
|
get_tree().current_scene.add_child(arrow_spawn)
|
||||||
|
arrow_spawn.speed = object_speed
|
||||||
arrow_spawn.transform.basis = character.body.global_transform.basis
|
arrow_spawn.transform.basis = character.body.global_transform.basis
|
||||||
arrow_spawn.global_position = character.body.global_position
|
arrow_spawn.global_position = character.body.global_position
|
||||||
arrow_spawn.linear_velocity += character.body.global_transform.basis * Vector3(0,0,-object_speed)
|
print("ARROW POS :", arrow_spawn.global_position)
|
||||||
|
|||||||
Reference in New Issue
Block a user