IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

FMOD Discussion :

Sons 3D [FMOD]


Sujet :

FMOD

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2013
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 309
    Points : 105
    Points
    105
    Par défaut Sons 3D
    Bonsoir, je cherche un moyen de créer des effets 3D avec des sons. J'ai une map composée de sources audio (Un pointeur sur FMOD_Sound, un pointeur sur FMOD_Channel et des coordonnées dans l'espace) et une caméra (Des coordonnées dans l'espace et deux angles d'orientation), j'ai essayé de jouer sur le volume (En fonction de la distance entre la source audio et la caméra) et la balance mais ça ne donne pas vraiment l'effet recherché : Si la balance est sur la gauche alors ça donne bien l'impression que la source est à gauche (Si on utilise des écouteurs) et inversément, mais si la balance est centrée alors on ne peut pas dire si la source est devant ou derrière. Est-ce que vous pourriez me conseiller sur une solution éventuelle ? J'ai déjà cherché de ce côté mais je trouve qu'il n'y a pas assez d'explications.

    Merci par avance.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 963
    Points
    32 963
    Billets dans le blog
    4
    Par défaut
    Salut,

    le problème est ? Cette doc est plutôt bien fournie et claire.
    Tu dois positionner ton listener et les paramètres du channel. La partie la plus chiante que j'avais rencontré était le vecteur UP, FMOD utilise des coordonnées left-handed.
    Tu n'as pas à modifier toi-même le volume etc, c'est le but-même d'utiliser les sons 3D et laisser faire FMODex.
    Ensuite c'est à ton matos de gérer ça correctement. Tes écouteurs supportent ce genre de chose ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2013
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 309
    Points : 105
    Points
    105
    Par défaut
    Ok, je viens de jeter de nouveau un oeil, j'ai positionné le listener et chaque source audio mais je n'obtiens pas grand-chose pour le moment, voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    void Principale::gestionSons(void)
    {
        int compteur=0;
        FMOD_VECTOR posSource;
        FMOD_VECTOR posListener;
        FMOD_VECTOR vecteurForward;
        FMOD_VECTOR vecteurUp;
     
        posListener.x=camera.position[0];
        posListener.y=camera.position[1];
        posListener.z=camera.position[2];
     
        vecteurForward.x=camera.cible[0];
        vecteurForward.y=camera.cible[1];
        vecteurForward.z=camera.cible[2];
     
        vecteurUp.x=0;
        vecteurUp.y=0;
        vecteurUp.z=1;
     
        while(1)
        {
            posSource.x=terrain.sources_audio[compteur].position[0];
            posSource.y=terrain.sources_audio[compteur].position[1];
            posSource.z=terrain.sources_audio[compteur].position[2];
     
            FMOD_Channel_Set3DAttributes(terrain.sources_audio[compteur].canal,&posSource,NULL);
     
            compteur++;
            if(compteur==terrain.nbSourcesAudio)
                break;
        }
     
        FMOD_System_Set3DListenerAttributes(terrain.system_audio,0,&posListener,NULL,&vecteurForward,&vecteurUp);
     
        FMOD_System_Update(terrain.system_audio);
    }
    Le son est joué en boucle et la seule chose que le constate c'est un changement dans le volume lors du deuxième lancement du son. Après je ne sais pas si ma carte son supporte cela, j'ai un HP Pavilion G6.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 963
    Points
    32 963
    Billets dans le blog
    4
    Par défaut
    Ton appel à FMOD_RESULT FMOD_Channel_Set3DAttributes ne correspond pas au prototype donné ici https://www.fmod.com/docs/api/conten...ttributes.html
    Le vecteur forward doit être unitaire et ton vecteur up devrait sûrement être calculé en fonction de ta caméra également.
    Tes coordonnées sont-elles left-handed ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2013
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 309
    Points : 105
    Points
    105
    Par défaut
    Qu'est-ce que tu entends par "left-handed" ? Je ne comprends pas ce qu'ils veulent dire dans le tuto lorsqu'ils parlent de coordonnées droitiers ou gauchers.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 963
    Points
    32 963
    Billets dans le blog
    4
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2013
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 309
    Points : 105
    Points
    105
    Par défaut
    Ok alors je dirais que j'ai l'habitude de travailler en right-hand, selon le graphe de droite sur cette image

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment bien déboguer son code ?
    Par D[r]eadLock dans le forum Débuter
    Réponses: 47
    Dernier message: 02/04/2024, 16h06
  2. ecrire son OS (assembleur ??)
    Par Anonymous dans le forum Programmation d'OS
    Réponses: 9
    Dernier message: 25/11/2002, 19h25
  3. Réponses: 2
    Dernier message: 06/07/2002, 12h36
  4. Existe t'il un composant permettant de jouer un son wav?
    Par scorpiwolf dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/06/2002, 14h10
  5. Aquisition de son
    Par don-diego dans le forum DirectX
    Réponses: 1
    Dernier message: 20/06/2002, 09h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo