Add industrial metal soundtrack with seamless loop
- assets/audio/music/zombie_industrial_loop.ogg: 57.60 s Ogg Vorbis loop generated locally with YuE2-3B on the Tesla V100 (score written for this track; vocals removed with HTDemucs). The loop is spliced at the track's structural repeat with a 0.6 s crossfade: measured seam dip <= 1.6 dB. - scripts/main.gd: "Music" AudioStreamPlayer at -11 dB, started at boot on desktop and on the start click on Web (browser autoplay policy). It forces stream.loop at runtime because the Web staging step re-imports the OGG with loop=false. - tools/test_music.gd: soundtrack test (loop, length, volume, playback, still playing after player death). - docs/MUSIC.md: source, loop construction, verification, licence. - docs/WEB-DEPLOY.md: release ab6054111f5919a8 notes. Initial commit of the project.
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
extends SceneTree
|
||||
func _initialize() -> void:
|
||||
for path in ["res://assets/weapons/v_9mmar", "res://assets/zombies/zombie_textured", "res://assets/weapons/grenade"]:
|
||||
var scene: PackedScene = load(path + ".mdl")
|
||||
assert(scene != null)
|
||||
assert(ResourceSaver.save(scene, path + ".scn") == OK)
|
||||
var node := scene.instantiate()
|
||||
var textured := 0
|
||||
for mesh in node.find_children("*", "MeshInstance3D", true, false):
|
||||
for i in mesh.mesh.get_surface_count():
|
||||
var material = mesh.mesh.surface_get_material(i)
|
||||
assert(material is StandardMaterial3D and material.albedo_texture != null)
|
||||
textured += 1
|
||||
assert(textured > 0)
|
||||
print("NATIVE SCENE VERIFIED ", path, " surfaces=", textured)
|
||||
node.free()
|
||||
quit()
|
||||
Reference in New Issue
Block a user