Added audio component
This commit is contained in:
parent
ec676aad5d
commit
37e8852c51
@ -20,8 +20,8 @@
|
||||
[ext_resource type="PackedScene" uid="uid://dagn5bf7ou3sd" path="res://ui/UI.tscn" id="17_43qhq"]
|
||||
[ext_resource type="Material" uid="uid://bdsblfaxbipaa" path="res://world/grass/GrassMaterial.tres" id="18_tja64"]
|
||||
[ext_resource type="MultiMesh" uid="uid://dog5aq5n2q025" path="res://assets/grass/grass.multimesh" id="19_ae26a"]
|
||||
[ext_resource type="PackedScene" uid="uid://djilgnhedvmtm" path="res://world/house/House.tscn" id="20_xjraj"]
|
||||
[ext_resource type="PackedScene" uid="uid://cuuwwdce1u8n8" path="res://world/trees/Sapling.tscn" id="22_5yt7w"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0w38xjifulq6" path="res://assets/house/House.blend" id="23_5j7b3"]
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ql20k"]
|
||||
seed = 1337
|
||||
@ -146,8 +146,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="World/Floor/StaticBody3D"]
|
||||
shape = SubResource("BoxShape3D_yg2lt")
|
||||
|
||||
[node name="House" parent="World" instance=ExtResource("23_5j7b3")]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -6.04985, 0, -6.15938)
|
||||
[node name="House" parent="World" instance=ExtResource("20_xjraj")]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -6, 0, -6)
|
||||
|
||||
[node name="Players" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=18 format=3 uid="uid://2lcnu3dy54lx"]
|
||||
[gd_scene load_steps=28 format=3 uid="uid://2lcnu3dy54lx"]
|
||||
|
||||
[ext_resource type="Script" path="res://player/Player.gd" id="1_8gebs"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8j7t4yg7anb0" path="res://assets/female/Female.blend" id="2_8nah6"]
|
||||
@ -15,7 +15,17 @@
|
||||
[ext_resource type="PackedScene" uid="uid://d0onbq0ad1ap4" path="res://player/rotation/RotationComponent.tscn" id="9_agxqu"]
|
||||
[ext_resource type="PackedScene" uid="uid://bivxnxwi863o0" path="res://player/animation/AnimationComponent.tscn" id="10_bcaeg"]
|
||||
[ext_resource type="AnimationLibrary" uid="uid://d4n0puibh4hyt" path="res://assets/animations/human.blend" id="11_d0e6r"]
|
||||
[ext_resource type="AudioStream" uid="uid://dlqcgg8v3lvhm" path="res://assets/footsteps/Footsteps-Human-Dirt-00.wav" id="12_h5nrh"]
|
||||
[ext_resource type="AudioStream" uid="uid://bcn7rvvayhnib" path="res://assets/footsteps/Footsteps-Human-Dirt-02.wav" id="14_6dv65"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8xf4ltqyorjv" path="res://player/skills/SkillsComponent.tscn" id="14_6idcf"]
|
||||
[ext_resource type="AudioStream" uid="uid://bsc8b4ltoiflu" path="res://assets/footsteps/Footsteps-Human-Dirt-03.wav" id="15_1rjwu"]
|
||||
[ext_resource type="AudioStream" uid="uid://b5xq4cfmo02vw" path="res://assets/footsteps/Footsteps-Human-Dirt-04.wav" id="16_d8yn0"]
|
||||
[ext_resource type="AudioStream" uid="uid://cpldevudwvnkt" path="res://assets/footsteps/Footsteps-Human-Dirt-05.wav" id="17_74v1j"]
|
||||
[ext_resource type="PackedScene" uid="uid://clnfp813k7lep" path="res://player/audio/AudioComponent.tscn" id="17_ovrf7"]
|
||||
[ext_resource type="AudioStream" uid="uid://biyotdu77a788" path="res://assets/footsteps/Footsteps-Human-Dirt-06.wav" id="18_qkget"]
|
||||
[ext_resource type="AudioStream" uid="uid://cdywep3dxm0y3" path="res://assets/footsteps/Footsteps-Human-Dirt-07.wav" id="19_vvmo0"]
|
||||
[ext_resource type="AudioStream" uid="uid://bp8pka7qhcetq" path="res://assets/footsteps/Footsteps-Human-Dirt-08.wav" id="20_srjtb"]
|
||||
[ext_resource type="AudioStream" uid="uid://bgdodasvt7ier" path="res://assets/footsteps/Footsteps-Human-Dirt-01.wav" id="21_a8ikg"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_2f50n"]
|
||||
radius = 0.3
|
||||
@ -86,6 +96,10 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
strength = 15.0
|
||||
radius = 2.0
|
||||
|
||||
[node name="Audio" parent="." node_paths=PackedStringArray("movement") instance=ExtResource("17_ovrf7")]
|
||||
movement = NodePath("../Movement")
|
||||
footsteps = Array[AudioStream]([ExtResource("12_h5nrh"), ExtResource("21_a8ikg"), ExtResource("14_6dv65"), ExtResource("15_1rjwu"), ExtResource("16_d8yn0"), ExtResource("17_74v1j"), ExtResource("18_qkget"), ExtResource("19_vvmo0"), ExtResource("20_srjtb"), ExtResource("21_a8ikg")])
|
||||
|
||||
[node name="Health" parent="." instance=ExtResource("2_np5ag")]
|
||||
max_value = 100.0
|
||||
|
||||
|
27
client/player/audio/AudioComponent.gd
Normal file
27
client/player/audio/AudioComponent.gd
Normal file
@ -0,0 +1,27 @@
|
||||
class_name AudioComponent
|
||||
extends Node
|
||||
|
||||
@export var movement: MovementComponent
|
||||
@export var footsteps: Array[AudioStream]
|
||||
@export var interval: float = 0.3
|
||||
|
||||
var audio_player: AudioStreamPlayer3D
|
||||
var last_footstep: float
|
||||
|
||||
func _ready():
|
||||
audio_player = $Footsteps
|
||||
|
||||
func _process(_delta):
|
||||
if Time.get_unix_time_from_system() - last_footstep < interval:
|
||||
return
|
||||
|
||||
if movement.direction == Vector3.ZERO:
|
||||
return
|
||||
|
||||
if !movement.body.is_on_floor():
|
||||
return
|
||||
|
||||
audio_player.stream = footsteps[randi_range(0, footsteps.size()-1)]
|
||||
audio_player.pitch_scale = randf_range(0.9, 1.1)
|
||||
audio_player.play()
|
||||
last_footstep = Time.get_unix_time_from_system()
|
10
client/player/audio/AudioComponent.tscn
Normal file
10
client/player/audio/AudioComponent.tscn
Normal file
@ -0,0 +1,10 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://clnfp813k7lep"]
|
||||
|
||||
[ext_resource type="Script" path="res://player/audio/AudioComponent.gd" id="1_0j3jl"]
|
||||
|
||||
[node name="Audio" type="Node3D"]
|
||||
script = ExtResource("1_0j3jl")
|
||||
|
||||
[node name="Footsteps" type="AudioStreamPlayer3D" parent="."]
|
||||
max_distance = 20.0
|
||||
bus = &"Footsteps"
|
@ -15,6 +15,10 @@ run/main_scene="res://Start.tscn"
|
||||
config/features=PackedStringArray("4.2", "Forward Plus")
|
||||
config/icon="res://ui/icon.svg"
|
||||
|
||||
[audio]
|
||||
|
||||
buses/default_bus_layout="res://world/AudioBusLayout.tres"
|
||||
|
||||
[autoload]
|
||||
|
||||
Global="*res://Global.tscn"
|
||||
|
21
client/world/AudioBusLayout.tres
Normal file
21
client/world/AudioBusLayout.tres
Normal file
@ -0,0 +1,21 @@
|
||||
[gd_resource type="AudioBusLayout" format=3 uid="uid://c4mndkm5mss5f"]
|
||||
|
||||
[resource]
|
||||
bus/1/name = &"Music"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
bus/1/bypass_fx = false
|
||||
bus/1/volume_db = 0.0
|
||||
bus/1/send = &"Master"
|
||||
bus/2/name = &"Effects"
|
||||
bus/2/solo = false
|
||||
bus/2/mute = false
|
||||
bus/2/bypass_fx = false
|
||||
bus/2/volume_db = 0.0
|
||||
bus/2/send = &"Master"
|
||||
bus/3/name = &"Footsteps"
|
||||
bus/3/solo = false
|
||||
bus/3/mute = false
|
||||
bus/3/bypass_fx = false
|
||||
bus/3/volume_db = -4.50411
|
||||
bus/3/send = &"Effects"
|
18
client/world/house/House.tscn
Normal file
18
client/world/house/House.tscn
Normal file
@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://djilgnhedvmtm"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b0w38xjifulq6" path="res://assets/house/House.blend" id="1_0ihm4"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_egbsr"]
|
||||
size = Vector3(5, 3.5, 5)
|
||||
|
||||
[node name="House" instance=ExtResource("1_0ihm4")]
|
||||
|
||||
[node name="Area3D" type="Area3D" parent="." index="1"]
|
||||
monitorable = false
|
||||
reverb_bus_enabled = true
|
||||
reverb_bus_name = &"Effects"
|
||||
reverb_bus_amount = 0.5
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 1.72656, 2.5)
|
||||
shape = SubResource("BoxShape3D_egbsr")
|
Loading…
Reference in New Issue
Block a user