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

View File

@@ -85,7 +85,7 @@ mesh = SubResource("ArrayMesh_gi7r4")
skeleton = NodePath("")
[node name="RayCast3D" type="RayCast3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.70846, 0.000340699, 0.0133128, 2.00575)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.70846, 0.000340699, 0.0133128, 0.723808)
target_position = Vector3(0, 0, -2.5)
collision_mask = 3
hit_from_inside = true

File diff suppressed because one or more lines are too long

644
scenes/tesC19A.tmp Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=51 format=3 uid="uid://dyop6vk3rgkkb"]
[gd_scene load_steps=52 format=3 uid="uid://dyop6vk3rgkkb"]
[ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_orhgl"]
[ext_resource type="Texture2D" uid="uid://dqs06ic3vjtwk" path="res://assets/Models/asphalt1.albedo.jpg" id="1_w4rag"]
@@ -10,6 +10,7 @@
[ext_resource type="AudioStream" uid="uid://jo4n05go5hdt" path="res://assets/Audio/train-pass-by-steady-loop-SBA-300156766.wav" id="7_00j8j"]
[ext_resource type="PackedScene" uid="uid://cnfc8rtk6l1d8" path="res://assets/crate1.tscn" id="8_b57j8"]
[ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spider2.tscn" id="12_12jy2"]
[ext_resource type="Script" path="res://scripts/EnemyHivemind1.gd" id="12_cl6n5"]
[ext_resource type="PackedScene" uid="uid://c7vrpfdh603kr" path="res://assets/bottle_1.tscn" id="15_3iv0j"]
[ext_resource type="PackedScene" uid="uid://c6bpysq1tjhy4" path="res://vendingmahcine.tscn" id="16_4ykdi"]
@@ -427,7 +428,7 @@ weapon_sway_amount = 0.07
weapon_rotation_amount = 0.07
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(-0.387515, 0.144211, -0.910514, 0, 0.987688, 0.156434, 0.921863, 0.0606207, -0.382744, 0, 0, 0)
transform = Transform3D(-0.387515, 0.144211, -0.910514, -0.308043, 0.910659, 0.275337, 0.868874, 0.387175, -0.308471, 0, 0, 0)
shadow_enabled = true
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
@@ -612,38 +613,50 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.69462, 1.16757, 11.2398)
[node name="vendingmahcine" parent="." instance=ExtResource("16_4ykdi")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.992526, 41.9909, -2.56906)
[node name="spider" parent="." instance=ExtResource("12_12jy2")]
[node name="EnemyHivemind1" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.83258, -0.228641, 21.6357)
player_path = NodePath("../Player")
script = ExtResource("12_cl6n5")
[node name="spider2" parent="." instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.0749, -0.228642, 25.7959)
player_path = NodePath("../Player")
[node name="spider" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")]
health = 3
number_of_drops = 3
SPEED = 3.0
player_path = NodePath("../../Player")
random_spread_amt = 0.01
bullet_damage = 1
turret_look_speed = 6
[node name="spider3" parent="." instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.65138, -0.228642, 26.5598)
player_path = NodePath("../Player")
[node name="spider2" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.86321, 0, 0.844511)
health = 3
number_of_drops = 3
SPEED = 3.0
player_path = NodePath("../../Player")
random_spread_amt = 0.01
bullet_damage = 1
turret_look_speed = 6
[node name="spider4" parent="." instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.47339, -0.228641, 21.9316)
player_path = NodePath("../Player")
[node name="spider3" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.57471, 0, 5.44732)
health = 3
number_of_drops = 3
SPEED = 3.0
player_path = NodePath("../../Player")
random_spread_amt = 0.01
bullet_damage = 1
turret_look_speed = 6
[node name="spider5" parent="." instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.23107, -0.228642, 26.0918)
player_path = NodePath("../Player")
[node name="spider4" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.67493, 0, -1.22724)
player_path = NodePath("../../Player")
bullet_damage = 1
[node name="spider6" parent="." instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.65459, -0.228642, 26.8557)
player_path = NodePath("../Player")
[node name="spider5" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.53813, 0, -0.382725)
player_path = NodePath("../../Player")
bullet_damage = 1
[node name="spider7" parent="." instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27.6354, -0.228641, 19.2928)
player_path = NodePath("../Player")
[node name="spider8" parent="." instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.8777, -0.228642, 23.453)
player_path = NodePath("../Player")
[node name="spider9" parent="." instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27.4542, -0.228642, 24.2169)
player_path = NodePath("../Player")
[node name="spider6" parent="EnemyHivemind1" instance=ExtResource("12_12jy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.24964, 0, 4.22008)
player_path = NodePath("../../Player")
bullet_damage = 1

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()