Pages traduites Pages à traduire Pages en cours de traduction
A propos
 

Ceci est une ancienne révision du document !



Musique et son

Le son et la musique représentent un aspect essentiel de l'expérience vidéoludique, et AGS 3.2 offre désormais un système audio remanié qui vous donne un contrôle total sur la partie audio de votre jeu.

Formats des fichiers

AGS sait lire les types de fichiers audio suivants : OGG, MP3, MIDI, WAV (décompressé), MOD, XM, IT, S3M et VOC.

La seule limitation à ceci est qu'AGS n'est capable de lire qu'un seul fichier MIDI à la fois. Si vous essayez de jouer deux fichiers MIDI simultanément, le premier sera coupé lorsque le second commencera à être lu.

Si vous n'avez jamais entendu parler de OGG auparavant, il s'agit d'un format de musique digital, similaire au MP3, mais qui propose une meilleure compression pour une qualité supérieure. Plus important, il s'agit d'un format totalement libre, vous n'avez donc besoin de payer aucune royalty ou autorisation pour l'utiliser. Pour plus d'information et des logiciels vous permetant d'encoder votre musique au format OGG, visitez http://www.vorbis.org/

Audio dans l'éditeur

Inspectez la branche “Audio” dans l'arborescence du projet. Vous y trouverez des nœuds nommés “Speech” (”Doublage”), “Types” et deux dossiers nommés “Music” et “Sounds” (“Musique” et “Sons”).

Doublage vocal

Pour le moment, les fichiers de doublage vocal ne se gèrent pas directement dans l'éditeur. Consultez la page d'aide Doublage pour en savoir plus sur cette fonctionnalité.

Types Audio

Les Types Audio vous permettent de regrouper les types similaires de fichiers audio. On distinguera communément les Musiques et les Sons, les Musiques étant généralement jouées une à la fois alors que vous pouvez vouloir jouer plusieurs effets sonores simultanément.

Double-cliques sur un Type Audio pour l'ouvrir ; ses propriétés s'affichent dans la grille des propriétés. Le réglage “MaxChannels” vous permet de définir combien de séquences audio de ce type peuvent être jouées à la fois. Le réglage “VolumeReductionWhenSpeechPlaying” vous permet de réduire automatiquement le volume de ces séquences audio lorsque du dialogue est joué, afin que le joueur puisse entendre plus facilement les voix que la musique.

Les réglages par défaut vous conviendront sans doute et vous n'aurez pas besoin de les changer dans la plupart des jeux.

Importer des fichiers audio

La question majeure maintenant – comment ajouter du son et de la musique dans votre jeu ? Eh bien, si vous faites un clic droit sur les dossiers “Sound” (Son) ou “Music” (Musique) (ou tout autre dossiers que vous créez), vous verrez une option “Add Audio Files” (Ajouter Fichiers Audio).

Sélectionnez cette option et une fenêtre s'affichera pour que vous sélectionniez les fichiers audio à importer. Une fois importés, des noms de script leur seront assignés automatiquement.

Double-cliquez sur un fichier audio dans l'arbre du projet pour ouvrir une fenêtre qui vous permettra de l'écouter ainsi que de modifier ses propriétés dans la grille des propriétés.

Jouer du son dans le jeu

Le script pour jouer une séquence audio dans le jeu est très simple. Par exemple :

aExplosion.Play();

jouera la séquence audio appelée aExplosion.

Priorités des canaux

AGS possède actuellement un système audio à 8 canaux, ce qui signifie que jusqu'à 8 sons peuvent être joués à la fois. Avec les réglages par défaut pour les Types Audio, un canal est réservé au doublage, un à la musique et un pour les sons ambiants ; ce qui vous en laisse 5 disponibles pour les effets sonores.

Si vous essayez de jouer une séquence audio et qu'il n'y a aucun canal de disponible, alors un canal occupé sera libéré et la séquence qu'il jouait sera remplacée par la nouvelle. Cependant, cela n'aura lieu que si la nouvelle séquence audio a une priorité égale ou supérieure à celle du son en cours de lecture.

La priorité vous permet ainsi de décider quelles séquences audio sont plus importantes que les autres. Par exemple, vous pourriez définir un son de pas avec une priorité basse et un son de porte qui s'ouvre avec une priorité haute. Cela peut être défini au niveau du dossier dans l'éditeur, mais aussi en changeant les propriétés d'une séquence audio individuelle (qui hérite par défaut de la priorité du dossier qui la contient).

Parfois vous pourriez ne pas vouloir que la priorité du son soit définie dans l'éditeur – vous pourriez vouloir la définir dans le script lorsque vous lancez la séquence. C'est pourquoi la commande Play présente un paramètre optionnel qui vous permet de spécifier explicitement la priorité, par exemple :

aExplosion.Play(eAudioPriorityLow);

jouera la séquence aExplosion avec une priorité basse.

Déplacement et contrôle du volume

Alors, comment manipule-t-on un son en cours de lecture ? Eh bien, il n'existe aucune méthode Audio Clip (Séquence Audio) à cet effet car vous pourriez vouloir jouer deux copies du même son à la fois, et alors AGS ne saurait pas auquel vous voulez accéder. C'est là que les Canaux Audio viennent à votre rescousse.

Lorsque vous utilisez la commande Play(), AGS retourne un élément AudioChannel* représentant le canal sur lequel le son est joué. Vous pouvez le garder en mémoire dans une variable globale et y accéder plus tard. Par exemple :

AudioChannel* canal = aExplosion.Play();
canal.Volume = 20;

Ceci lancera la séquence aExplosion et définira son volume à 20%.

Utiliser les Canaux Audio

Supposez que vous vouliez lancer un son maintenant et changer son volume ou son équilibrage plus tard. Comment feriez-vous ? Eh bien il vous faudrait garder l'élément AudioChannel sous le coude, de façon à pouvoir y accéder à nouveau plus tard. La façon la plus simple de le faire est de créer une Variable Globale ; si vous ouvrez l'éditeur de Variables Globales (Global Variables), vous pouvez créer une nouvelle variable AudioChannel* (appelons-la longSonOrageux). Ensuite, lorsque vous lancez le son vous procédez comme suit :

longSonOrageux = aExplosion.Play();

plus tard, ailleurs dans le script, vous pouvez changer le volume comme cela :

if (longSonOrageux != null)
{
  longSonOrageux.Volume = 20;
}

Notez la vérification (différent de null) ici – cela pour s'assurer que le jeu ne crashera pas si le son n'est pas en cours de lecture (il pourrait être terminé ou pas encore lancé).

Volume général

Il existe une propriété System.Volume qui contrôle le volume général du jeu, que vous pouvez utiliser comme une sorte de contrôle du volume par curseur pour le joueur. Le volume de chaque son est déterminé relativement à ce volume général.

Conclusion

Le nouveau système audio d'AGS vous donne plus de contrôle sur l'aspect audio de votre jeu. Consultez les sections suivantes pour une liste complète des commandes supportées :

Commandes AudioClip,
Commandes AudioChannel,
Doublage,
Le dossier AudioCache

Doublage

AGS vous permet d'associer une ligne de dialogue à un fichier son, afin de proposer un jeu “parlant”. Supposons que vous ayez un script de dialogue commençant comme cela :

ego: "Salut, tu vas bien ?"
david: "Très bien."

En temps normal ces lignes s'affichent textuellement au-dessus des têtes des personnages. Cependant, vous pouvez ajouter le caractère spécial '&' pour signaler qu'un fichier audio devrait également être lancé. Le nom du fichier correspondra aux quatre premières lettres du nom de script (script name) du personnage suivies d'un nombre d'identification. Par exemple,

ego: &10 "Salut, tu vas bien ?"
david: &7 "Très bien."

Cela lancera le fichier EGO10.WAV à l'affichage de la première ligne, puis le fichier DAVI7.WAV à l'affichage de la seconde. Lorsqu'une ligne de texte est associée à un fichier voix, le texte affiché à l'écran ne sera effacé que lorsque la lecture du fichier audio sera terminée. Si le joueur l'interrompt en cliquant ou en pressant une touche, le texte ainsi que la voix seront stoppés. Ces fichiers audio doivent être placés dans le sous-répertoire “Speech” du dossier du jeu.

Vous pouvez aussi utiliser cette option avec la commande Say.

cEgo.Say("&10 Salut, tu vas bien ?");
cDavid.Say("&7 Très bien.");

NOTE : Vous pouvez utiliser les formats de fichiers WAV, OGG et MP3.

NOTE: Vous ne pouvez pas utiliser des nombres supérieurs à 9999. Cela signifie que vous pouvez utiliser des fichiers de EGO1.OGG jusqu'à EGO9999.OGG, mais vous ne pouvez pas utiliser EGO10000.OGG ou supérieur.

Les fichiers vocaux sont compilés dans un fichier nommé SPEECH.VOX, à l'écart du reste des données de votre jeu de façon à ce que vous puissiez le proposer comme une option supplémentaire à télécharger. Sans ce fichier, le jeu fonctionnera normalement, sans discours vocal.

Voir aussi : fonction SetVoiceMode.

Le dossier AudioCache

Si vous importez des fichiers audio dans AGS, vous remarquerez probablement qu'un dossier, nommé AudioCache, commence à se remplir de fichiers dans votre répertoire de jeu. De quoi s'agit-il et pourquoi est-ce là ?

Eh bien lorsque vous importez un élément audio dans AGS, cela peut se faire à partir de n'importe quel support – votre disque dur, mais aussi une clé USB ou un CD. Il n'est pas raisonnable qu'AGS aille chercher à cet endroit à chaque fois, puisque vous êtes susceptible de retirer la clé USB ou de supprimer ses fichiers.

Ainsi, lorsque vous importez un fichier audio dans AGS, celui-ci en crée une copie dans le dossier AudioCache. AGS se souvient aussi d'où provient le fichier, et lorsque vous compilez votre jeu, il vérifiera si le fichier du dossier d'origine a été mis à jour – et il copiera la version la plus récente dans AudioCache si c'est le cas.

Mais si le fichier source n'existe plus, votre jeu pourra continuer à être compilé sans soucis puisqu'AGS possède sa propre copie.

Ceci permet à AGS de coller à un de ses principes de base, selon lequel tous les fichiers dont vous avez besoin pour compiler votre jeu se trouvent dans son dossier même. De cette façon, en faisant une copie de sauvegarde du dossier de votre jeu, vous savez que vous êtes en totale sécurité même si le pire se produit.

 
musique_et_son.1349297694.txt.gz · Dernière modification: 03/10/2012 22:54 par 88.171.39.213
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki