MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
84<br />
falls hörpositionsabhängige) Gesamtverzögerung ausreichend klein zu sein, um eine Umsetzung des<br />
verteilten Soundsystems zu wagen.<br />
Unsere Implementierung des in diesem Abschnitt vorgestellten Amplitude Panning Ansatzes ist in<br />
madness sound.cpp zu finden und sorgt dafür, dass in jedem Frame die Gain-Faktoren pro Sound<br />
und Lautsprecher aktualisiert werden. Drei Soundmodelle sind möglich: Das vorgestellte System<br />
mit herkömmlicher Projektoraufstellung, mit um 90 ◦ gedrehter Beamermontage (in unserem Cave<br />
verwendet) sowie das alte Modell für Stereokopfhörer. Das gewünschte Szenario ist auf jedem Rechner<br />
des Verbunds über die Umgebungsvariable MADNESS SOUND MODEL einzustellen. Darüber hinaus<br />
gibt es weitere Variablen zur Festlegung der Boxenaufstellwinkel und zur Links/Rechts-Umkehr der<br />
Stereoausgabe zwecks Vereinfachung der Lautsprechermontage.<br />
Zur Netzwerksynchronisation haben wir micado network sample und micado network sound als<br />
Unterklassen von madness sound sample resp. madness sound implementiert.<br />
9.3 Das Interface zur Kreatur-KI: Die Soundmanager<br />
Passend zu den verschiedenen Aktionen, die eine Kreatur im Laufe ihres virtuellen Lebenswandels<br />
ausführen kann, gibt es eine Menge von Soundeffekten, welche diese akustisch untermalen. Für jede<br />
Kreatur ist in ihrer Konfigurationsdatei anzugeben, welche Sounddateien für sie verwendet werden<br />
sollen und mit welcher Lautstärke, Reichweite und Priorität diese abzuspielen sind, sowie in<br />
welchem Loop-Modus. Nach Laden der Konfiguration befinden sich die nötigen Samples auf allen<br />
Rechnern des Verbunds im Speicher und die Kreatur unterhält auf dem Master eine Tabelle mit den<br />
Abspieloptionen.<br />
Um die einzelnen Klänge abzuspielen, verwenden die Kreaturen aus eingangs aufgeführtem Grund<br />
nicht direkt die Klassen micado network sample und micado network sound, sondern benutzen die<br />
Soundmanager, welche ein einheitliches, einfaches Interface zur Soundwiedergabe zur Verfügung<br />
stellen. Jeder dieser Soundmanager ist für die Verwaltung einer ihm unterstellten Menge von Kanälen<br />
des SDL-Softwaremixers zuständig und führt eine Liste aller prinzipiell von ihm abzuspielenden Soundquellen.<br />
Nur die mit der kürzesten Distanz zur Kamera 11 werden dabei berücksichtigt und bekommen<br />
von ihm einen Kanal zugeteilt, der Rest wird stummgeschaltet. Die Abspiellisten werden<br />
vor dem Rendern eines jeden Frames automatisch aktualisiert. Wie die Kreatur-KI arbeiten die So-<br />
11 Präziser: Mit dem kleinsten Produkt von Abspielpriorität und Distanz zur Kamera.