Java3D et spatialisation du son

zeratrul Messages postés 2 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 14 avril 2008 - 14 avril 2008 à 03:55
 Utilisateur anonyme - 15 avril 2008 à 07:17
Salut,

Je débute en java3d , et j'aimerai faire de la spatialisation du son , je suis
arriver a créer deux cube et insérer du son dans chacun des deux ,et aussi de
bouger la camera de façon a ce que je puisse me balader dans l'univers 3D, et
donc j'aimerai pouvoir jouer avec l'intensité du son selon la position de la
camera par rapport au cube,

Par exemple si je bouge la camera en s'approchant d'un cube, le son émis par ce
dernier devient plus fort, et le son de l’autre cube diminue. Ou bien entendre
le son du cube de gauche dans le haut parleur gauche et pour le cube de
droite dans le haut parleur de droite...


Voila, j'espère que ce n'est pas trop difficile a réaliser.


Merci d'avance pour vos réponses.

3 réponses

Utilisateur anonyme
14 avril 2008 à 07:39
Bonjour

Qu'appelles-tu "insérer du son dans chacun des deux"? Je ne pense pas que moduler le son en fonction de la distance soit très difficile (je l'ai déjà fait pour mon jeu) mais il faut que tu précises ce que tu utilises pour gérer le son en Java. Utilises-tu le Java de base ou bien une API? Si tu utilises une API, précise laquelle. Je ne le savais pas mais je viens de voir qu'il y a un "mixer" pour le son en Java3D : com.sun.j3d.audioengines.javasound.JavaSoundMixer. Est-ce ce que tu utilises? Si c'est le cas, va voir ceci :
http://www.java-tips.org/other-api-tips/java3d/how-to-use-3d-sound-in-java3d.html

Je précise qu'en 2004, JavaSoundMixer était cassé, je pensais qu'il ne marchait plus depuis... Si ça ne fonctionne pas, tourne toi vers JOAL ou bien JOGG+JORBIS. Je ne sais pas où en est le projet de JOALMixer dans Java3D, ça peut aussi être une autre solution. Bon courage.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
zeratrul Messages postés 2 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 14 avril 2008
14 avril 2008 à 23:33
salut,
merci pour la reponse, oui , jutilise bien javasound 

{ MediaContainer sd = chercheMediaContainer(

"LASER.WAV");
if ( sd ! <gras>null ) {ConeSound cs</gras>

new ConeSound(sd,3.0f,0.0f,0.0f,0.0f,0.0f,0.0f,1.0f);cs.setLoop(Sound.

INFINITE_LOOPS);cs.setEnable(

true);cs.setSchedulingBounds(bounds);

TG1.addChild(cs);

} }

j'ai vu le lien que tu ma passer, j'ai du le modifier un peu pour qu'il compile , mais finalement il fait pas de la spatialisation du son , il cree un cube avec un son backgroud , et deux autre son , donc quand je me raproche du cube le son ne change pas.

si non j'ai telcharger ton jeu , je lé inclus dans un projet eclipse via le script ANT, ca compile bien , mais lors de lexecution il me genere lerreur suivante :

Buildfile:

C:\Documents and Settings\Admin\workspace\TUER\build.xmlrun-game

:[

java] java.lang.NoClassDefFoundError: connection/GameServiceProvider[java] Exception in thread "main"

BUILD FAILED

C:\Documents and Settings\Admin\workspace\TUER\build.xml:129: Java returned: 1

Total time: 1 second

donc je vois toujours pas comment je peux moduler le son en fonction de la distance.
0
Utilisateur anonyme
15 avril 2008 à 07:17
Bonjour

Tu as pris les sources du jeu, il faut d'abord installer JOGL puis compiler les sources car toi, tu as directement lancé la cible "run-game" donc Eclipse ne trouve pas les fichiers ".class". Pour ce faire, utilise Java 1.6. Il faut d'abord lancer la cible ANT "compile" puis la cible "run-generator". Ensuite, tu peux lancer la cible "run-game".

Mon jeu utilise JOGG et JORBIS. Tu peux quand même t'inspirer de ce qui est appelé dans les méthodes playSound(...) car l'une d'elles prend en paramètre l'endroit où le joueur est et l'endroit où le bruit est donc ça t'avancerait déjà un petit peu. JOGG et JORBIS utilisent Java Sound donc tu devrais retomber sur tes pieds. Bon courage.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Rejoignez-nous