blergh
This commit is contained in:
9
enemies/EnemyWeaponSlot.tscn
Normal file
9
enemies/EnemyWeaponSlot.tscn
Normal file
@@ -0,0 +1,9 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://b7mq56myq16y6"]
|
||||
|
||||
[ext_resource type="Script" path="res://enemies/enemy_weapon_slot.gd" id="1_aqycl"]
|
||||
|
||||
[node name="EnemyWeaponSlot" type="Node3D"]
|
||||
script = ExtResource("1_aqycl")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
bus = &"SFX"
|
||||
43
enemies/barricade.tscn
Normal file
43
enemies/barricade.tscn
Normal file
@@ -0,0 +1,43 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://c4548r0io7hiy"]
|
||||
|
||||
[ext_resource type="Material" uid="uid://dajephuqpori" path="res://level/protomaterial.tres" id="1_xq305"]
|
||||
[ext_resource type="PackedScene" uid="uid://cilj11mx2ahb1" path="res://enemies/enemy_hit_box.tscn" id="2_5uygx"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2p86lb72dp61" path="res://components/healthcomponent.tscn" id="3_a8b3n"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_cq42u"]
|
||||
material = ExtResource("1_xq305")
|
||||
size = Vector3(2, 2, 3)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_xnh82"]
|
||||
size = Vector3(2, 2, 3)
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_mxspy"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_qy558"]
|
||||
size = Vector3(2, 2, 3)
|
||||
|
||||
[node name="Barricade" type="CharacterBody3D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 7
|
||||
collision_priority = 10.0
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
mesh = SubResource("BoxMesh_cq42u")
|
||||
|
||||
[node name="EnemyHitBox" parent="." node_paths=PackedStringArray("health_component") instance=ExtResource("2_5uygx")]
|
||||
health_component = NodePath("../Healthcomponent")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="EnemyHitBox"]
|
||||
shape = SubResource("BoxShape3D_xnh82")
|
||||
|
||||
[node name="Healthcomponent" parent="." instance=ExtResource("3_a8b3n")]
|
||||
max_health = 30.0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Healthcomponent"]
|
||||
shape = SubResource("SphereShape3D_mxspy")
|
||||
disabled = true
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("BoxShape3D_qy558")
|
||||
|
||||
[connection signal="start_dying" from="Healthcomponent" to="." method="queue_free"]
|
||||
17
enemies/enemy_animation_handler.gd
Normal file
17
enemies/enemy_animation_handler.gd
Normal file
@@ -0,0 +1,17 @@
|
||||
extends Node3D
|
||||
|
||||
@export var animation_tree: AnimationTree
|
||||
@onready var parent: CharacterBody3D = $".."
|
||||
@onready var animation_player: AnimationPlayer = $"../AnimationPlayer"
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if parent.velocity.length() <= .1:
|
||||
#animation_tree.set("parameters/attack/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)
|
||||
animation_tree.set("parameters/idle_walk_blend/blend_amount", 1)
|
||||
else:
|
||||
animation_tree.set("parameters/idle_walk_blend/blend_amount", -1)
|
||||
|
||||
func dying():
|
||||
animation_tree.active = false
|
||||
animation_player.speed_scale = randf_range(.8,1.2)
|
||||
animation_player.play("custom/death")
|
||||
3
enemies/enemy_animation_handler.tscn
Normal file
3
enemies/enemy_animation_handler.tscn
Normal file
@@ -0,0 +1,3 @@
|
||||
[gd_scene format=3 uid="uid://dnqcrvpokx0i0"]
|
||||
|
||||
[node name="EnemyAnimationHandler" type="Node3D"]
|
||||
11
enemies/enemy_hit_box.tscn
Normal file
11
enemies/enemy_hit_box.tscn
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://cilj11mx2ahb1"]
|
||||
|
||||
[ext_resource type="Script" path="res://components/hit_box.gd" id="1_r4epu"]
|
||||
|
||||
[node name="EnemyHitBox" type="Area3D"]
|
||||
collision_layer = 32
|
||||
collision_mask = 16
|
||||
script = ExtResource("1_r4epu")
|
||||
|
||||
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
44
enemies/enemy_mover_follow.gd
Normal file
44
enemies/enemy_mover_follow.gd
Normal file
@@ -0,0 +1,44 @@
|
||||
extends NavigationAgent3D
|
||||
class_name EnemyMoverFollow
|
||||
|
||||
@export var follow_distance : float = 1
|
||||
@export var target : Node3D
|
||||
@export var MAX_SPEED := 2.0
|
||||
|
||||
var parent : CharacterBody3D
|
||||
var disabled := false
|
||||
|
||||
func disable():
|
||||
disabled = true
|
||||
|
||||
func _ready():
|
||||
parent = get_parent()
|
||||
|
||||
func set_target(new_target: Node3D):
|
||||
target = new_target
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
|
||||
if is_instance_valid(target) && target && !disabled:
|
||||
set_target_position(target.global_position)
|
||||
var next_path_position = get_next_path_position()
|
||||
#next_path_position.y = global_position.y
|
||||
var dir = parent.global_position.direction_to(next_path_position)
|
||||
var new_velocity = dir*MAX_SPEED
|
||||
parent.look_at(next_path_position)
|
||||
parent.velocity = new_velocity
|
||||
parent.move_and_slide()
|
||||
|
||||
#set_velocity(new_velocity)
|
||||
|
||||
#if global_position.distance_to(target.global_position) < 2:
|
||||
#queue_free()
|
||||
|
||||
else:
|
||||
parent.velocity = lerp(parent.velocity, Vector3.ZERO, 1)
|
||||
parent.move_and_slide()
|
||||
|
||||
|
||||
func _on_navigation_agent_3d_velocity_computed(safe_velocity: Vector3) -> void:
|
||||
parent.velocity = parent.velocity.move_toward(safe_velocity, .25)
|
||||
parent.move_and_slide()
|
||||
8
enemies/enemy_mover_follow.tscn
Normal file
8
enemies/enemy_mover_follow.tscn
Normal file
@@ -0,0 +1,8 @@
|
||||
[gd_scene format=3 uid="uid://dg4xjlf2wc5qw"]
|
||||
|
||||
[node name="EnemyMoverFollow" type="NavigationAgent3D"]
|
||||
path_desired_distance = 0.3
|
||||
path_height_offset = 0.2
|
||||
avoidance_enabled = true
|
||||
radius = 0.3
|
||||
debug_path_custom_color = Color(1, 0, 0, 1)
|
||||
30
enemies/enemy_mover_patrol.gd
Normal file
30
enemies/enemy_mover_patrol.gd
Normal file
@@ -0,0 +1,30 @@
|
||||
extends NavigationAgent3D
|
||||
|
||||
@export var MAX_SPEED : float = 3.0
|
||||
|
||||
var points : Array[Marker3D]
|
||||
var parent : CharacterBody3D
|
||||
|
||||
var current_point : int
|
||||
|
||||
func _ready() -> void:
|
||||
parent = get_parent()
|
||||
for child in get_children():
|
||||
if child is Marker3D:
|
||||
points.append(child)
|
||||
if points.size() > 0:
|
||||
current_point = 0
|
||||
set_target_position(points[current_point].global_position)
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
var next_path_position = get_next_path_position()
|
||||
var dir = parent.global_position.direction_to(next_path_position)
|
||||
var new_velocity = dir*MAX_SPEED
|
||||
#parent.look_at(next_path_position)
|
||||
#parent.rotate(Vector3.UP, parent.basis.z.angle_to(next_path_position)/2)
|
||||
parent.global_transform.basis = parent.global_transform.basis.slerp(parent.global_transform.looking_at(next_path_position, Vector3.UP).basis, delta * 10.0)
|
||||
parent.velocity = new_velocity
|
||||
parent.move_and_slide()
|
||||
if parent.global_position.distance_to(points[current_point].global_position) < 1:
|
||||
current_point = (current_point + 1)%points.size()
|
||||
set_target_position(points[current_point].global_position)
|
||||
6
enemies/enemy_mover_patrol.tscn
Normal file
6
enemies/enemy_mover_patrol.tscn
Normal file
@@ -0,0 +1,6 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://cpevahnu0bbf1"]
|
||||
|
||||
[ext_resource type="Script" path="res://enemies/enemy_mover_patrol.gd" id="1_2okeu"]
|
||||
|
||||
[node name="EnemyMoverPatrol" type="NavigationAgent3D"]
|
||||
script = ExtResource("1_2okeu")
|
||||
43
enemies/enemy_weapon_slot.gd
Normal file
43
enemies/enemy_weapon_slot.gd
Normal file
@@ -0,0 +1,43 @@
|
||||
extends Node3D
|
||||
class_name EnemyWeaponSlot
|
||||
|
||||
@export var lead_speed := 10
|
||||
@export var weapon : Weapon
|
||||
@onready var audio_stream_player_3d: AudioStreamPlayer3D = $AudioStreamPlayer3D
|
||||
|
||||
var target : Node3D
|
||||
var can_shoot := true
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if weapon.shooting_sound:
|
||||
audio_stream_player_3d.stream = weapon.shooting_sound
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if is_instance_valid(target) && target:
|
||||
var dist = (target.global_position - global_position).length()
|
||||
var time_to_target = dist/lead_speed
|
||||
var lead = (target.velocity*time_to_target)
|
||||
look_at(target.global_position+Vector3(0,.5,0) + lead)
|
||||
shoot()
|
||||
else:
|
||||
rotation = Vector3.ZERO
|
||||
|
||||
|
||||
func shoot():
|
||||
if can_shoot:
|
||||
get_tree().create_timer(weapon.cooldown).timeout.connect(reload)
|
||||
audio_stream_player_3d.play()
|
||||
can_shoot = false
|
||||
var new_projectile = weapon.projectile_scene.instantiate()
|
||||
new_projectile.global_transform = global_transform
|
||||
get_tree().root.add_child(new_projectile)
|
||||
|
||||
|
||||
func reload():
|
||||
can_shoot = true
|
||||
|
||||
|
||||
func set_target(value: Node3D):
|
||||
target = value
|
||||
31
enemies/player_detector.gd
Normal file
31
enemies/player_detector.gd
Normal file
@@ -0,0 +1,31 @@
|
||||
extends Area3D
|
||||
|
||||
var current_players : Array[Node3D]
|
||||
var current_target : Node3D
|
||||
signal new_target
|
||||
|
||||
|
||||
func _on_body_entered(body: Node3D) -> void:
|
||||
current_players.append(body)
|
||||
|
||||
func _on_body_exited(body: Node3D) -> void:
|
||||
current_players.erase(body)
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
var candidate : Node3D
|
||||
for body in current_players:
|
||||
if !candidate:
|
||||
candidate = body
|
||||
else:
|
||||
if global_position.distance_to(candidate.global_position) > global_position.distance_to(body.global_position):
|
||||
candidate = body
|
||||
if is_instance_valid(candidate):
|
||||
if candidate == current_target:
|
||||
return
|
||||
else:
|
||||
current_target = candidate
|
||||
new_target.emit(current_target)
|
||||
else:
|
||||
if is_instance_valid(current_target):
|
||||
current_target = null
|
||||
new_target.emit(current_target)
|
||||
11
enemies/player_detector.tscn
Normal file
11
enemies/player_detector.tscn
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://mlq22lwd7tip"]
|
||||
|
||||
[ext_resource type="Script" path="res://enemies/player_detector.gd" id="1_ad1ks"]
|
||||
|
||||
[node name="PlayerDetector" type="Area3D"]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_ad1ks")
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
[connection signal="body_exited" from="." to="." method="_on_body_exited"]
|
||||
BIN
enemies/roomba/461697__leonelmail__body-falls-into-debris.mp3
Normal file
BIN
enemies/roomba/461697__leonelmail__body-falls-into-debris.mp3
Normal file
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://de4uedmk5edgf"
|
||||
path="res://.godot/imported/461697__leonelmail__body-falls-into-debris.mp3-bb2688610ce51d8f9f8578f4998733e7.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/roomba/461697__leonelmail__body-falls-into-debris.mp3"
|
||||
dest_files=["res://.godot/imported/461697__leonelmail__body-falls-into-debris.mp3-bb2688610ce51d8f9f8578f4998733e7.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
enemies/roomba/circle_05.png
Normal file
BIN
enemies/roomba/circle_05.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 64 KiB |
35
enemies/roomba/circle_05.png.import
Normal file
35
enemies/roomba/circle_05.png.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dyrknr7owcj2l"
|
||||
path.s3tc="res://.godot/imported/circle_05.png-642a93c66b1ec1ba5a1a752e418d94e7.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/roomba/circle_05.png"
|
||||
dest_files=["res://.godot/imported/circle_05.png-642a93c66b1ec1ba5a1a752e418d94e7.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
enemies/roomba/pistol-shot2.ogg
Normal file
BIN
enemies/roomba/pistol-shot2.ogg
Normal file
Binary file not shown.
19
enemies/roomba/pistol-shot2.ogg.import
Normal file
19
enemies/roomba/pistol-shot2.ogg.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://b2wv3104111mm"
|
||||
path="res://.godot/imported/pistol-shot2.ogg-51b148b9fac9b33ad9f9483600ae7c59.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/roomba/pistol-shot2.ogg"
|
||||
dest_files=["res://.godot/imported/pistol-shot2.ogg-51b148b9fac9b33ad9f9483600ae7c59.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
11
enemies/roomba/roomba.gd
Normal file
11
enemies/roomba/roomba.gd
Normal file
@@ -0,0 +1,11 @@
|
||||
extends CharacterBody3D
|
||||
|
||||
|
||||
func _on_healthcomponent_start_dying() -> void:
|
||||
$blockbench_export.visible = false
|
||||
$CollisionShape3D.queue_free()
|
||||
$EnemyHitBox.queue_free()
|
||||
$Healthcomponent.queue_free()
|
||||
get_tree().create_timer(3).timeout.connect(queue_free)
|
||||
$AudioStreamPlayer3D.play()
|
||||
$EnemyWeaponSlot.queue_free()
|
||||
1
enemies/roomba/roomba.gltf
Normal file
1
enemies/roomba/roomba.gltf
Normal file
File diff suppressed because one or more lines are too long
36
enemies/roomba/roomba.gltf.import
Normal file
36
enemies/roomba/roomba.gltf.import
Normal file
@@ -0,0 +1,36 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://5t571rk10fot"
|
||||
path="res://.godot/imported/roomba.gltf-c85637230b4fd27eac22407f3e7820ae.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/roomba/roomba.gltf"
|
||||
dest_files=["res://.godot/imported/roomba.gltf-c85637230b4fd27eac22407f3e7820ae.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
_subresources={}
|
||||
gltf/naming_version=1
|
||||
gltf/embedded_image_handling=1
|
||||
72
enemies/roomba/roomba.tscn
Normal file
72
enemies/roomba/roomba.tscn
Normal file
@@ -0,0 +1,72 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://cah3scx7my3bo"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://5t571rk10fot" path="res://enemies/roomba/roomba.gltf" id="1_0byba"]
|
||||
[ext_resource type="Script" path="res://enemies/roomba/roomba.gd" id="1_ywmos"]
|
||||
[ext_resource type="PackedScene" uid="uid://cilj11mx2ahb1" path="res://enemies/enemy_hit_box.tscn" id="2_kryr4"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2p86lb72dp61" path="res://components/healthcomponent.tscn" id="3_lmjf6"]
|
||||
[ext_resource type="PackedScene" uid="uid://5q0aw58r81vp" path="res://effects/explosion.tscn" id="5_qdl43"]
|
||||
[ext_resource type="AudioStream" uid="uid://de4uedmk5edgf" path="res://enemies/roomba/461697__leonelmail__body-falls-into-debris.mp3" id="6_q81qv"]
|
||||
[ext_resource type="PackedScene" uid="uid://mlq22lwd7tip" path="res://enemies/player_detector.tscn" id="7_cyxum"]
|
||||
[ext_resource type="PackedScene" uid="uid://b7mq56myq16y6" path="res://enemies/EnemyWeaponSlot.tscn" id="8_7n6uh"]
|
||||
[ext_resource type="Resource" uid="uid://e6kduk7gil5d" path="res://enemies/roomba/roomba_weapon.tres" id="9_df07r"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_ryfyn"]
|
||||
height = 0.327
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_crthm"]
|
||||
height = 2.052
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_0wgue"]
|
||||
random_pitch = 1.1
|
||||
streams_count = 1
|
||||
stream_0/stream = ExtResource("6_q81qv")
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_7htvr"]
|
||||
height = 16.61
|
||||
radius = 4.445
|
||||
|
||||
[node name="Roomba" type="CharacterBody3D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 3
|
||||
script = ExtResource("1_ywmos")
|
||||
|
||||
[node name="blockbench_export" parent="." instance=ExtResource("1_0byba")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
|
||||
shape = SubResource("CylinderShape3D_ryfyn")
|
||||
|
||||
[node name="EnemyHitBox" parent="." node_paths=PackedStringArray("health_component") instance=ExtResource("2_kryr4")]
|
||||
health_component = NodePath("../Healthcomponent")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="EnemyHitBox"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
|
||||
shape = SubResource("CylinderShape3D_crthm")
|
||||
|
||||
[node name="Healthcomponent" parent="." instance=ExtResource("3_lmjf6")]
|
||||
max_health = 50.0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Healthcomponent"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
|
||||
shape = SubResource("CylinderShape3D_ryfyn")
|
||||
disabled = true
|
||||
|
||||
[node name="Explosion" parent="." instance=ExtResource("5_qdl43")]
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = SubResource("AudioStreamRandomizer_0wgue")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="PlayerDetector" parent="." instance=ExtResource("7_cyxum")]
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="PlayerDetector"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, -7.95)
|
||||
shape = SubResource("CylinderShape3D_7htvr")
|
||||
|
||||
[node name="EnemyWeaponSlot" parent="." instance=ExtResource("8_7n6uh")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -0.8)
|
||||
weapon = ExtResource("9_df07r")
|
||||
|
||||
[connection signal="start_dying" from="Healthcomponent" to="." method="_on_healthcomponent_start_dying"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="Explosion" method="play"]
|
||||
[connection signal="new_target" from="PlayerDetector" to="EnemyWeaponSlot" method="set_target"]
|
||||
BIN
enemies/roomba/roomba_0.png
Normal file
BIN
enemies/roomba/roomba_0.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.6 KiB |
37
enemies/roomba/roomba_0.png.import
Normal file
37
enemies/roomba/roomba_0.png.import
Normal file
@@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bbic8dstbrj8h"
|
||||
path="res://.godot/imported/roomba_0.png-c1549c6c179413abb430f9abb9ed6c8b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "bedb01a00a96b2e41e08b99e8b55e4ab"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/roomba/roomba_0.png"
|
||||
dest_files=["res://.godot/imported/roomba_0.png-c1549c6c179413abb430f9abb9ed6c8b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=3
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
57
enemies/roomba/roomba_projectile.tscn
Normal file
57
enemies/roomba/roomba_projectile.tscn
Normal file
@@ -0,0 +1,57 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://cebi3xpcvhuox"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dyrknr7owcj2l" path="res://enemies/roomba/circle_05.png" id="1_571d5"]
|
||||
[ext_resource type="Script" path="res://components/projectile.gd" id="1_bah41"]
|
||||
[ext_resource type="Script" path="res://components/projectile_mover_linear.gd" id="2_p2jl6"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_3m1f0"]
|
||||
radius = 0.1
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ojfae"]
|
||||
transparency = 1
|
||||
blend_mode = 1
|
||||
shading_mode = 0
|
||||
albedo_texture = ExtResource("1_571d5")
|
||||
billboard_mode = 1
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_03rak"]
|
||||
material = SubResource("StandardMaterial3D_ojfae")
|
||||
size = Vector2(0.5, 0.5)
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_4ol4i"]
|
||||
load_path = "res://.godot/imported/circle_05.png-642a93c66b1ec1ba5a1a752e418d94e7.s3tc.ctex"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4scl6"]
|
||||
transparency = 1
|
||||
blend_mode = 1
|
||||
shading_mode = 0
|
||||
albedo_color = Color(1, 0.443137, 0, 1)
|
||||
albedo_texture = SubResource("CompressedTexture2D_4ol4i")
|
||||
billboard_mode = 1
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_8mxox"]
|
||||
material = SubResource("StandardMaterial3D_4scl6")
|
||||
size = Vector2(0.5, 0.5)
|
||||
|
||||
[node name="RoombaProjectile" type="CharacterBody3D"]
|
||||
collision_layer = 64
|
||||
collision_mask = 9
|
||||
script = ExtResource("1_bah41")
|
||||
lifetime = 3.0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("SphereShape3D_3m1f0")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
mesh = SubResource("QuadMesh_03rak")
|
||||
|
||||
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
|
||||
mesh = SubResource("QuadMesh_8mxox")
|
||||
|
||||
[node name="ProjectileMoverLinear" type="Node3D" parent="."]
|
||||
script = ExtResource("2_p2jl6")
|
||||
speed = 15.0
|
||||
|
||||
[connection signal="collided" from="." to="CollisionShape3D" method="queue_free"]
|
||||
[connection signal="collided" from="." to="MeshInstance3D" method="queue_free"]
|
||||
[connection signal="collided" from="." to="MeshInstance3D2" method="queue_free"]
|
||||
16
enemies/roomba/roomba_weapon.tres
Normal file
16
enemies/roomba/roomba_weapon.tres
Normal file
@@ -0,0 +1,16 @@
|
||||
[gd_resource type="Resource" script_class="Weapon" load_steps=5 format=3 uid="uid://e6kduk7gil5d"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cebi3xpcvhuox" path="res://enemies/roomba/roomba_projectile.tscn" id="1_15rxa"]
|
||||
[ext_resource type="Script" path="res://player/weapons/weapon.gd" id="1_ywwl4"]
|
||||
[ext_resource type="AudioStream" uid="uid://b2wv3104111mm" path="res://enemies/roomba/pistol-shot2.ogg" id="2_2ih2p"]
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_xcj1h"]
|
||||
random_pitch = 1.1
|
||||
streams_count = 1
|
||||
stream_0/stream = ExtResource("2_2ih2p")
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_ywwl4")
|
||||
cooldown = 1.0
|
||||
projectile_scene = ExtResource("1_15rxa")
|
||||
shooting_sound = SubResource("AudioStreamRandomizer_xcj1h")
|
||||
BIN
enemies/thug/argh.ogg
Normal file
BIN
enemies/thug/argh.ogg
Normal file
Binary file not shown.
19
enemies/thug/argh.ogg.import
Normal file
19
enemies/thug/argh.ogg.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://c263o7igq1bue"
|
||||
path="res://.godot/imported/argh.ogg-8503a0ebee35f0cd47a4aff2ef845b42.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/thug/argh.ogg"
|
||||
dest_files=["res://.godot/imported/argh.ogg-8503a0ebee35f0cd47a4aff2ef845b42.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
enemies/thug/argh2.ogg
Normal file
BIN
enemies/thug/argh2.ogg
Normal file
Binary file not shown.
19
enemies/thug/argh2.ogg.import
Normal file
19
enemies/thug/argh2.ogg.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bstxv3cg0wfat"
|
||||
path="res://.godot/imported/argh2.ogg-f82553d092e7ecbdac51d5797eb343db.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/thug/argh2.ogg"
|
||||
dest_files=["res://.godot/imported/argh2.ogg-f82553d092e7ecbdac51d5797eb343db.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
enemies/thug/argh3.ogg
Normal file
BIN
enemies/thug/argh3.ogg
Normal file
Binary file not shown.
19
enemies/thug/argh3.ogg.import
Normal file
19
enemies/thug/argh3.ogg.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://uar0r0xk1ixh"
|
||||
path="res://.godot/imported/argh3.ogg-5cfd71678b491ec9e3381cd05197aa78.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/thug/argh3.ogg"
|
||||
dest_files=["res://.godot/imported/argh3.ogg-5cfd71678b491ec9e3381cd05197aa78.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
52
enemies/thug/thug.gd
Normal file
52
enemies/thug/thug.gd
Normal file
@@ -0,0 +1,52 @@
|
||||
extends CharacterBody3D
|
||||
|
||||
|
||||
@onready var enemy_hit_box: Area3D = $EnemyHitBox
|
||||
@onready var player_detector: Area3D = $PlayerDetector
|
||||
@onready var healthcomponent: HealthComponent = $Healthcomponent
|
||||
@onready var enemy_mover_follow: NavigationAgent3D = $EnemyMoverFollow
|
||||
@onready var collision_shape_3d: CollisionShape3D = $CollisionShape3D
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#@onready var navigation_agent_3d: NavigationAgent3D = $NavigationAgent3D
|
||||
#@export var target : Node3D
|
||||
#@export var MAX_SPEED := 2.0
|
||||
#
|
||||
#func set_target(new_target: Node3D):
|
||||
#target = new_target
|
||||
#
|
||||
#func _physics_process(delta: float) -> void:
|
||||
#
|
||||
#if is_instance_valid(target):
|
||||
#navigation_agent_3d.set_target_position(target.global_position)
|
||||
#var next_path_position = navigation_agent_3d.get_next_path_position()
|
||||
##next_path_position.y = global_position.y
|
||||
#var dir = global_position.direction_to(next_path_position)
|
||||
#var new_velocity = dir*MAX_SPEED
|
||||
#look_at(next_path_position)
|
||||
#navigation_agent_3d.set_velocity(new_velocity)
|
||||
#
|
||||
##if global_position.distance_to(target.global_position) < 2:
|
||||
##queue_free()
|
||||
#
|
||||
#else:
|
||||
#velocity = lerp(velocity, Vector3.ZERO, .1)
|
||||
#
|
||||
#
|
||||
#func _on_navigation_agent_3d_velocity_computed(safe_velocity: Vector3) -> void:
|
||||
#velocity = velocity.move_toward(safe_velocity, .25)
|
||||
#move_and_slide()
|
||||
|
||||
|
||||
func _on_healthcomponent_start_dying() -> void:
|
||||
#enemy_hit_box.monitoring = false
|
||||
#enemy_hit_box.monitorable = false
|
||||
#collision_shape_3d.disabled = true
|
||||
get_tree().create_timer(1).timeout.connect(queue_free)
|
||||
1
enemies/thug/thug.gltf
Normal file
1
enemies/thug/thug.gltf
Normal file
File diff suppressed because one or more lines are too long
3637
enemies/thug/thug.gltf.import
Normal file
3637
enemies/thug/thug.gltf.import
Normal file
File diff suppressed because it is too large
Load Diff
936
enemies/thug/thug.tscn
Normal file
936
enemies/thug/thug.tscn
Normal file
@@ -0,0 +1,936 @@
|
||||
[gd_scene load_steps=38 format=3 uid="uid://ddmv73d5ey1yg"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cayq4g2opg201" path="res://enemies/thug/thug.gltf" id="1_4lv67"]
|
||||
[ext_resource type="Script" path="res://enemies/thug/thug.gd" id="2_q7xpr"]
|
||||
[ext_resource type="PackedScene" uid="uid://dg4xjlf2wc5qw" path="res://enemies/enemy_mover_follow.tscn" id="3_1p8x8"]
|
||||
[ext_resource type="PackedScene" uid="uid://cilj11mx2ahb1" path="res://enemies/enemy_hit_box.tscn" id="3_b7sbh"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2p86lb72dp61" path="res://components/healthcomponent.tscn" id="4_0yek0"]
|
||||
[ext_resource type="Script" path="res://enemies/enemy_mover_follow.gd" id="4_7s2u1"]
|
||||
[ext_resource type="PackedScene" uid="uid://dnqcrvpokx0i0" path="res://enemies/enemy_animation_handler.tscn" id="7_00xk1"]
|
||||
[ext_resource type="Script" path="res://enemies/enemy_animation_handler.gd" id="8_vuid0"]
|
||||
[ext_resource type="Texture2D" uid="uid://drr1nogesyvkd" path="res://effects/smoke_02.png" id="9_ufy0m"]
|
||||
[ext_resource type="AudioStream" uid="uid://bstxv3cg0wfat" path="res://enemies/thug/argh2.ogg" id="10_70jyq"]
|
||||
[ext_resource type="AudioStream" uid="uid://uar0r0xk1ixh" path="res://enemies/thug/argh3.ogg" id="11_p4jio"]
|
||||
[ext_resource type="AudioStream" uid="uid://c263o7igq1bue" path="res://enemies/thug/argh.ogg" id="12_j67ei"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_v6no0"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Node:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Node:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Node/left_arm2:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-0.265625, 1.71875, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Node/base:position")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 1, 0)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Node/base/left_leg:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-0.203125, -0.109375, 0)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Node/left_arm2:rotation")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Node/base:rotation")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("Node/base/left_leg:rotation")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("Node/base/right_leg:position")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.203125, -0.109375, 0)]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("Node/base/right_leg:rotation")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/10/type = "value"
|
||||
tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("Node/base/right_leg/right_foot:position")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, -0.5, 0)]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/path = NodePath("Node/base/right_leg/right_foot:rotation")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/imported = false
|
||||
tracks/12/enabled = true
|
||||
tracks/12/path = NodePath("Node/base/left_leg/left_foot:position")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, -0.5, 0)]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/imported = false
|
||||
tracks/13/enabled = true
|
||||
tracks/13/path = NodePath("Node/base/left_leg/left_foot:rotation")
|
||||
tracks/13/interp = 1
|
||||
tracks/13/loop_wrap = true
|
||||
tracks/13/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_3t24o"]
|
||||
resource_name = "attack"
|
||||
length = 0.833333
|
||||
tracks/0/type = "position_3d"
|
||||
tracks/0/imported = true
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Node/base")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 0, 1, 0, 0.166667, 1, 0, 1, 0.0625, 0.5, 1, 0, 1, -0.1875, 0.833333, 1, 0, 1, 0)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = true
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Node/base")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1, 0.166667, 1, 0.0434534, -0.0870728, 0.00380168, 0.995247, 0.2, 1, 0.0348663, -0.0435528, 0.00305041, 0.998438, 0.233333, 1, 0.0262103, 5.33126e-05, 0.0022931, 0.999654, 0.266667, 1, 0.0175024, 0.0436594, 0.00153126, 0.998892, 0.333333, 1, 0, 0.130526, 0, 0.991445, 0.5, 1, -0.0421331, 0.258573, 0.0112895, 0.965006, 0.8, 1, -0.00426265, 0.0261601, 0.00114217, 0.999648, 0.833333, 1, 0, 0, 0, 1)
|
||||
tracks/2/type = "position_3d"
|
||||
tracks/2/imported = true
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Node/base/left_leg")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, -0.203125, -0.109375, 0)
|
||||
tracks/3/type = "rotation_3d"
|
||||
tracks/3/imported = true
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Node/base/left_leg")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, 0.0435779, -0.00190265, -0.0435779, 0.998097)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = true
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Node/base/left_leg/left_foot")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, -0.0871557, 0, 0, 0.996195)
|
||||
tracks/5/type = "rotation_3d"
|
||||
tracks/5/imported = true
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Node/base/left_arm")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, 0.118261, -0.253611, 0.405735, 0.870101)
|
||||
tracks/6/type = "rotation_3d"
|
||||
tracks/6/imported = true
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Node/base/left_arm/left_hand")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, 0, -0.608761, 0, 0.793353)
|
||||
tracks/7/type = "rotation_3d"
|
||||
tracks/7/imported = true
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("Node/base/head")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1, 0.0333333, 1, 0.00436331, 0, 0, 0.999991, 0.166667, 1, 0.0218149, 0, 0, 0.999762, 0.2, 1, 0.0130896, 0, 0, 0.999914, 0.233333, 1, 0.00436331, 0, 0, 0.999991, 0.266667, 1, -0.00436331, 0, 0, 0.999991, 0.333333, 1, -0.0218149, 0, 0, 0.999762, 0.366667, 1, -0.0217941, -0.043609, 0.000951552, 0.99881, 0.5, 1, -0.0212978, -0.216388, 0.00472161, 0.976064, 0.8, 1, -0.00214676, -0.0218114, 0.000475926, 0.99976, 0.833333, 1, 0, 0, 0, 1)
|
||||
tracks/8/type = "rotation_3d"
|
||||
tracks/8/imported = true
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("Node/base/right_arm")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = PackedFloat32Array(0, 1, 0.118261, 0.253611, -0.405735, 0.870101, 0.0333333, 1, 0.0652119, 0.162264, -0.383793, 0.906709, 0.0666667, 1, 0.0113164, 0.0688115, -0.35687, 0.931548, 0.1, 1, -0.0427259, -0.0255346, -0.325314, 0.944295, 0.133333, 1, -0.0962136, -0.119549, -0.289536, 0.944786, 0.166667, 1, -0.148453, -0.212012, -0.25, 0.933013, 0.2, 1, -0.0916947, -0.126838, -0.26413, 0.951704, 0.233333, 1, -0.033926, -0.0402647, -0.275347, 0.959902, 0.266667, 1, 0.0242169, 0.0467521, -0.283529, 0.957517, 0.3, 1, 0.0820927, 0.133254, -0.288585, 0.944576, 0.333333, 1, 0.139063, 0.218286, -0.290459, 0.92122, 0.433333, 1, 0.422185, 0.314113, -0.335185, 0.781501, 0.5, 1, 0.586689, 0.359159, -0.344498, 0.638844, 0.633333, 1, 0.412744, 0.328251, -0.382615, 0.758617, 0.733333, 1, 0.269066, 0.294836, -0.399466, 0.825289, 0.833333, 1, 0.118261, 0.253611, -0.405735, 0.870101)
|
||||
tracks/9/type = "rotation_3d"
|
||||
tracks/9/imported = true
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("Node/base/right_arm/right_hand")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = PackedFloat32Array(0, 1, 0, 0.608761, 0, 0.793353, 0.166667, 1, 0, 0.876727, 0, 0.480989, 0.333333, 1, 0, 0.67559, 0, 0.737277, 0.5, 1, 0, 0.152123, 0, 0.988362, 0.833333, 1, 0, 0.608761, 0, 0.793353)
|
||||
tracks/10/type = "position_3d"
|
||||
tracks/10/imported = true
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("Node/base/right_leg")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = PackedFloat32Array(0, 1, 0.203125, -0.109375, 0)
|
||||
tracks/11/type = "rotation_3d"
|
||||
tracks/11/imported = true
|
||||
tracks/11/enabled = true
|
||||
tracks/11/path = NodePath("Node/base/right_leg")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/keys = PackedFloat32Array(0, 1, 0.0435779, 0.00190265, 0.0435779, 0.998097)
|
||||
tracks/12/type = "rotation_3d"
|
||||
tracks/12/imported = true
|
||||
tracks/12/enabled = true
|
||||
tracks/12/path = NodePath("Node/base/right_leg/right_foot")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/keys = PackedFloat32Array(0, 1, -0.0871557, 0, 0, 0.996195)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_drd17"]
|
||||
resource_name = "idle"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "position_3d"
|
||||
tracks/0/imported = true
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Node/base")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 0, 1, 0, 0.533333, 1, 0, 0.941667, 0, 1, 1, 0, 1, 0)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = true
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Node/base")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/2/type = "position_3d"
|
||||
tracks/2/imported = true
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Node/base/left_leg")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, -0.203125, -0.109375, 0, 0.533333, 1, -0.203125, -0.0510417, 0, 1, 1, -0.203125, -0.109375, 0)
|
||||
tracks/3/type = "rotation_3d"
|
||||
tracks/3/imported = true
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Node/base/left_leg")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, 0.0436194, 0, 0, 0.999048)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = true
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Node/base/left_leg/left_foot")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, -0.0871557, 0, 0, 0.996195)
|
||||
tracks/5/type = "rotation_3d"
|
||||
tracks/5/imported = true
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Node/base/left_arm")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, 0, 0, 0.5373, 0.843391)
|
||||
tracks/6/type = "rotation_3d"
|
||||
tracks/6/imported = true
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Node/base/left_arm/left_hand")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, 0, 0, 0.19509, 0.980785)
|
||||
tracks/7/type = "rotation_3d"
|
||||
tracks/7/imported = true
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("Node/base/head")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/8/type = "rotation_3d"
|
||||
tracks/8/imported = true
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("Node/base/right_arm")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = PackedFloat32Array(0, 1, 0, 0, -0.5373, 0.843391)
|
||||
tracks/9/type = "rotation_3d"
|
||||
tracks/9/imported = true
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("Node/base/right_arm/right_hand")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = PackedFloat32Array(0, 1, 0, 0, -0.19509, 0.980785)
|
||||
tracks/10/type = "position_3d"
|
||||
tracks/10/imported = true
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("Node/base/right_leg")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = PackedFloat32Array(0, 1, 0.203125, -0.109375, 0, 0.533333, 1, 0.203125, -0.0510417, 0, 1, 1, 0.203125, -0.109375, 0)
|
||||
tracks/11/type = "rotation_3d"
|
||||
tracks/11/imported = true
|
||||
tracks/11/enabled = true
|
||||
tracks/11/path = NodePath("Node/base/right_leg")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/keys = PackedFloat32Array(0, 1, 0.0436194, 0, 0, 0.999048)
|
||||
tracks/12/type = "rotation_3d"
|
||||
tracks/12/imported = true
|
||||
tracks/12/enabled = true
|
||||
tracks/12/path = NodePath("Node/base/right_leg/right_foot")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/keys = PackedFloat32Array(0, 1, -0.0871557, 0, 0, 0.996195)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_5uhgx"]
|
||||
resource_name = "reset"
|
||||
length = 0.001
|
||||
tracks/0/type = "position_3d"
|
||||
tracks/0/imported = true
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Node/base")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 0, 1, 0)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = true
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Node/base")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/2/type = "position_3d"
|
||||
tracks/2/imported = true
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Node/base/left_leg")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, -0.203125, -0.109375, 0)
|
||||
tracks/3/type = "rotation_3d"
|
||||
tracks/3/imported = true
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Node/base/left_leg")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = true
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Node/base/left_leg/left_foot")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/5/type = "rotation_3d"
|
||||
tracks/5/imported = true
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Node/base/left_arm")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/6/type = "rotation_3d"
|
||||
tracks/6/imported = true
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Node/base/left_arm/left_hand")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/7/type = "rotation_3d"
|
||||
tracks/7/imported = true
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("Node/base/head")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/8/type = "rotation_3d"
|
||||
tracks/8/imported = true
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("Node/base/right_arm")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/9/type = "rotation_3d"
|
||||
tracks/9/imported = true
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("Node/base/right_arm/right_hand")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/10/type = "position_3d"
|
||||
tracks/10/imported = true
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("Node/base/right_leg")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = PackedFloat32Array(0, 1, 0.203125, -0.109375, 0)
|
||||
tracks/11/type = "rotation_3d"
|
||||
tracks/11/imported = true
|
||||
tracks/11/enabled = true
|
||||
tracks/11/path = NodePath("Node/base/right_leg")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/12/type = "rotation_3d"
|
||||
tracks/12/imported = true
|
||||
tracks/12/enabled = true
|
||||
tracks/12/path = NodePath("Node/base/right_leg/right_foot")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_7ag3q"]
|
||||
resource_name = "walk"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "position_3d"
|
||||
tracks/0/imported = true
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Node/base")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 0, 1, 0, 0.1, 1, 0, 0.95, 0, 0.133333, 1, 0, 0.945833, 0, 0.233333, 1, 0, 1.04583, 0, 0.266667, 1, 0, 1.07083, 0, 0.366667, 1, 0, 1.12083, 0, 0.4, 1, 0, 1.1, 0, 0.5, 1, 0, 1, 0, 0.6, 1, 0, 0.95, 0, 0.633333, 1, 0, 0.945833, 0, 0.733333, 1, 0, 1.04583, 0, 0.766667, 1, 0, 1.07083, 0, 0.866667, 1, 0, 1.12083, 0, 0.9, 1, 0, 1.1, 0, 1, 1, 0, 1, 0)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = true
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Node/base")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/2/type = "position_3d"
|
||||
tracks/2/imported = true
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Node/base/left_leg")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, -0.203125, -0.109375, 0)
|
||||
tracks/3/type = "rotation_3d"
|
||||
tracks/3/imported = true
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Node/base/left_leg")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, -0.21644, 0, 0, 0.976296, 0.1, 1, -0.25038, 0, 0, 0.968148, 0.133333, 1, -0.234859, 0, 0, 0.972029, 0.2, 1, -0.0392598, 0, 0, 0.999229, 0.233333, 1, 0.0595967, 0, 0, 0.998223, 0.266667, 1, 0.172216, 0, 0, 0.985059, 0.366667, 1, 0.528685, 0, 0, 0.848818, 0.4, 1, 0.503774, 0, 0, 0.863835, 0.5, 1, 0.279829, 0, 0, 0.96005, 0.6, 1, 0.346117, 0, 0, 0.938191, 0.633333, 1, 0.340653, 0, 0, 0.940189, 0.733333, 1, 0.0683055, 0, 0, 0.997664, 0.766667, 1, 0.00727216, 0, 0, 0.999974, 0.866667, 1, -0.079909, 0, 0, 0.996802, 0.9, 1, -0.113203, 0, 0, 0.993572, 1, 1, -0.21644, 0, 0, 0.976296)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = true
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Node/base/left_leg/left_foot")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, -0.108867, 0, 0, 0.994056, 0.1, 1, -0.19509, 0, 0, 0.980785, 0.133333, 1, -0.244743, 0, 0, 0.969588, 0.233333, 1, -0.561602, 0, 0, 0.827407, 0.266667, 1, -0.620236, 0, 0, 0.784416, 0.366667, 1, -0.686242, 0, 0, 0.727374, 0.4, 1, -0.573576, 0, 0, 0.819152, 0.466667, 1, -0.202218, 0, 0, 0.979341, 0.5, 1, 0, 0, 0, 1, 0.6, 1, -0.173648, 0, 0, 0.984808, 0.633333, 1, -0.203642, 0, 0, 0.979045, 0.733333, 1, -0.0479781, 0, 0, 0.998848, 0.766667, 1, -0.0189066, 0, 0, 0.999821, 0.833333, 1, -0.00727215, 0, 0, 0.999974, 0.866667, 1, -0.00145444, 0, 0, 0.999999, 0.9, 1, -0.0218149, 0, 0, 0.999762, 1, 1, -0.108867, 0, 0, 0.994056)
|
||||
tracks/5/type = "rotation_3d"
|
||||
tracks/5/imported = true
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Node/base/left_arm")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, 0.12941, -0.224144, 0.482963, 0.836516, 0.1, 1, 0.187303, -0.324419, 0.463592, 0.802965, 0.133333, 1, 0.188651, -0.326753, 0.463045, 0.802018, 0.2, 1, 0.0825238, -0.142935, 0.493143, 0.854148, 0.233333, 1, 0.0276203, -0.0478398, 0.499237, 0.864703, 0.266667, 1, -0.0116345, 0.0201515, 0.499865, 0.865791, 0.366667, 1, -0.081089, 0.14045, 0.493381, 0.854561, 0.4, 1, -0.0975452, 0.168953, 0.490393, 0.849385, 0.5, 1, -0.139915, 0.242339, 0.480025, 0.831428, 0.6, 1, -0.205359, 0.355693, 0.455881, 0.789609, 0.633333, 1, -0.207347, 0.359135, 0.454981, 0.78805, 0.666667, 1, -0.150353, 0.260419, 0.476859, 0.825943, 0.7, 1, -0.0911178, 0.157821, 0.491627, 0.851524, 0.733333, 1, -0.0305242, 0.0528695, 0.499067, 0.86441, 0.766667, 1, 0.0116345, -0.0201515, 0.499865, 0.865791, 0.866667, 1, 0.081089, -0.14045, 0.493381, 0.854561, 0.9, 1, 0.0954045, -0.165245, 0.490814, 0.850114, 1, 1, 0.12941, -0.224144, 0.482963, 0.836516)
|
||||
tracks/6/type = "rotation_3d"
|
||||
tracks/6/imported = true
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Node/base/left_arm/left_hand")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, 0, 0, 0.258819, 0.965926)
|
||||
tracks/7/type = "rotation_3d"
|
||||
tracks/7/imported = true
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("Node/base/right_arm")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = PackedFloat32Array(0, 1, -0.139915, -0.242339, -0.480025, 0.831428, 0.1, 1, -0.205359, -0.355693, -0.455881, 0.789609, 0.133333, 1, -0.207347, -0.359135, -0.454981, 0.78805, 0.166667, 1, -0.150353, -0.260419, -0.476859, 0.825943, 0.2, 1, -0.0911178, -0.157821, -0.491628, 0.851524, 0.233333, 1, -0.0305243, -0.0528696, -0.499067, 0.86441, 0.266667, 1, 0.0116345, 0.0201515, -0.499865, 0.865791, 0.366667, 1, 0.081089, 0.14045, -0.493381, 0.854561, 0.4, 1, 0.0954045, 0.165245, -0.490814, 0.850114, 0.5, 1, 0.12941, 0.224144, -0.482963, 0.836516, 0.6, 1, 0.187303, 0.324419, -0.463592, 0.802965, 0.633333, 1, 0.188651, 0.326753, -0.463045, 0.802018, 0.7, 1, 0.0825238, 0.142935, -0.493143, 0.854148, 0.733333, 1, 0.0276203, 0.0478397, -0.499237, 0.864703, 0.766667, 1, -0.0116345, -0.0201515, -0.499865, 0.865791, 0.866667, 1, -0.081089, -0.14045, -0.493381, 0.854561, 0.9, 1, -0.0975452, -0.168953, -0.490393, 0.849385, 1, 1, -0.139915, -0.242339, -0.480025, 0.831428)
|
||||
tracks/8/type = "rotation_3d"
|
||||
tracks/8/imported = true
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("Node/base/right_arm/right_hand")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = PackedFloat32Array(0, 1, 0, 0, -0.258819, 0.965926)
|
||||
tracks/9/type = "position_3d"
|
||||
tracks/9/imported = true
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("Node/base/right_leg")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = PackedFloat32Array(0, 1, 0.203125, -0.109375, 0)
|
||||
tracks/10/type = "rotation_3d"
|
||||
tracks/10/imported = true
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("Node/base/right_leg")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = PackedFloat32Array(0, 1, 0.279829, 0, 0, 0.96005, 0.1, 1, 0.346117, 0, 0, 0.938191, 0.133333, 1, 0.340653, 0, 0, 0.940189, 0.233333, 1, 0.0683055, 0, 0, 0.997664, 0.266667, 1, 0.00727213, 0, 0, 0.999974, 0.366667, 1, -0.079909, 0, 0, 0.996802, 0.4, 1, -0.113203, 0, 0, 0.993572, 0.5, 1, -0.21644, 0, 0, 0.976296, 0.6, 1, -0.25038, 0, 0, 0.968148, 0.633333, 1, -0.234859, 0, 0, 0.972029, 0.7, 1, -0.0392599, 0, 0, 0.999229, 0.733333, 1, 0.0595968, 0, 0, 0.998223, 0.766667, 1, 0.172216, 0, 0, 0.985059, 0.866667, 1, 0.528685, 0, 0, 0.848818, 0.9, 1, 0.503774, 0, 0, 0.863835, 1, 1, 0.279829, 0, 0, 0.96005)
|
||||
tracks/11/type = "rotation_3d"
|
||||
tracks/11/imported = true
|
||||
tracks/11/enabled = true
|
||||
tracks/11/path = NodePath("Node/base/right_leg/right_foot")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1, 0.1, 1, -0.173648, 0, 0, 0.984808, 0.133333, 1, -0.203642, 0, 0, 0.979046, 0.233333, 1, -0.0479781, 0, 0, 0.998848, 0.266667, 1, -0.0189066, 0, 0, 0.999821, 0.333333, 1, -0.00727214, 0, 0, 0.999974, 0.366667, 1, -0.00145444, 0, 0, 0.999999, 0.4, 1, -0.0218149, 0, 0, 0.999762, 0.6, 1, -0.19509, 0, 0, 0.980785, 0.633333, 1, -0.244743, 0, 0, 0.969588, 0.733333, 1, -0.561602, 0, 0, 0.827407, 0.766667, 1, -0.620236, 0, 0, 0.784416, 0.866667, 1, -0.686242, 0, 0, 0.727374, 0.9, 1, -0.573577, 0, 0, 0.819152, 0.966667, 1, -0.202218, 0, 0, 0.979341, 1, 1, 0, 0, 0, 1)
|
||||
tracks/12/type = "rotation_3d"
|
||||
tracks/12/imported = true
|
||||
tracks/12/enabled = true
|
||||
tracks/12/path = NodePath("Node/base/head")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_sodno"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_v6no0"),
|
||||
"attack": SubResource("Animation_3t24o"),
|
||||
"idle": SubResource("Animation_drd17"),
|
||||
"reset": SubResource("Animation_5uhgx"),
|
||||
"walk": SubResource("Animation_7ag3q")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_01rqh"]
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Node:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.266667, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0.3, 0.266667), Vector3(0, 0, 0.5)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Node:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(1.5708, 0, 0)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Node/left_arm2:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-0.265625, 1.71875, 0), Vector3(-0.265625, 1.71875, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Node/base:position")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 1, 0), Vector3(0, 1, 0)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Node/base/left_leg:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-0.203125, -0.109375, 0), Vector3(-0.203125, -0.109375, 0)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Node/left_arm2:rotation")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Node/base:rotation")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("Node/base/left_leg:rotation")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("Node/base/right_leg:position")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.203125, -0.109375, 0), Vector3(0.203125, -0.109375, 0)]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("Node/base/right_leg:rotation")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/10/type = "value"
|
||||
tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("Node/base/right_leg/right_foot:position")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, -0.5, 0), Vector3(0, -0.5, 0)]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/path = NodePath("Node/base/right_leg/right_foot:rotation")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/imported = false
|
||||
tracks/12/enabled = true
|
||||
tracks/12/path = NodePath("Node/base/left_leg/left_foot:position")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, -0.5, 0), Vector3(0, -0.5, 0)]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/imported = false
|
||||
tracks/13/enabled = true
|
||||
tracks/13/path = NodePath("Node/base/left_leg/left_foot:rotation")
|
||||
tracks/13/interp = 1
|
||||
tracks/13/loop_wrap = true
|
||||
tracks/13/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ncqu2"]
|
||||
_data = {
|
||||
"death": SubResource("Animation_01rqh")
|
||||
}
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_nuhqq"]
|
||||
radius = 0.2
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gsh0o"]
|
||||
animation = &"idle"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_g4uqm"]
|
||||
animation = &"attack"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bdo2q"]
|
||||
animation = &"walk"
|
||||
|
||||
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_no4fp"]
|
||||
|
||||
[sub_resource type="AnimationNodeOneShot" id="AnimationNodeOneShot_6b2mn"]
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_sf7fy"]
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_qugov"]
|
||||
graph_offset = Vector2(-86.9528, -40.6286)
|
||||
nodes/Animation/node = SubResource("AnimationNodeAnimation_bdo2q")
|
||||
nodes/Animation/position = Vector2(100, 60)
|
||||
"nodes/Animation 2/node" = SubResource("AnimationNodeAnimation_gsh0o")
|
||||
"nodes/Animation 2/position" = Vector2(100, 280)
|
||||
"nodes/Animation 3/node" = SubResource("AnimationNodeAnimation_g4uqm")
|
||||
"nodes/Animation 3/position" = Vector2(100, 520)
|
||||
nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_no4fp")
|
||||
nodes/TimeScale/position = Vector2(560, 0)
|
||||
nodes/attack/node = SubResource("AnimationNodeOneShot_6b2mn")
|
||||
nodes/attack/position = Vector2(800, -20)
|
||||
nodes/idle_walk_blend/node = SubResource("AnimationNodeBlend2_sf7fy")
|
||||
nodes/idle_walk_blend/position = Vector2(320, 40)
|
||||
nodes/output/position = Vector2(1020, -20)
|
||||
node_connections = [&"TimeScale", 0, &"idle_walk_blend", &"attack", 0, &"TimeScale", &"attack", 1, &"Animation 3", &"idle_walk_blend", 0, &"Animation", &"idle_walk_blend", 1, &"Animation 2", &"output", 0, &"attack"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_8i6dy"]
|
||||
radius = 0.2
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_2xuhp"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_wjrfk"]
|
||||
radius = 17.0
|
||||
|
||||
[sub_resource type="Curve" id="Curve_idfk0"]
|
||||
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_0ctqo"]
|
||||
curve = SubResource("Curve_idfk0")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_dwd3a"]
|
||||
angle_min = 1.07288e-05
|
||||
angle_max = 361.5
|
||||
direction = Vector3(0, 1, 0)
|
||||
spread = 15.0
|
||||
initial_velocity_min = 1.45
|
||||
initial_velocity_max = 2.75
|
||||
gravity = Vector3(0, 0, 0)
|
||||
alpha_curve = SubResource("CurveTexture_0ctqo")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kfvph"]
|
||||
transparency = 1
|
||||
shading_mode = 0
|
||||
vertex_color_use_as_albedo = true
|
||||
albedo_color = Color(1, 0, 0, 1)
|
||||
albedo_texture = ExtResource("9_ufy0m")
|
||||
billboard_mode = 3
|
||||
particles_anim_h_frames = 1
|
||||
particles_anim_v_frames = 1
|
||||
particles_anim_loop = false
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_kig6q"]
|
||||
material = SubResource("StandardMaterial3D_kfvph")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_280ad"]
|
||||
streams_count = 3
|
||||
stream_0/stream = ExtResource("10_70jyq")
|
||||
stream_1/stream = ExtResource("11_p4jio")
|
||||
stream_2/stream = ExtResource("12_j67ei")
|
||||
|
||||
[node name="thug" instance=ExtResource("1_4lv67")]
|
||||
collision_layer = 4
|
||||
collision_mask = 7
|
||||
axis_lock_angular_x = true
|
||||
axis_lock_angular_z = true
|
||||
script = ExtResource("2_q7xpr")
|
||||
|
||||
[node name="Node" parent="." index="0"]
|
||||
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||
|
||||
[node name="left_leg" parent="Node/base" index="1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.999999, 0, 0, 0, 0.999999, -0.203125, -0.109375, 0)
|
||||
|
||||
[node name="left_foot" parent="Node/base/left_leg" index="1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.999999, 0, 0, 0, 0.999999, 0, -0.5, 0)
|
||||
|
||||
[node name="left_arm" parent="Node/base" index="2"]
|
||||
transform = Transform3D(0.557044, -0.830473, -0.00381199, 0.773273, 0.51699, 0.367109, -0.302905, -0.207444, 0.930167, -0.265625, 0.71875, 0)
|
||||
|
||||
[node name="left_hand" parent="Node/base/left_arm" index="2"]
|
||||
transform = Transform3D(0.793353, -0.608761, 0, 0.608761, 0.793353, 0, 0, 0, 1, -0.453125, -0.015625, 0)
|
||||
|
||||
[node name="right_arm" parent="Node/base" index="4"]
|
||||
transform = Transform3D(0.557043, 0.830472, -0.00381183, -0.773272, 0.516989, -0.36711, -0.302904, 0.207443, 0.930171, 0.265625, 0.71875, 0)
|
||||
|
||||
[node name="right_hand" parent="Node/base/right_arm" index="1"]
|
||||
transform = Transform3D(0.793353, 0.608761, 0, -0.608761, 0.793353, 0, 0, 0, 1, 0.453125, -0.015625, 0)
|
||||
|
||||
[node name="right_leg" parent="Node/base" index="5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.999999, 0, 0, 0, 0.999999, 0.203125, -0.109375, 0)
|
||||
|
||||
[node name="right_foot" parent="Node/base/right_leg" index="1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.999999, 0, 0, 0, 0.999999, 0, -0.5, 0)
|
||||
|
||||
[node name="AnimationPlayer" parent="." index="1"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_sodno"),
|
||||
"custom": SubResource("AnimationLibrary_ncqu2")
|
||||
}
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." index="2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
shape = SubResource("CapsuleShape3D_nuhqq")
|
||||
|
||||
[node name="AnimationTree" type="AnimationTree" parent="." index="3"]
|
||||
tree_root = SubResource("AnimationNodeBlendTree_qugov")
|
||||
anim_player = NodePath("../AnimationPlayer")
|
||||
parameters/TimeScale/scale = 1.5
|
||||
parameters/attack/active = false
|
||||
parameters/attack/internal_active = false
|
||||
parameters/attack/request = 0
|
||||
parameters/idle_walk_blend/blend_amount = -1.0
|
||||
|
||||
[node name="EnemyMoverFollow" parent="." index="4" instance=ExtResource("3_1p8x8")]
|
||||
avoidance_enabled = false
|
||||
script = ExtResource("4_7s2u1")
|
||||
|
||||
[node name="EnemyHitBox" parent="." index="5" node_paths=PackedStringArray("health_component") instance=ExtResource("3_b7sbh")]
|
||||
health_component = NodePath("../Healthcomponent")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="EnemyHitBox" index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
shape = SubResource("CapsuleShape3D_8i6dy")
|
||||
|
||||
[node name="Healthcomponent" parent="." index="6" instance=ExtResource("4_0yek0")]
|
||||
max_health = 10.0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Healthcomponent" index="0"]
|
||||
shape = SubResource("SphereShape3D_2xuhp")
|
||||
disabled = true
|
||||
|
||||
[node name="PlayerDetector" type="Area3D" parent="." index="7"]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetector" index="0"]
|
||||
shape = SubResource("SphereShape3D_wjrfk")
|
||||
|
||||
[node name="EnemyAnimationHandler" parent="." index="8" node_paths=PackedStringArray("animation_tree") instance=ExtResource("7_00xk1")]
|
||||
script = ExtResource("8_vuid0")
|
||||
animation_tree = NodePath("../AnimationTree")
|
||||
|
||||
[node name="GPUParticles3D" type="GPUParticles3D" parent="." index="9"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0)
|
||||
emitting = false
|
||||
amount = 3
|
||||
one_shot = true
|
||||
explosiveness = 0.8
|
||||
randomness = 0.77
|
||||
process_material = SubResource("ParticleProcessMaterial_dwd3a")
|
||||
draw_pass_1 = SubResource("QuadMesh_kig6q")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="." index="10"]
|
||||
stream = SubResource("AudioStreamRandomizer_280ad")
|
||||
bus = &"SFX"
|
||||
|
||||
[connection signal="velocity_computed" from="EnemyMoverFollow" to="EnemyMoverFollow" method="_on_navigation_agent_3d_velocity_computed"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="." method="_on_healthcomponent_start_dying"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="CollisionShape3D" method="free"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="EnemyMoverFollow" method="disable"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="EnemyHitBox/CollisionShape3D" method="free"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="EnemyAnimationHandler" method="dying"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="AudioStreamPlayer3D" method="play"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="GPUParticles3D" method="set_emitting" binds= [true]]
|
||||
[connection signal="body_entered" from="PlayerDetector" to="EnemyMoverFollow" method="set_target"]
|
||||
BIN
enemies/thug/thug_0.png
Normal file
BIN
enemies/thug/thug_0.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.6 KiB |
37
enemies/thug/thug_0.png.import
Normal file
37
enemies/thug/thug_0.png.import
Normal file
@@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dsauxiqvxm0vp"
|
||||
path="res://.godot/imported/thug_0.png-52f4cbdca1415c493083fcd86193d1e1.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "3c49c0714937235842ef49f7a008a94f"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/thug/thug_0.png"
|
||||
dest_files=["res://.godot/imported/thug_0.png-52f4cbdca1415c493083fcd86193d1e1.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=3
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
enemies/turret/450768__tycoh__plasmapistol_shot.wav
Normal file
BIN
enemies/turret/450768__tycoh__plasmapistol_shot.wav
Normal file
Binary file not shown.
24
enemies/turret/450768__tycoh__plasmapistol_shot.wav.import
Normal file
24
enemies/turret/450768__tycoh__plasmapistol_shot.wav.import
Normal file
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://66n4ntndws0b"
|
||||
path="res://.godot/imported/450768__tycoh__plasmapistol_shot.wav-5860a471a3d60e44953d0c59bc09f915.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/turret/450768__tycoh__plasmapistol_shot.wav"
|
||||
dest_files=["res://.godot/imported/450768__tycoh__plasmapistol_shot.wav-5860a471a3d60e44953d0c59bc09f915.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
||||
53
enemies/turret/Plasma_explosion.tscn
Normal file
53
enemies/turret/Plasma_explosion.tscn
Normal file
@@ -0,0 +1,53 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://bn8pvmo4pf52t"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dg28fd1gyn80b" path="res://effects/flare_01.png" id="1_w0wl5"]
|
||||
[ext_resource type="Script" path="res://effects/explosion.gd" id="2_ot2uu"]
|
||||
[ext_resource type="AudioStream" uid="uid://cj6j27c05nnia" path="res://enemies/turret/energy_projectile_hit.ogg" id="3_hiu5e"]
|
||||
|
||||
[sub_resource type="Curve" id="Curve_0c3bx"]
|
||||
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.739691, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
||||
point_count = 3
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_1nivw"]
|
||||
curve = SubResource("Curve_0c3bx")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_qsa11"]
|
||||
colors = PackedColorArray(1, 1, 1, 1, 0, 1, 1, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_qb1bo"]
|
||||
gradient = SubResource("Gradient_qsa11")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_c46h2"]
|
||||
direction = Vector3(0, 1, 0)
|
||||
initial_velocity_max = 3.0
|
||||
gravity = Vector3(0, 0, 0)
|
||||
color_ramp = SubResource("GradientTexture1D_qb1bo")
|
||||
alpha_curve = SubResource("CurveTexture_1nivw")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hqavp"]
|
||||
transparency = 1
|
||||
blend_mode = 1
|
||||
shading_mode = 0
|
||||
vertex_color_use_as_albedo = true
|
||||
albedo_texture = ExtResource("1_w0wl5")
|
||||
billboard_mode = 1
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_25sbj"]
|
||||
material = SubResource("StandardMaterial3D_hqavp")
|
||||
|
||||
[node name="Node3D" type="GPUParticles3D"]
|
||||
emitting = false
|
||||
amount = 16
|
||||
lifetime = 0.5
|
||||
one_shot = true
|
||||
explosiveness = 0.9
|
||||
process_material = SubResource("ParticleProcessMaterial_c46h2")
|
||||
draw_pass_1 = SubResource("QuadMesh_25sbj")
|
||||
script = ExtResource("2_ot2uu")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = ExtResource("3_hiu5e")
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
[connection signal="ready" from="." to="." method="restart"]
|
||||
BIN
enemies/turret/building_explosion.ogg
Normal file
BIN
enemies/turret/building_explosion.ogg
Normal file
Binary file not shown.
19
enemies/turret/building_explosion.ogg.import
Normal file
19
enemies/turret/building_explosion.ogg.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://daij4ugs4fca4"
|
||||
path="res://.godot/imported/building_explosion.ogg-b91d84e896c0aad51493da22860aa670.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/turret/building_explosion.ogg"
|
||||
dest_files=["res://.godot/imported/building_explosion.ogg-b91d84e896c0aad51493da22860aa670.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
enemies/turret/energy_projectile_hit.ogg
Normal file
BIN
enemies/turret/energy_projectile_hit.ogg
Normal file
Binary file not shown.
19
enemies/turret/energy_projectile_hit.ogg.import
Normal file
19
enemies/turret/energy_projectile_hit.ogg.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://cj6j27c05nnia"
|
||||
path="res://.godot/imported/energy_projectile_hit.ogg-e9d13549971fb79d34cc222218dd80f2.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/turret/energy_projectile_hit.ogg"
|
||||
dest_files=["res://.godot/imported/energy_projectile_hit.ogg-e9d13549971fb79d34cc222218dd80f2.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
11
enemies/turret/plasma_launcher.tres
Normal file
11
enemies/turret/plasma_launcher.tres
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="Weapon" load_steps=4 format=3 uid="uid://bmdx14r8log88"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://begy52yll3dbl" path="res://enemies/turret/plasma_projectile.tscn" id="1_tfytu"]
|
||||
[ext_resource type="Script" path="res://player/weapons/weapon.gd" id="1_yyw1r"]
|
||||
[ext_resource type="AudioStream" uid="uid://66n4ntndws0b" path="res://enemies/turret/450768__tycoh__plasmapistol_shot.wav" id="3_5xj18"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_yyw1r")
|
||||
cooldown = 3.0
|
||||
projectile_scene = ExtResource("1_tfytu")
|
||||
shooting_sound = ExtResource("3_5xj18")
|
||||
157
enemies/turret/plasma_projectile.tscn
Normal file
157
enemies/turret/plasma_projectile.tscn
Normal file
@@ -0,0 +1,157 @@
|
||||
[gd_scene load_steps=20 format=3 uid="uid://begy52yll3dbl"]
|
||||
|
||||
[ext_resource type="Script" path="res://components/projectile.gd" id="1_oxlg3"]
|
||||
[ext_resource type="Script" path="res://components/projectile_mover_linear.gd" id="1_wakmi"]
|
||||
[ext_resource type="PackedScene" uid="uid://bn8pvmo4pf52t" path="res://enemies/turret/Plasma_explosion.tscn" id="2_m6ryp"]
|
||||
[ext_resource type="Texture2D" uid="uid://dg28fd1gyn80b" path="res://effects/flare_01.png" id="3_myjsa"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_l4npu"]
|
||||
radius = 0.1
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_30vvv"]
|
||||
load_path = "res://.godot/imported/light_01.png-043e946f6df880e55d2a4615e19b1007.s3tc.ctex"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rnbhs"]
|
||||
transparency = 1
|
||||
shading_mode = 0
|
||||
albedo_texture = SubResource("CompressedTexture2D_30vvv")
|
||||
billboard_mode = 1
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_6dujq"]
|
||||
material = SubResource("StandardMaterial3D_rnbhs")
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_8hau8"]
|
||||
load_path = "res://.godot/imported/light_01.png-043e946f6df880e55d2a4615e19b1007.s3tc.ctex"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8m8ga"]
|
||||
transparency = 1
|
||||
shading_mode = 0
|
||||
albedo_color = Color(0, 1, 1, 1)
|
||||
albedo_texture = SubResource("CompressedTexture2D_8hau8")
|
||||
billboard_mode = 1
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_rfbef"]
|
||||
material = SubResource("StandardMaterial3D_8m8ga")
|
||||
|
||||
[sub_resource type="Animation" id="Animation_1ejtb"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MeshInstance3D:mesh:size")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MeshInstance3D/MeshInstance3D2:mesh:size")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_eeyvp"]
|
||||
resource_name = "glow"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MeshInstance3D:mesh:size")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1), Vector2(0.5, 0.5)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MeshInstance3D/MeshInstance3D2:mesh:size")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1), Vector2(0.5, 0.5)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_lu8c1"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_1ejtb"),
|
||||
"glow": SubResource("Animation_eeyvp")
|
||||
}
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_od0rb"]
|
||||
colors = PackedColorArray(0.505882, 1, 1, 1, 1, 1, 1, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_h0x7y"]
|
||||
gradient = SubResource("Gradient_od0rb")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_rnpni"]
|
||||
emission_shape = 1
|
||||
emission_sphere_radius = 0.3
|
||||
gravity = Vector3(0, 1, 0)
|
||||
color_ramp = SubResource("GradientTexture1D_h0x7y")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_h0omr"]
|
||||
transparency = 1
|
||||
blend_mode = 1
|
||||
shading_mode = 0
|
||||
vertex_color_use_as_albedo = true
|
||||
albedo_texture = ExtResource("3_myjsa")
|
||||
billboard_mode = 1
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_2084w"]
|
||||
material = SubResource("StandardMaterial3D_h0omr")
|
||||
|
||||
[node name="PlasmaProjectile" type="CharacterBody3D"]
|
||||
collision_layer = 64
|
||||
collision_mask = 9
|
||||
script = ExtResource("1_oxlg3")
|
||||
damage = 100.0
|
||||
collsion_scene = ExtResource("2_m6ryp")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("SphereShape3D_l4npu")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
mesh = SubResource("QuadMesh_6dujq")
|
||||
|
||||
[node name="MeshInstance3D2" type="MeshInstance3D" parent="MeshInstance3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.1, 0)
|
||||
mesh = SubResource("QuadMesh_rfbef")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_lu8c1")
|
||||
}
|
||||
autoplay = "glow"
|
||||
speed_scale = 3.0
|
||||
|
||||
[node name="ProjectileMoverLinear" type="Node3D" parent="."]
|
||||
script = ExtResource("1_wakmi")
|
||||
speed = 15.0
|
||||
|
||||
[node name="GPUParticles3D" type="GPUParticles3D" parent="."]
|
||||
amount = 16
|
||||
process_material = SubResource("ParticleProcessMaterial_rnpni")
|
||||
draw_pass_1 = SubResource("QuadMesh_2084w")
|
||||
|
||||
[connection signal="collided" from="." to="ProjectileMoverLinear" method="queue_free"]
|
||||
[connection signal="collided" from="." to="CollisionShape3D" method="set_disabled" binds= [true]]
|
||||
[connection signal="collided" from="." to="MeshInstance3D" method="set_visible" binds= [false]]
|
||||
[connection signal="collided" from="." to="GPUParticles3D" method="set_emitting" binds= [false]]
|
||||
6
enemies/turret/plasma_turret.gd
Normal file
6
enemies/turret/plasma_turret.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends StaticBody3D
|
||||
|
||||
|
||||
func _on_healthcomponent_start_dying() -> void:
|
||||
get_tree().create_timer(3).timeout.connect(queue_free)
|
||||
$CollisionShape3D.queue_free()
|
||||
209
enemies/turret/plasma_turret.tscn
Normal file
209
enemies/turret/plasma_turret.tscn
Normal file
@@ -0,0 +1,209 @@
|
||||
[gd_scene load_steps=16 format=3 uid="uid://myjcm7eg043b"]
|
||||
|
||||
[ext_resource type="Script" path="res://enemies/turret/plasma_turret.gd" id="1_5cmh7"]
|
||||
[ext_resource type="PackedScene" uid="uid://ccsrmndqy43ph" path="res://enemies/turret/turret.tscn" id="1_5hqga"]
|
||||
[ext_resource type="PackedScene" uid="uid://b7mq56myq16y6" path="res://enemies/EnemyWeaponSlot.tscn" id="2_eiq1i"]
|
||||
[ext_resource type="PackedScene" uid="uid://mlq22lwd7tip" path="res://enemies/player_detector.tscn" id="2_we0x8"]
|
||||
[ext_resource type="Resource" uid="uid://bmdx14r8log88" path="res://enemies/turret/plasma_launcher.tres" id="3_6qvlc"]
|
||||
[ext_resource type="PackedScene" uid="uid://cilj11mx2ahb1" path="res://enemies/enemy_hit_box.tscn" id="3_gaf3p"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2p86lb72dp61" path="res://components/healthcomponent.tscn" id="4_l8nu8"]
|
||||
[ext_resource type="PackedScene" uid="uid://5q0aw58r81vp" path="res://effects/explosion.tscn" id="7_uavmy"]
|
||||
[ext_resource type="AudioStream" uid="uid://daij4ugs4fca4" path="res://enemies/turret/building_explosion.ogg" id="8_iow2f"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_2ydgc"]
|
||||
radius = 20.0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_a2pej"]
|
||||
size = Vector3(1, 1.3, 1)
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_ae38j"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_xts0o"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Turret/blockbench_export/Node/base/bearing:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0.8125, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Turret/blockbench_export/Node/base/bearing:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Turret/blockbench_export/Node/base/bearing/tilt:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0.359375, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Turret/blockbench_export/Node/base/bearing/tilt:rotation")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Turret:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_j1uus"]
|
||||
resource_name = "dying"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Turret/blockbench_export/Node/base/bearing:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0.8125, 0), Vector3(1, 0.1125, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Turret/blockbench_export/Node/base/bearing:rotation")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(8.74228e-08, 2.35619, 3.14159)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Turret/blockbench_export/Node/base/bearing/tilt:position")
|
||||
tracks/2/interp = 2
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0.359375, 0), Vector3(-1.7, 0.059375, -1.3)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Turret/blockbench_export/Node/base/bearing/tilt:rotation")
|
||||
tracks/3/interp = 2
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(3.14159, 0, 0)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Turret:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 1, 3),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0, 0), Vector3(0, -3, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_j87wu"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_xts0o"),
|
||||
"dying": SubResource("Animation_j1uus")
|
||||
}
|
||||
|
||||
[node name="PlasmaTurret" type="StaticBody3D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 7
|
||||
script = ExtResource("1_5cmh7")
|
||||
|
||||
[node name="Turret" parent="." instance=ExtResource("1_5hqga")]
|
||||
|
||||
[node name="EnemyWeaponSlot" parent="Turret/blockbench_export/Node/base/bearing/tilt/beveled_cuboid" index="0" instance=ExtResource("2_eiq1i")]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -7.34788e-17, 0.3, 0.6)
|
||||
lead_speed = 15
|
||||
weapon = ExtResource("3_6qvlc")
|
||||
|
||||
[node name="PlayerDetector" parent="." instance=ExtResource("2_we0x8")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetector"]
|
||||
shape = SubResource("SphereShape3D_2ydgc")
|
||||
|
||||
[node name="EnemyHitBox" parent="." node_paths=PackedStringArray("health_component") instance=ExtResource("3_gaf3p")]
|
||||
health_component = NodePath("../Healthcomponent")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="EnemyHitBox"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.65, 0)
|
||||
shape = SubResource("BoxShape3D_a2pej")
|
||||
|
||||
[node name="Healthcomponent" parent="." instance=ExtResource("4_l8nu8")]
|
||||
max_health = 500.0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Healthcomponent"]
|
||||
shape = SubResource("SphereShape3D_ae38j")
|
||||
disabled = true
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.65, 0)
|
||||
shape = SubResource("BoxShape3D_a2pej")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_j87wu")
|
||||
}
|
||||
|
||||
[node name="Explosion" parent="." instance=ExtResource("7_uavmy")]
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = ExtResource("8_iow2f")
|
||||
bus = &"SFX"
|
||||
|
||||
[connection signal="new_target" from="PlayerDetector" to="Turret" method="set_target"]
|
||||
[connection signal="new_target" from="PlayerDetector" to="Turret/blockbench_export/Node/base/bearing/tilt/beveled_cuboid/EnemyWeaponSlot" method="set_target"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="." method="_on_healthcomponent_start_dying"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="Turret/blockbench_export/Node/base/bearing/tilt/beveled_cuboid/EnemyWeaponSlot" method="queue_free"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="Explosion" method="play"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="AudioStreamPlayer3D" method="play"]
|
||||
[connection signal="start_dying" from="Healthcomponent" to="AnimationPlayer" method="play" binds= ["dying"]]
|
||||
|
||||
[editable path="Turret"]
|
||||
[editable path="Turret/blockbench_export"]
|
||||
1
enemies/turret/turret.gltf
Normal file
1
enemies/turret/turret.gltf
Normal file
File diff suppressed because one or more lines are too long
36
enemies/turret/turret.gltf.import
Normal file
36
enemies/turret/turret.gltf.import
Normal file
@@ -0,0 +1,36 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://dvddh2sdnjmld"
|
||||
path="res://.godot/imported/turret.gltf-e0420d9bd2228ac60b53cd4787255b60.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/turret/turret.gltf"
|
||||
dest_files=["res://.godot/imported/turret.gltf-e0420d9bd2228ac60b53cd4787255b60.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
_subresources={}
|
||||
gltf/naming_version=1
|
||||
gltf/embedded_image_handling=1
|
||||
11
enemies/turret/turret.tscn
Normal file
11
enemies/turret/turret.tscn
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://ccsrmndqy43ph"]
|
||||
|
||||
[ext_resource type="Script" path="res://turrettest.gd" id="1_vb1n6"]
|
||||
[ext_resource type="PackedScene" uid="uid://dvddh2sdnjmld" path="res://enemies/turret/turret.gltf" id="2_vhgge"]
|
||||
|
||||
[node name="Turret" type="Node3D"]
|
||||
script = ExtResource("1_vb1n6")
|
||||
|
||||
[node name="blockbench_export" parent="." instance=ExtResource("2_vhgge")]
|
||||
|
||||
[editable path="blockbench_export"]
|
||||
BIN
enemies/turret/turret_0.png
Normal file
BIN
enemies/turret/turret_0.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
37
enemies/turret/turret_0.png.import
Normal file
37
enemies/turret/turret_0.png.import
Normal file
@@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dtvy2uv7vfpyq"
|
||||
path="res://.godot/imported/turret_0.png-1a69b56efa6f848da3d972614b1bd6a8.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "60ff1eea1ccf495e7d357320f50368ce"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemies/turret/turret_0.png"
|
||||
dest_files=["res://.godot/imported/turret_0.png-1a69b56efa6f848da3d972614b1bd6a8.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=3
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
Reference in New Issue
Block a user