fixed spider body rotation

This commit is contained in:
derek
2024-07-19 14:35:50 -05:00
parent ae3437bb1b
commit 6112cec61d
7 changed files with 726 additions and 42 deletions

13
scripts/EnemyHivemind1.gd Normal file
View File

@@ -0,0 +1,13 @@
extends Node3D
var minions = []
# Called when the node enters the scene tree for the first time.
func _ready():
minions = self.get_children()
print(minions)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass

View File

@@ -34,6 +34,7 @@ func _ready():
rotation += Vector3(av_x,av_y,av_z)
timer.start()
visible = false
ray.target_position.z *= (bullet_speed/150)
# Called every frame. 'delta' is the elapsed time since the previous frame.

View File

@@ -15,7 +15,7 @@ const MAX_AV = 10
@export var bullet_drop = .1
@export var random_spread_amt = .01
@export var bullet_damage = 1
@export var turret_look_speed = 5
@export var turret_look_speed = 6
@onready var nav_agent = $NavigationAgent3D
@onready var target = $body/target
@@ -46,6 +46,7 @@ var rng = RandomNumberGenerator.new()
var rand_select
var rand_item
var body_look_to
var distance_to_player
func _ready():
player = get_node(player_path)
@@ -65,14 +66,17 @@ func _process(delta):
velocity = (next_nav_point - global_transform.origin).normalized() * SPEED
#FIX BODY ROTATION
#spider_look_next.look_at(Vector3(player.global_position.x, global_position.y, player.global_position.z), Vector3.UP)
#body.rotation = lerp(body.rotation, spider_look_next.rotation.y, delta * 1)
spider_look_next.look_at(Vector3(player.global_position.x, 0, player.global_position.z), Vector3.UP)
body.rotation.y = lerp(body.rotation.y, spider_look_next.rotation.y, delta * 1)
turret_look_next.look_at(player.global_position,Vector3.UP)
turret_look.rotation = lerp(turret_look.rotation,turret_look_next.rotation,delta * turret_look_speed)
distance_to_player = abs(self.global_position - player.global_position)
move_and_slide()
if distance_to_player.x > 4 or distance_to_player.z > 4:
move_and_slide()
func _on_area_3d_body_part_hit(dam,bullet_damage):
@@ -83,7 +87,7 @@ func _on_area_3d_body_part_hit(dam,bullet_damage):
particlespawn = die_particles.instantiate()
particlespawn.position = self.global_position
particlespawn.transform.basis = self.global_transform.basis
get_parent().add_child(particlespawn)
get_tree().get_root().add_child(particlespawn)
#pickup drop
while number_of_drops > 0:
@@ -108,7 +112,7 @@ func _on_area_3d_body_part_hit(dam,bullet_damage):
rand_item.transform.basis = self.global_transform.basis
rand_item.linear_velocity += self.global_transform.basis * Vector3(lv_x,lv_y,lv_z)
rand_item.angular_velocity += self.global_transform.basis * Vector3(av_x,av_y,av_z)
get_parent().add_child(rand_item)
get_tree().get_root().add_child(rand_item)
number_of_drops -= 1
queue_free()