feat: added drone sound effect to enemies
parent
52cd856992
commit
3b94a7e0f3
Binary file not shown.
|
@ -11,7 +11,7 @@ bus/1/name = &"Artillery"
|
||||||
bus/1/solo = false
|
bus/1/solo = false
|
||||||
bus/1/mute = false
|
bus/1/mute = false
|
||||||
bus/1/bypass_fx = false
|
bus/1/bypass_fx = false
|
||||||
bus/1/volume_db = 0.185026
|
bus/1/volume_db = -14.6228
|
||||||
bus/1/send = &"Master"
|
bus/1/send = &"Master"
|
||||||
bus/1/effect/0/effect = SubResource("AudioEffectLowPassFilter_i7nkl")
|
bus/1/effect/0/effect = SubResource("AudioEffectLowPassFilter_i7nkl")
|
||||||
bus/1/effect/0/enabled = true
|
bus/1/effect/0/enabled = true
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
[gd_scene load_steps=3 format=3 uid="uid://0fykl1mw3c12"]
|
[gd_scene load_steps=4 format=3 uid="uid://0fykl1mw3c12"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bnr6lab7heo8e" path="res://objects/character_model_base.tscn" id="1_i7aop"]
|
[ext_resource type="PackedScene" uid="uid://bnr6lab7heo8e" path="res://objects/character_model_base.tscn" id="1_i7aop"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://b5evvhyrhybkf" path="res://sounds/drone.ogg" id="2_8cpm2"]
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_3tduq"]
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_3tduq"]
|
||||||
radius = 0.370388
|
radius = 0.370388
|
||||||
|
@ -102,4 +103,14 @@ shape = SubResource("CapsuleShape3D_3tduq")
|
||||||
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
|
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
|
||||||
|
[node name="DroneSound" type="AudioStreamPlayer3D" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
stream = ExtResource("2_8cpm2")
|
||||||
|
attenuation_model = 2
|
||||||
|
volume_db = 1.0
|
||||||
|
unit_size = 27.02
|
||||||
|
autoplay = true
|
||||||
|
max_distance = 13.36
|
||||||
|
panning_strength = 0.17
|
||||||
|
|
||||||
[editable path="CharacterModel"]
|
[editable path="CharacterModel"]
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,19 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="oggvorbisstr"
|
||||||
|
type="AudioStreamOggVorbis"
|
||||||
|
uid="uid://b5evvhyrhybkf"
|
||||||
|
path="res://.godot/imported/drone.ogg-04eb7ed83dcda003c57d2f86862900d2.oggvorbisstr"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sounds/drone.ogg"
|
||||||
|
dest_files=["res://.godot/imported/drone.ogg-04eb7ed83dcda003c57d2f86862900d2.oggvorbisstr"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=true
|
||||||
|
loop_offset=1.0
|
||||||
|
bpm=0.0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
|
@ -20,6 +20,7 @@ void Enemy::_ready() {
|
||||||
timer->start(this->update_interval);
|
timer->start(this->update_interval);
|
||||||
timer->connect("timeout", callable_mp(this, &Enemy::update));
|
timer->connect("timeout", callable_mp(this, &Enemy::update));
|
||||||
this->target_rotation = this->get_rotation().y;
|
this->target_rotation = this->get_rotation().y;
|
||||||
|
this->drone_sound = this->get_node<gd::AudioStreamPlayer3D>("%DroneSound");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Enemy::_process(double delta) {
|
void Enemy::_process(double delta) {
|
||||||
|
@ -88,7 +89,7 @@ void Enemy::_physics_process(double delta [[maybe_unused]]) {
|
||||||
basis.get_column(0) * motion.x +
|
basis.get_column(0) * motion.x +
|
||||||
basis.get_column(1) * motion.y +
|
basis.get_column(1) * motion.y +
|
||||||
basis.get_column(2) * motion.z
|
basis.get_column(2) * motion.z
|
||||||
});\
|
});
|
||||||
this->move_and_slide();
|
this->move_and_slide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,6 +99,7 @@ void Enemy::damage() {
|
||||||
this->set_collision_layer(0x0);
|
this->set_collision_layer(0x0);
|
||||||
this->set_process(false);
|
this->set_process(false);
|
||||||
this->set_physics_process(false);
|
this->set_physics_process(false);
|
||||||
|
this->drone_sound->stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Enemy::notice_player(Player *player) {
|
void Enemy::notice_player(Player *player) {
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "player.hpp"
|
#include "player.hpp"
|
||||||
#include "player_anim_tree.hpp"
|
#include "player_anim_tree.hpp"
|
||||||
#include "utils/godot_macros.hpp"
|
#include "utils/godot_macros.hpp"
|
||||||
|
#include <godot_cpp/classes/audio_stream_player3d.hpp>
|
||||||
#include <godot_cpp/classes/character_body3d.hpp>
|
#include <godot_cpp/classes/character_body3d.hpp>
|
||||||
#include <godot_cpp/classes/navigation_agent3d.hpp>
|
#include <godot_cpp/classes/navigation_agent3d.hpp>
|
||||||
namespace gd = godot;
|
namespace gd = godot;
|
||||||
|
@ -32,7 +33,7 @@ public:
|
||||||
float get_update_interval() const;
|
float get_update_interval() const;
|
||||||
private:
|
private:
|
||||||
int const SHOTS_BEFORE_HIT{0};
|
int const SHOTS_BEFORE_HIT{0};
|
||||||
float const TURN_SPEED{1.5f};
|
float const TURN_SPEED{3.f};
|
||||||
float const HIT_ANGLE{.05f};
|
float const HIT_ANGLE{.05f};
|
||||||
float const MISS_ANGLE{.2f};
|
float const MISS_ANGLE{.2f};
|
||||||
|
|
||||||
|
@ -46,6 +47,7 @@ private:
|
||||||
Player *player{nullptr};
|
Player *player{nullptr};
|
||||||
gd::NavigationAgent3D *agent{nullptr};
|
gd::NavigationAgent3D *agent{nullptr};
|
||||||
PlayerAnimTree *anim_tree{nullptr};
|
PlayerAnimTree *anim_tree{nullptr};
|
||||||
|
gd::AudioStreamPlayer3D *drone_sound{nullptr};
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // !ENEMY_HPP
|
#endif // !ENEMY_HPP
|
||||||
|
|
Loading…
Reference in New Issue