DOSSIER: Démos Source

Transcription

DOSSIER: Démos Source
Half-Life 2 & Mods
DOSSIER: Démos Source
Sommaire
1 - Introduction
2 – Enregistrer et Lire une Démo
3 – Lecteur de Démo
4 – Editeur de Démo
5 – Lisseur de Démo
6 – Lisser les angles de la sélection
7 – Lisser l’origine de la sélection
8 – Interpolation linéaire des angles
9 – Interpolation linéaire des origines
10 - Spline d’angles et Spline d’origines
11 - Commandes Console pour Démos
12 - Tutorial Vidéo
1- Introduction
Le moteur Source fournit un jeu d’outils utiles pour enregistrer une partie sous forme de démo vidéo. Ces
fonctions sont accessibles par les commandes console et des interfaces graphiques (GUI) comme le Lecteur de
démo, l’Editeur de démo, et l’Arrangeur de démo.
2- Enregistrer et Lire une Démo
Pour enregistrer une partie, tapez dans la console record “nomfichier”, où le nom du fichier ne devrait
contenir aucun caractère spécial ni d’espace. Le fichier démo (extension .dem) est sauvegardé dans votre
répertoire du jeu (par exemple …\hl2\name.dem). Vous pouvez enregistrer une démo à n’importe quel moment
pendant une partie et l’arrêter avec la commande stop. Si la map change pendant l’enregistrement, la démo
sera terminée et une nouvelle démo sera commencée qui s’appellera nomfichier_2 (et ainsi de suite pour
chaque nouvelle map, nomfichier_3, nomfichier_4, etc.). Pour lire une démo ainsi enregistrée, tapez
playdemo “nomfichier”. Si vous voulez utiliser la lecture d’une démo pour effectuer des tests de
performances matériels (benchmarks), utilisez la commande timedemo “nomfichier”. La commande
timedemo joue la démo aussi rapidement que possible, et affiche les statistiques de performances à la fin de la
lecture (nombre d’images affichées, temps de la lecture, moyenne des images par secondes et indice de
variabilité).
3- Lecteur de Démo
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 1 sur 7
A tout moment pendant la lecture d’un fichier démo, la fenêtre du Lecteur de Démo peut être activée en
appuyant sur Shift-F2 ou en utilisant la commande demoui. Le Lecteur de Démo permet de mettre en pause et
de reprendre la lecture, d’en changer la vitesse ou de modifier le point de vue de la caméra.
Pour charger un nouveau fichier démo, cliquez sur le bouton “Load…” et choisissez un fichier sur le disque. Le
nom du fichier chargé sera affiché en dessous du bouton “Load…”. En dessous apparaît le temps total et
instantané de la lecture. En utilisant le curseur de droite, vous pouvez faire varier la vitesse de lecture du ralenti
à l’avance rapide (0% à 600%). En dessous de la barre d’avancement général, se trouvent les boutons de control
de lecture : "Play", "Pause", "Resume", image suivante ">", aller au début "|<", aller à la fin ">|" (certaines
fonctions ne sont pas encore actives, comme image précédente "<", retour rapide "<<").
En interne, les démos enregistrées utilisent des repères de temps appelés ticks, pour marquer les images pendant
la lecture. Comme le temps de lecture, les ticks sont indiqués à gauche du bouton "Goto:". Vous pouvez aller
directement à un repère en entrant le tick cible dans le champs texte de droite et en appuyant sur le bouton
"Goto:".
Pour changer le point de vue de la camera, passez en mode “Camera Drive” en appuyant sur le bouton
"Drive...". Le bouton restera dans l’état enfoncé tant que le mode “Camera Drive” sera actif. Pour déplacer la
caméra, déplacez la souris pour choisir l’angle de vue, maintenez le clic gauche enfoncé et déplacez vous avec
les touches W, A, S, D. Vous pouvez déplacer la caméra vers le haut ou le bas avec les touches Z et X et
ralentir avec la touche SHIFT. Lorsque la démo est en pause, cela peut-être très utile pour prendre des captures
d’écran (utilisez r_drawviewmodel 0 et cl_drawhud 0 pour nettoyer l’écran). Appuyez de nouveau sur le
bouton "Drive..." pour revenir à la vue normale et sortir du mode “Camera Drive”.
4- Editeur de Démo
Pour ouvrir l’Editeur de Démo, cliquez le bouton "Edit..." de la fenêtre du Lecteur de Démo. L’Editeur de
Démo vous permet d’ajouter et d’exécuter une série de commandes pendant la lecture de la démo. Ces
commandes de démo peuvent afficher un texte, créer des effets de fondu, modifier le FOV (Field Of View = le
champ de vision) ou exécuter n’importe quelle commande console. L’Editeur de Démo ne peut pas changer la
vue caméra, pour cela utilisez le Lisseur de Démo (Demo Smoother, voir plus bas). Les commandes de démo ne
sont pas sauvegardées dans le fichier démo mais dans un fichier texte additionnel nommé nomdelademo.vdm.
Ces fichiers texte .VDM sont chargés et exécutés à fois qu’une démo portant le même nom est jouée.
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 2 sur 7
Pour ajouter une nouvelle commande, cliquez le bouton "New->" et choisissez la commande démo à exécuter,
par exemple PlayCommands pour exécuter une commande console. Chaque commande démo possède un nom
et un repère temporel (horloge ou tick) pour être exécutée. Si vous une nouvelle entrée PlayCommands,
choisissez un nouveau nom (ex : "Ma Commande"), mettez "Start on" sur "TimeUseTick", entrez un numéro
de tick valide et entrez la commande console à exécuter (ex : "echo Ceci est ma nouvelle commande". Puis
cliquez sur "OK" et la nouvelle commande sera ajoutée à la liste des commandes. Les commandes existantes
peuvent être modifiées en cliquant sur "Edit..." ou effacées en cliquant sur "Delete". Une fois la liste de
commandes démo complétée, vous pouvez la sauvegarder dans le fichier nomdelademo.vdm en cliquant sur
"Save".
La liste suivante donne un aperçu des commandes démo disponibles:
Passer directement au tick spécifié, pendant la lecture.
Stopper immédiatement la lecture de la démo.
PlayCommands
Exécuter une commande console
ScreenFadeStart
Effectuer un fondu (ouvert ou fermé : in/out).
TextMessageStart
Afficher un message texte simple.
PlayCDTrackStart
Commencer à jouer une piste CD.
PlaySoundStart
Jouer un fichier son .WAV ou .MP3.
Pause
Mettre la lecture en pause pour un temps donné (en secondes).
ChangePlaybackRate Modifier la vitesse de lecture de la démo.
ZoomFov
Ajouter un effet de zoom (in/out).
SkipAhead
StopPlayback
5- Lisseur de Démo
Le Lisseur de Démo est le plus complexe des outils de démo et permet de forcer la vue caméra dans les fichiers
démos. Cela peut être utilisé pour lisser les mouvements de caméra ou pour créer de nouveaux mouvements de
caméra. Pour ouvrir le Lisseur de Démo, cliquez sur le bouton "Smooth..." de la fenêtre du Lecteur de Démo.
La première chose à faire est de mettre la lecture de la démo en pause et de charger les données de la vue
existante en cliquant sur le bouton "Reload". Cochez la case "Show All" pour voir le chemin complet de la
caméra dans le fichier démo (dessiné en blanc). Pendant que vous travaillez avec le Lisseur de Démo, vous
pouvez à tout moment passer en mode "Camera Drive" et vous déplacer dans la map. Si vous n’êtes pas en
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 3 sur 7
mode "Camera Drive", vous pouvez cocher la case "Back off" pour reculer un peu la vue afin de mieux voir le
chemin de la caméra.
Pour travailler avec le Lisseur de Démo, vous devez avoir une sélection active. Pour sélectionner une portion du
chemin de caméra à modifier, remplissez les champs "Start Tick" et "End Tick" puis cliquez sur "Select".
Cette fourchette est maintenant votre sélection active, et la portion du chemin sélectionnée apparaît maintenant
en jaune. Cliquez sur le bouton "Show Original" et la caméra suivra le chemin sélectionné. Notez que nous
sommes en retrait car la case "Back Off" est cochée, cela pour la prévisualisation. Décochez maintenant cette
case "Back Off". Cochez la case "Lock Camera" puis maintenez enfoncé le bouton "Drive Camera" et
utilisez les touches WASD et la souris pour déplacer la caméra. Appuyez sur la touche "S" et reculez la vue
depuis le point de vue caméra actuel.
Depuis cette vue, la boîte bleue et le vecteur en rouge représentent la vue camera actuelle. Si vous avez coché
"Lock Camera" et que vous appuyez sur les boutons "<<" ou ">>" le marqueur sera déplacé d’une image vers
l’avant ou vers l’arrière. Si vous utilisez ces boutons en ayant décochée la case "Lock Camera" alors vous
passerez directement à la vue caméra correspondante. Les portions blanches au début et à la fin du chemin
dessiné en jaune montrent une partie du mouvement de caméra avant et après la sélection active. Cliquer sur le
bouton "Process->" affichera le menu des types de procédés de lissage actuellement supportés.
6- Lisser les angles de la sélection
Cette fonction (Smooth Selection Angles) calcule les angles de vue moyens sur environ 10 échantillons, en
enlevant les bruits de la caméra (mouvements parasites). Les angles de caméra lissés sont affichés en violet à
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 4 sur 7
côté des échantillons affichés en jaune. Vous pouvez prévisualiser les positions calculées en cliquant sur le
bouton "Show Processed" (soyez sûr d’avoir décoché la case "Lock Camera" si vous voulez voir la vue
caméra, sinon vous verrez juste la boîte bleue et son vecteur rouge se déplacer sur votre sélection).
A noter que le réglage de la vitesse de lecture du Lecteur de Démo aura une influence sur la vitesse de lecture
des fonctions "Show Original" et "Show Processed" (et "Drive Camera") dans le Lisseur de Démo. Ok,
c’est juste un lissage d’angles pur en calculant une moyenne sur un faible échantillon. Pour annuler ce
changement, cliquez simplement sur le bouton "Undo".
7- Lisser l’origine de la sélection
Cette fonction (Smooth Selection Origin) est similaire à la précédente mais applique son calcul par rapport à la
position d’origine de la sélection. Elle peut être utilisée pour réduire un peu l’effet saccadé du mouvement de
caméra (bruits/ mouvements parasites). Le nouveau chemin lissé apparaît en jaune clair, déviant du chemin
original affiché en gris. Cela représente le nouveau chemin lissé que la caméra suivra. Bien sûr, vous pouvez
appliquer les deux procédés de lissages (lissage des angles et lissage de l’origine) à la sélection, etc.
8- Interpolation linéaire des angles
Ce procédé (Linear Interp Angles) de lissage prend uniquement le premier et le dernier échantillon de la
sélection active et calcule par interpolation linéaire les nouveaux angles de vue de la caméra pour toute la
portion sélectionnée.
9- Interpolation linéaire de l’origine
Comme pour la fonction précédente, Ce procédé (Linear Interp Origin) calcule l’origine du point de vue par
interpolation linéaire des origines entre le premier et le dernier échantillon. Comme vous pourrez le voir, la
position de la caméra suit alors un chemin plus direct depuis la position du début jusqu’à la dernière position de
la caméra, mais l’angle de vue original (angle horizontal, vertical et rotation) est préservé. Vous pouvez
également utiliser l’interpolation linéaire des angles après l’interpolation linéaire de l’origine afin de lisser les
angles de vue de la sélection.
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 5 sur 7
10- Spline d’angles et Spline d’origines
[NdT] déf. : La fonction spline est une fonction courbe mathématique passant par un ensemble de points
définis. (…)Le déplacement d’un des points n’a d’effet que localement sur la courbe.
Les fonctions "Spline Angles" et "Spline Origin" requièrent en général le marquage de certains échantillons en
tant qu’"images clés" (Key Frames) afin de créer la spline. Par défaut, le premier et le dernier échantillon sont
automatiquement qualifiés en tant qu’images clés dites "ancres" (Anchor), mais vous choisirez certainement
d’ajouter au moins une, si ce n’est plusieurs images clés supplémentaires.
La meilleure façon de procéder est de considérer les échantillons sélectionnés comme référence temporelle et
d’utiliser les boutons "<<" et ">>" pour placer le curseur bleu (la caméra) sur l’échantillon que l’on désire
marquer comme image clé. Une fois cela fait, décochez l’option "Lock Camera" si elle est cochée et cliquez
sur le bouton "Set View" pour voir avec le point de vue de la caméra.
Vous pouvez alors déplacer l’échantillon en choisissant le mode "Drive Camera" et en vous déplaçant avec le
clavier, la souris, etc. Une fois votre échantillon positionné et orienté comme désiré (en utilisant juste la
caméra), cliquez sur le bouton "Make Key". Si vous reculez un peu la vue, vous verrez alors une boîte verte
(copie de la boîte bleue) qui désigne l’emplacement de l’image clé. Continuez ainsi pour chaque nouvelle
image clé à définir. Reste enfin à lisser les bords du tracé…
Le dernier composant du Lisseur de Démo (Smoothing out the edges) est utile pour adoucir les bords du tracé
(du chemin de la caméra) après le travail d’une sélection dans un fichier .dem. Par exemple, sélectionner les 5
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 6 sur 7
dernières images pour lisser le bord droit à la fin de l’échantillon (tapez 5 dans le champ "Edge Tick" et
sélectionnez "Smooth Right" depuis le menu "Edge->"). Vous pourrez alors voir que les points de vue
calculés (en violets) sont mieux intégrés par rapport à la ligne blanche du chemin d’origine. Vous devez utiliser
au moins 3 images de bordure (Edge Frames) puis sélectionner quel bord lisser grâce au menu "Edge->".
11- Commandes Console pour Démos
demo_debug <0/1>
demo_fastforwardstartspeed <factor>
demo_fastforwardramptime <seconds>
demo_fastforwardfinalspeed <factor>
demo_interpolateview <0/1>
demo_quitafterplayback <0/1>
demo_recordcommands <0/1>
demo_pause [seconds]
demo_resume
demo_togglepause
demo_gototick <tick> [relative] [pause]
demo_timescale <scale>
Affiche des informations de débuggage supplémentaires.
Démarrer à la vitesse spécifiée lorsque l’on clique sur le bouton vitesse rapide
(bouton ">>" du Lecteur de Démo).
Le temps en secondes avant d’atteindre la vitesse rapide finale (bouton ">>"
maintenu enfoncé).
Définit la vitesse rapide finale (bouton ">>" maintenu enfoncé).
Active/désactive l’interpolation de la vue entre les ticks d’une démo.
Quitter le jeu après la lecture de la démo.
Enregistrer les commandes tapées dans la console dans le fichier .dem.
Mettre en pause la lecture, les secondes sont optionnelles.
Reprendre la lecture de la démo.
Basculer entre les états pause/lecture.
Sauter la lecture jusqu’au tick spécifié.
Si le paramètre relatif est 1, le tick sera une compensation du tick actuel (???).
Si le paramètre pause est 1, la lecture sera mise en pause une fois le tick
atteint.
Définit le facteur vitesse de lecture de la démo, 1.0 pour une lecture normale.
12- Tutorial Vidéo
Un tutorial sous forme de vidéo (commenté en Anglais) peut être téléchargé ici :
Demo Smoother Video Tutorial (http://files.filefront.com/Demo_Smoother_Video_Tutorial/;3850024;;/fileinfo.html)
Vidéo crée par Fragalishus.
Les codecs Xvid sont nécessaires pour la lecture de ce tutorial.
Traduit du site Valve Developer Community par SRT | K’pTaiN*FraKasS
Disponible sur www.teamsrt.net
Page 7 sur 7