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