SFML - Listener

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • SFML - Listener

    Hay!
    Wie ist das, mein Verständnis versagt da, kann man bei den Listenern nur ein "Objekt" erstellen was irgendwo im Spiel sitzt oder mehrere?
    Was würde eher zutreffen, 1 oder 2?
    1: Krankenwagen kommt von links. Man hört leise das Geräusch aus dem linkem Lautsprecher, dann aus beiden. Als der Krankenwagen wegfährt hört man nur noch ein bisschen aus dem Rechtem. Hierbei ist der Listener auf dem Krankenwagen. Das Ziel bei uns.
    2: Wir kommen zu einem Krankenwagen von rechts. Man hört leise das Geräusch aus dem linkem Lautsprecher, dann aus beiden. Als wir weggehen hören wir nichts mehr, nur noch ein bisschen aus dem Rechtem. Hierbei ist der Listener auf uns. Das Ziel beim Krankenwagen.
    Zum Verständnis: Ist es so das beim Listener etwas leise gemacht wird, je nach dem wo das Ziel ist, oder macht das Ziel leiser wenn der Listener kommt?
    Gilt der Listener Global für alle Sounds oder kann man ihn auch auf nur einen beziehen?

    MfG
    Check
  • Stichwort 2D/3D audio effect.

    Der Listener, das ist die Person die zu hört, von dem gibt es theoretisch nur einen bzw. bei Multiplayer je nach dem an welcher Position ein Spieler sich befindet, und muss deswegen immer Positionsabhängig berechnet werden.

    Die Geräsche sind an die jeweiligen Objekte gekoppelt und haben einen "konstante" Lautstärke, welche mit der redialen Entfernung abnimmt (einfachste Sichtweise).

    1. Wenn du als Listener auf dem Krankenwagen sitzt, dann Bewegst du dich mit dem Krankenwagen und damit ändert sich die Entfernung zum Objekt nicht, da du ja mitfährst, und damit bleibt die Lautstärke des Geräsches zu jeder Zeit gleich.
    Wenn du hingegen als Listener am "Bürgerstandrand" stehst und der Krankenwagen kommt von links nach rechts vorbei dann ändert sich die Lautstärke, wie gesagt mit der Entfernung, und es entsteht der Effekt den du bei EINS beschrieben hast.

    2. Wenn der Krankenwagensteht, Bildhaft in der Mitte des Bildschirms, und du kommst als Spieler. bzw. Listener von links nach rechts an diesem vorbei, dann hast du den selben Effekt wie deine Beschriebung bei eins, hier gilt wiederm die Entfernung zum Objekt ist (anti-)propotional Lautstärke des Objekts.

    Wenn du es so siehst dann wird beim Listener etwas leiser gemacht, aber im Prinzip ist es Ansichtssache, ich finde dies jedoch physikalsich einfacher zu verstehen.

    Physikalscih gilt der Listener für alle Geräsche, welche sich überlagern. Wie du es virtuell machst ist deine Sache.

    Mfg Rushh0ur
  • Also geht jeweils nur ein Listener?

    Wie koppelt man die bestimmten Sounds zu den Objekten? Bislang kann ich nur einen Sound, und Musik, abspielen lassen, wenn ein bestimmtes Ereignis eintritt. Doch diesem Koordinaten zuordnen, bislang noch nicht angeschaut.
    Beispiel:

    Quellcode

    1. void Beispiel(float x, float y, float z)
    2. {
    3. sf::Sound s;
    4. s.SetPosition(x, y, z);
    5. }


    MfG
    Check

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Checkmateing ()