Post on 06-Apr-2015
Advanced 3D Sound- Advanced 3D Sound-
TechniquesTechniques
Universität zu KölnUniversität zu KölnHistorisch- Kulturwissenschaftliche InformationsverarbeitungHistorisch- Kulturwissenschaftliche InformationsverarbeitungWS 2011/12WS 2011/12Dozent: Prof. Dr. Manfred ThallerDozent: Prof. Dr. Manfred ThallerHauptseminar: „Software Engineering: Basistechnologien"Hauptseminar: „Software Engineering: Basistechnologien"Vortrag von André StreicherVortrag von André Streicher
Einführung – Grundlagen des Raumklangs
Wiederholung – physikalische Grundlagen:Wiederholung – physikalische Grundlagen:Schallwellen haben wie jede andere Welle vier Eigenschaften:
1. Geschwindigkeit2. Amplitude (Schwingungsweite, Lautstärke)3. Wellenlänge (Länge, Schwingungsdauer)4. Frequenz (Die Häufigkeit der Schwingungen in einem bestimmten Zeitabschnitt)
Einführung – Grundlagen des Raumklangs
Sound Production:Sound Production:
- primäre Schallausbreitung zentral von der Quelle aus in alle - primäre Schallausbreitung zentral von der Quelle aus in alle RichtungenRichtungen
Einführung – Grundlagen des Raumklangs
Differenzierung der Schallwellen:Differenzierung der Schallwellen:
- Direct Path – Schallwelle, die von der Quelle ohne Inferenzen - Direct Path – Schallwelle, die von der Quelle ohne Inferenzen zum Listener gelangtzum Listener gelangt
Einführung – Grundlagen des Raumklangs
Differenzierung der Schallwellen:Differenzierung der Schallwellen:
- Echo – Schallwelle, die von der Quelle durch eine Reflektion - Echo – Schallwelle, die von der Quelle durch eine Reflektion zum zum Listener gelangtListener gelangt
Einführung – Grundlagen des Raumklangs
Differenzierung der Schallwellen:Differenzierung der Schallwellen:
- Widerhall – Schallwelle, die von der Quelle durch mehrere - Widerhall – Schallwelle, die von der Quelle durch mehrere Reflektionen zum Listener gelangtReflektionen zum Listener gelangt
Einführung – Grundlagen des Raumklangs
Differenzierung der Schallwellen:Differenzierung der Schallwellen:
- Kombination aller Schallwellen führt zum schlussendlichen - Kombination aller Schallwellen führt zum schlussendlichen RaumklangRaumklang
Einführung – Grundlagen des Raumklangs
Differenzierung der Schallwellen:Differenzierung der Schallwellen:
- Zeitliche Abfolge der Schallwellen- Zeitliche Abfolge der Schallwellen
Einführung – Grundlagen des Raumklangs
Differenzierung der Schallwellen:Differenzierung der Schallwellen:
- Schalldruck -> Lautstärke- Schalldruck -> Lautstärke
Einführung – Grundlagen des Raumklangs
Reflektion der Schallwellen:Reflektion der Schallwellen:
- - Größe des RaumsGröße des Raums
- Geometrie der Umgebung- Geometrie der Umgebung
- Materialität/ Reflektionseigenschaften- Materialität/ Reflektionseigenschaften der Geometrieder Geometrie
- Raumposition der Soundquelle- Raumposition der Soundquelle
- uvm…- uvm…
=> Jeweils spezifische Klangfarben der Töne in unterschiedlichen => Jeweils spezifische Klangfarben der Töne in unterschiedlichen UmgebungenUmgebungen
Einführung – Grundlagen des Raumklangs
Geometrie als Hindernis:Geometrie als Hindernis:
- Blockade des Direct Path- Blockade des Direct Path
Einführung – Grundlagen des Raumklangs
Geometrie als Hindernis:Geometrie als Hindernis:
- Blockade des Direct Path und des Echo- Blockade des Direct Path und des Echo
Einführung – Grundlagen des Raumklangs
MaterialitätMaterialität
- Reflektions-/ Absorbtionseigenschaften der Materialien- Reflektions-/ Absorbtionseigenschaften der Materialien
- Streuung der Schallwellen- Streuung der Schallwellen
- Abspeicherung der Eigenschaften in abrufbaren - Abspeicherung der Eigenschaften in abrufbaren Datenbanken Datenbanken zur Verknüpfung mit 3D- Modellen/ zur Verknüpfung mit 3D- Modellen/ Polygonbereichen Polygonbereichen
Einführung – Grundlagen des Raumklangs
Geometrie und Materialität in Kombination:Geometrie und Materialität in Kombination:
- Occlusion von Frequenzen- Occlusion von Frequenzen
Einführung – Grundlagen des Raumklangs
Geometrie und Materialität in Kombination:Geometrie und Materialität in Kombination:
- Occlusion von Frequenzen in Bezug auf das Vermittlungsmedium- Occlusion von Frequenzen in Bezug auf das Vermittlungsmedium
Reproduktion von Raumklang
EAX - Environmental Audio ExtensionsEAX - Environmental Audio Extensions- - 1998 in der Version 1.0 von Creative Labs vorgestellt1998 in der Version 1.0 von Creative Labs vorgestellt
- derzeitige Version EAX Advanced HD 5.0- derzeitige Version EAX Advanced HD 5.0
- Hardware- extension für Soundkarten- Hardware- extension für Soundkarten
- normalerweise müsste jeder Ton in seiner jeweils spezifischen Klangfarben für jede - normalerweise müsste jeder Ton in seiner jeweils spezifischen Klangfarben für jede Umgebung aufgenommen werdenUmgebung aufgenommen werden
- EAX erzeugt nach Angabe bestimmter Parameter das spezifische Klangmuster jedes - EAX erzeugt nach Angabe bestimmter Parameter das spezifische Klangmuster jedes TonsTons
- Windows Vista als Betriebssystem schränkt die Nutzbarkeit der EAX Technologie ein- Windows Vista als Betriebssystem schränkt die Nutzbarkeit der EAX Technologie ein
- Grundprinzipien von Effekten und Filtern, die auf den Originalsound angewendet - Grundprinzipien von Effekten und Filtern, die auf den Originalsound angewendet werdenwerden
Reproduktion von Raumklang
Grundprinzipien von Effekten und Filtern, die auf den Grundprinzipien von Effekten und Filtern, die auf den Originalsound angewendet werdenOriginalsound angewendet werden
-> Effect- Element-> Effect- Element
Container- Element für EffekteContainer- Element für Effekte Beeinflussung eines Sounds sowie verschiedene Parameter zur Beeinflussung eines Sounds sowie verschiedene Parameter zur
realitätsnahen Gestaltung des Klangverhaltensrealitätsnahen Gestaltung des Klangverhaltens Basierend auf Wiederhallwert, der spezifisch angepasst wirdBasierend auf Wiederhallwert, der spezifisch angepasst wird
-> Auxiliary Effect Slot Object-> Auxiliary Effect Slot Object Container für die jeweiligen Effect- ElementeContainer für die jeweiligen Effect- Elemente Anschließend Anwendung auf die Tonspur einer SoundquelleAnschließend Anwendung auf die Tonspur einer Soundquelle An einen Slot auch mehrere Quellen anbindbarAn einen Slot auch mehrere Quellen anbindbar
Reproduktion von Raumklang
Grundprinzipien von Effekten und Filtern, die auf den Grundprinzipien von Effekten und Filtern, die auf den Originalsound angewendet werdenOriginalsound angewendet werden
-> Filter- Elemente-> Filter- Elemente
Differenzierung zwischen zwei FilternDifferenzierung zwischen zwei Filtern -> Filter der auf das Ursprungssignal angewendet wird-> Filter der auf das Ursprungssignal angewendet wird
-> Filter der auf Effekt- Slot angewendet wird-> Filter der auf Effekt- Slot angewendet wird
Anpassung des Tonsignals in Bezug auf seinen FrequenzbereichAnpassung des Tonsignals in Bezug auf seinen Frequenzbereich-> Lowpass Filter -> Lowpass Filter -> Highpass Filter-> Highpass Filter-> Bandpass Filter-> Bandpass Filter
Reproduktion von Raumklang
Grundprinzipien von Effekten und Filtern, die auf den Grundprinzipien von Effekten und Filtern, die auf den Originalsound angewendet werdenOriginalsound angewendet werden
Reproduktion von Raumklang
Datenspeicherung/ -pufferung <-> KlangeffektproduktionenDatenspeicherung/ -pufferung <-> Klangeffektproduktionen
- - Dynamische Datenverwaltung Dynamische Datenverwaltung
-> Laufzeitumgebung entlasten-> Laufzeitumgebung entlasten
-> Orientierung an Datenmodellen der Grafik -> Orientierung an Datenmodellen der Grafik
- Klangeffektproduktion- Klangeffektproduktion
-> Automatisiert oder manuell-> Automatisiert oder manuell
-> Analyse der Grundlagen-> Analyse der Grundlagen Art des SpielArt des Spiel Gewichtung des Raumklanges als ElementGewichtung des Raumklanges als Element Typisierung der Räume im SpielTypisierung der Räume im Spiel Bestehende DatenstrukturenBestehende Datenstrukturen Kosten-/ NutzenfaktorKosten-/ Nutzenfaktor
Reproduktion von Raumklang
Manuelle Definition von UmgebungsarealenManuelle Definition von Umgebungsarealen
- Implementation spezieller Schlüsselstellen/ Trigger- Implementation spezieller Schlüsselstellen/ Trigger
- Unterteilung der Level in spezifische Zonen- Unterteilung der Level in spezifische Zonen
Reproduktion von Raumklang
Reproduktion von Raumklang
Reproduktion von Raumklang
Manuelle Definition von UmgebungsarealenManuelle Definition von Umgebungsarealen
- Definition von begrenzten Zonen- Definition von begrenzten Zonen
- Definition von einzelnen Triggerpunkten, die Ereignisse auslösen- Definition von einzelnen Triggerpunkten, die Ereignisse auslösen
- Definition von „Zwischenzonen“- Definition von „Zwischenzonen“
-> Ausgleichbereich zwischen zwei differenten Raumklängen-> Ausgleichbereich zwischen zwei differenten Raumklängen Je nach Position Überblendung des anderen EffektsJe nach Position Überblendung des anderen Effekts
-> Nach Möglichkeit auch Interpolation-> Nach Möglichkeit auch Interpolation Nutzung von Klangpunkten anstatt von Arealen Nutzung von Klangpunkten anstatt von Arealen
Reproduktion von Raumklang
Klangpunkten statt Areale Klangpunkten statt Areale
- Je nach Entfernung zu Klangpunkten Interpolation der Effekte- Je nach Entfernung zu Klangpunkten Interpolation der Effekte
- Untergliederung der Klangpunkte in weitere lokale Phänomene- Untergliederung der Klangpunkte in weitere lokale Phänomene
Reproduktion von Raumklang
Manuelle Definition von UmgebungsarealenManuelle Definition von Umgebungsarealen
- linearer Algorithmus ist bei großen Welten sehr kontraproduktiv- linearer Algorithmus ist bei großen Welten sehr kontraproduktiv
=> Nutzung effizienterer Datenmodelle zur Entlastung der Laufzeit=> Nutzung effizienterer Datenmodelle zur Entlastung der Laufzeit
- Rückgriff auf Datenmodelle im Grafikbereich- Rückgriff auf Datenmodelle im Grafikbereich
-> Warum dann nicht Grafik und Ton in einem-> Warum dann nicht Grafik und Ton in einemDatenmodell mit gemeinsamer dynamische Datenverwaltung Datenmodell mit gemeinsamer dynamische Datenverwaltung
ablegen?!?ablegen?!?
Reproduktion von Raumklang
PVS PVS vs. vs. PAS PAS
=> Getrennte Datenverwaltung von Grafik und Sound nötig=> Getrennte Datenverwaltung von Grafik und Sound nötig
Reproduktion von Raumklang
Datenstrukturen um Sound dynamisch zu verwaltenDatenstrukturen um Sound dynamisch zu verwalten
-> Grid-> Grid
Reproduktion von Raumklang
Datenstrukturen um Sound dynamisch zu verwaltenDatenstrukturen um Sound dynamisch zu verwalten
-> BSP Trees-> BSP Trees
Reproduktion von Raumklang
Datenstrukturen um Sound dynamisch zu verwaltenDatenstrukturen um Sound dynamisch zu verwalten
-> Octrees-> Octrees
Reproduktion von Raumklang
Datenstrukturen um Sound dynamisch zu verwaltenDatenstrukturen um Sound dynamisch zu verwalten
-> Octrees-> Octrees
Reproduktion von Raumklang
Datenstrukturen um Sound dynamisch zu verwaltenDatenstrukturen um Sound dynamisch zu verwalten
-> Octrees-> Octrees
Reproduktion von Raumklang
Datenstrukturen um Sound dynamisch zu verwaltenDatenstrukturen um Sound dynamisch zu verwalten
-> Octrees – worst- case -> Octrees – worst- case
Reproduktion von Raumklang
Datenstrukturen um Sound dynamisch zu verwaltenDatenstrukturen um Sound dynamisch zu verwalten
-> Octrees – Abstraktion -> Octrees – Abstraktion
Reproduktion von Raumklang
Automatisierte Definition von spezifischen UmgebungsarealenAutomatisierte Definition von spezifischen Umgebungsarealen
KriterienKriterien
A. Größe des Raumes => durch Berechnung innerhalb der Bounding BoxA. Größe des Raumes => durch Berechnung innerhalb der Bounding Box
B. Materialität des Raumes => durch Linked Data der jeweiligen PolygoneB. Materialität des Raumes => durch Linked Data der jeweiligen Polygone
C. Geometrie des Raumes => durch raytracing von den Soundquellen ausC. Geometrie des Raumes => durch raytracing von den Soundquellen aus
Reproduktion von Raumklang
Berechnung von Hindernissen und AbsorptionsfaktorenBerechnung von Hindernissen und Absorptionsfaktoren
-> Normalerweise wäre vollständige Berechnungen für die Pfade der -> Normalerweise wäre vollständige Berechnungen für die Pfade der Schallwellen nötigSchallwellen nötig
-> Viel zu hoher Rechenaufwand bei der Menge der Schallwellen und der -> Viel zu hoher Rechenaufwand bei der Menge der Schallwellen und der aktiven Bewegung des Listenersaktiven Bewegung des Listeners
Reproduktion von Raumklang
Berechnung von Hindernissen und AbsorptionsfaktorenBerechnung von Hindernissen und Absorptionsfaktoren
-> Jeweiligen Hindernissen Absorptionsfaktor hinzufügen-> Jeweiligen Hindernissen Absorptionsfaktor hinzufügen
Reproduktion von Raumklang
Automatisierte Definition von spezifischen UmgebungsarealenAutomatisierte Definition von spezifischen Umgebungsarealen
-> Kosten <-> Nutzen Faktor-> Kosten <-> Nutzen Faktor
-> Zeitaufwand um Algorithmus zu entwickeln vs. Leveldesigner-> Zeitaufwand um Algorithmus zu entwickeln vs. Leveldesigner
-> Fähigkeiten der Klassifikation des Algorithmus vs. Manuelle -> Fähigkeiten der Klassifikation des Algorithmus vs. Manuelle KlassifikationKlassifikation
-> Rechenaufwand, um Räume zu erfassen und einzuordnen-> Rechenaufwand, um Räume zu erfassen und einzuordnen
-> Rechenaufwand für Pfadberechnung bei Hindernissen -> Rechenaufwand für Pfadberechnung bei Hindernissen
vs. Absorptionsfaktorenvs. Absorptionsfaktoren
Reproduktion von Raumklang
Automatisierte Definition von spezifischen UmgebungsarealenAutomatisierte Definition von spezifischen Umgebungsarealen
-> Möglichkeiten der Komplexität:-> Möglichkeiten der Komplexität:
- dynamisch abgetasteter Raum ist nicht mehr auf Trigger- Skripte angewiesen- dynamisch abgetasteter Raum ist nicht mehr auf Trigger- Skripte angewiesen
- Spieler erhält Freiheit in Aktionen, da die KI nicht auf Trigger, sondern - Spieler erhält Freiheit in Aktionen, da die KI nicht auf Trigger, sondern realistischen Raumklang reagiert realistischen Raumklang reagiert
Habt Ihr noch Fragen!?!
VIELEN DANK
FÜR
EURE AUFMERKSAMKEIT!!!
Literaturangaben
McCuskey, Mason: Beginning Game Audio Programming. Boston 2003.
Boer, James: Beginning Game Audio Programming. Boston 2002.
Marks, Aaron: The Complete Guide to Game Audio: For Composers, Musicians, Sound Designers, and Game Developers. Berkeley 2002.
http://www.gamessound.com/