small racing game im working on
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
extends AudioStreamPlayer3D
class_name EngineNoise

@onready var strem: EngineStream = stream
@onready var car = get_parent()
var volume: float = 1:
	set(v): strem.engine_volume = v
	get(): return strem.engine_volume

func _ready() -> void:
	set_process(false)
	for i in 4:
		await RenderingServer.frame_post_draw # buffer underrun causes it to stop, and the cpu is busy when loading the track and rendering and stuff. https://github.com/godotengine/godot/pull/73162
	play()
	strem.set_stream(get_stream_playback())

func _process(_d: float):
	strem.engine_rpm = car.engine_rpm
	strem.update()