Nous
allons voir dans çe tuto comment mettre des sons localisés
sur notre map. Dans la vue 2D, faire clic droit /
script / model. Vous obtenez
ainsi un petit cube de couleur bleu.
Maintenez
ce cube, qui s'appelle un script_model,
séléctionné et appellez la console
des entités (raccourci : N). Entrez comme clé
/ valeur
model / fx/dummy.tik
targetname / son_local1
N'oubliez
surtout pas de cocher la case
ALWAYS_DRAW. Cela sert à ce que l'on entende
le son, même si un mur vous sépare du script_model.
Si on ne le faisait pas, vous n'entendriez le son que
dans la pièce ou vous l'avez mis !
Et
voilà c'est fini au niveau mapping.
De
manière générale, si vous voulez
trouver un son :
-- soit vous prenez Packscape et vous ouvrez le pack3.pk3
dans lequel se trouvent beaucoup de sons (notez le
chemin comme ceci : sound/mechanics/Mec_Alarm_02.wav)
-- soit vous faites la même chose mais sans
passer par packscape, en allant dans le dossier sound
situé dans main.
(Note : Pour un son de pluie
sous un toit, on mettrait ceci : sound/amb/Amb_RainRoof_02.wav)
Maintenant
le script :
--
Dans votre script nomdelamap.scr, mettez ceci en
dessous de main: : (on va prendre l'exemple du son de pluie)
local.master
= spawn ScriptMaster
local.master aliascache pluie1 sound/amb/Amb_RainRoof_02.wav
soundparms 1.2 0.2
0.8 0.2
500 1000
auto loaded maps "dm obj"
1.2
c'est le volume du son "BaseVolume"
0.2
Ici le volume serra modifier à chaque départ
"RandomVolume" (exemple:
volume 1.2 RandVolume
0.2 = volume
compris entre 1.0
et 1.4)
0.8
est la modulation du son "Pitch"
au depart (pour ne pas avoir toujours le son à
la même fréquence) à 1.0
pas de modulation dans le son.
0.2
c'est la modulation pendant son écoute
"randomPitch"
500 c'est la distance
"MinDist"
autour du script_model
jusqu'à laquelle on entend le son à
un volume de 1.2.
Au-delà de 500
le volume du sons baisse.
1000 c'est la distance
au-delà de laquelle on entend plus le son
"maxDist".
500 et 1000
sont des unités de radiant, dites unités
quake (du nom du moteur du jeu)
-- Dans
le script nomdelamap_precache.scr, mettez ceci
:
aliascache
pluie1 sound/amb/Amb_RainRoof_02.wav soundparms
1.2 0.2
0.8 0.2
500 1000
auto loaded maps "dm
obj"
Cela
sert à mettre en mémoire le son
lors du chargement de la carte et à éviter
les "lags" lorsque votre son sera joué
!
On
revient dans le script nomdelamap.scr, et
on met ceci :
//ici
vous mettez ce que je vous ai dit de mettre plus haut
(local.master ...)
level
waittill prespawn
level waittill spawn
$son_local1
playsound pluie1
Vous
voyez ici que pluie1 est le nom donné au son que
nous avont déclaré plus haut !
La commande playsound joue le son UNE SEULE FOIS. Si vous
voulez qu'il soit joué en boucle, alors il faudra
mettre :
$son_local1
loopsound pluie1 1.2 500
les
chiffres en couleurs ont la même fonction que ceux
que j'ai cité plus haut (sauf le troisième
qui n'y est pas ici). Mais vous vous demandez pourquoi on
les remet ici alors qu'on les a défini lors de la
déclaration du son (aliascache ...). Et bien tout
simplement parceque la commande loopsound ne prend pas en
compte ces valeurs, et qu'il faut les redéfinir ici.
Pourquoi ? Je ne saurais pas vous répondre, mais
c'est comme ça.
Voilà
c'est fini, vous n'avez plus qu'à tester.
Par
Danker
2003
- Copyright © by CaskAmi Prod. Tout droit réservé.
|
Page
générée en
$time = microtime();
$time = explode(" ",$time);
$time = $time[1] + $time[0];
$endtime = $time;
$totaltime = ($endtime - $startime);
echo ''.number_format($totaltime,4,',',''),' secondes'; ?>
|