Tutoriel - Créer une discussion orale

Les scripts et les missions des [V]Vétérans

Vous pouvez poser vos questions et poster vos scripts, le forum est ouvert à tous.
Touhou
Messages : 20
Inscription : 04 mars 2017, 16:24
Localisation : Nantes

Tutoriel - Créer une discussion orale

Message par Touhou » 21 mars 2017, 18:59

Bonjour a tous,

Voici un petit tuto qui vous expliquera comment créer des discussions/dialogues dans Arma 3. L'interlocuteur sera donc la source du son et aura les lèvres synchronisées avec sa voix.

Pour commencer il vous faudra 3 logiciels :

- Audacity (pour tout ce qui est création de fichier audio compatible Arma).

- Arma 3 Tools (pour créer le fichier de synchronisation des lèvres).

- Un logiciel permettant de convertir une vidéo en audio (personnellement j'utilise Audials One, mais il est payant).


////

Étape une :

Si vous prenez, comme moi, des voix tiré de films ou vidéos, convertissez votre vidéo en audio (mp3,wav,etc..)

Si vous voulez enregistrer votre propre voix, utilisez directement Audacity, une fonction "enregistrement" est la pour ca.

////


Étape deux :

Maintenant que vous avez votre bande sonnore, ouvrez la dans Audacity si ce n'est pas deja le cas.

Exportez la ensuite en .Ogg


////////////////////////////////////////////////////////////////////////////

Astuce : Si comme moi vous utilisez beaucoup de bande sonore pour une discussion, travaillez sur une seule fenêtre Audacity, en mettant vos pistes les unes sous les autres.

Choisissez ensuite "Export multiple", choisissez votre dossier cible et en bas a gauche cliquez sur "Numérotation après le préfixe de nom de fichier".

Choisissez un titre simple, exemple : Si votre discussion est un briefing, prenez le préfixe "briefing".

Ainsi vos pistes seront enregistrer comme ceci : briefing-1.Ogg / briefing-2.Ogg /briefing-3.Ogg ....

////////////////////////////////////////////////////////////////////////////


Étape trois :

Une fois les fichiers .Ogg créer, nous allons maintenant créer les fichier de synchronisation propre a chaque pistes.

Évidement, chaque pistes ne doit contenir que la parole d'UN SEUL personnage, exemple : Si Player_1 et Player_2 parlent en même temps sur la piste, alors Player_1 aura les levres synchro avec les paroles de Player_2.

ouvrez séparément vos pistes .Ogg, toujours a l'aide d'Audacity.

Cliquez ensuite sur la petite flèche vers le bas au dessus des boutons "muet" et "solo".

Choisissez "split Stereo to Mono".

Exportez maintenant votre piste en .wav signed 16bit en gardant le nom d'origine de la piste ! Ne le changez surtout pas !


////


Étape quatre :

Ouvrez le dossier dans lequel vous avez enregistrer vos pistes .Ogg et .Wav

Faites clique droit sur votre première piste .Wav et faites "Propriété", modifiez maintenant le logiciels par défaut pour ce type de fichiers et aller chercher WAVToLIP.exe qui se trouve normalement a cet endroit : "Steam\SteamApps\common\Arma 3 Tools\Audio".

Maintenant vous n'avez plus qu'a double cliquer sur vos piste .Wav et l'outil d'Arma vous générera automatiquement une piste identique en .Lip.

Une fois que vous avez générez toutes vos pistes, vous pouvez supprimer celles en .Wav.


////


Étape cinq :


Pour qu'Arma puisse utiliser vos bande sonnores, vous allez devoir les rentré dans votre "description.ext" sous cette forme :


class CfgSounds {
sounds[] = {};

class briefing_1 // respectez le "_1" et non "-1" car pour appelez la bande son, Arma n'aime pas les "-".
{
name = "briefing-1";
sound[] = {"", 0, 1};
titles[] = {};
};
class briefing_2
{
name = "briefing-2";
sound[] = {"", 0, 1};
titles[] = {};
};
class briefing_X
{
name = "briefing-X";
sound[] = {"", 0, 1};
titles[] = {};
};
};


////


Étape six :


Si vous n'en avez pas un, creer un fichier texts.bikb au dossier source de votre mission, tout comme "description.ext".

et rentrez vos appel de discussion comme ceci :


class Sentences
{
class briefing_1 // ici le nom d'appel de la piste dans Arma
{
text = "Salut ! ça va ?"; // Ici le texte, cela ne sert que de sous titrage, ce n'est pas nécessaire.
speech[] = {"sound\briefing-1.ogg"}; // nom de votre piste audio
actor = "Player_1"; // l'acteur de la bande son, exemple : si c'est le Player_1 qui parle alors mettez "Player_1".
variant = ""; // Aucune idée
variantText = ""; // Aucune idée
class Arguments {}; // Aucune idée
};
class briefing_2
{
text = "Bien et toi ?";
speech[] = {"sound\briefing-2.ogg"};
actor = "Player_2";
variant = "";
variantText = "";
class Arguments {};
};
};

////

Étape sept :

Vous allez maintenant creer votre script d'appel en .sqf

Mettez ceci :


Player_1 KbAddTopic ["introduction","texts.bikb","",""];
Player_2 KbAddTopic ["introduction","texts.bikb","",""];
// rajoutez ici tout les acteurs de la discussions, en respectant leurs variables présente dans le jeu.


Player_1 KbTell [Player_2,"introduction","briefing_1"]; // Player_1 correspond a celui qui parle, Player_2 a celui a qui l'on parle, et briefing_1 a la piste audio jouer.
waitUntil {
Player_1 KbWasSaid [Player_2,"introduction","briefing_1",3]; // WaitUntil et KbWasSaid mettent la condition que Player_2 ne parlera qu'UNE FOIS que Player_1 a fini de parler. Couper la parole c'est mal !
};
Player_2 KbTell [Player_1,"introduction","briefing_2"];
waitUntil {
Player_2 KbWasSaid [Player_1,"introduction","briefing_2",3];
};
// rajoutez dans le même schéma la suite de la discussion.





VOILA ! Maintenant vous n'avez plus qu'a appeler ce script lorsque vous voulez lancer la discussion dans Arma.

////////////////////////////////////////////////////////////////////////////////////////////////////

Petite info : Imaginons que vous soyez Player_1 mais que Player_2 est loin de vous, si Player_2 vous parle, alors vous entendrez Player_2 parler a l'aide de la radio, qui dis radio dis effets qui va avec. (sympas quand vous voulez transformer une piste audio avec un filtre radio sans avoir a vous casser le c*l avec des logiciels tiers).

////////////////////////////////////////////////////////////////////////////////////////////////////

En esperant avoir été le plus clair possible.

A bientôt !

Avatar de l’utilisateur
Tyrghen
Membre des [V]Vétérans
Messages : 4119
Inscription : 14 oct. 2012, 22:47

Re: Créer une discussion orale

Message par Tyrghen » 23 mars 2017, 08:18

Merci pour le tuto ;)
Image

Avatar de l’utilisateur
bwan
Membre des [V]Vétérans
Messages : 1466
Inscription : 22 juil. 2014, 02:16
Localisation : Landes

Re: Tutoriel - Créer une discussion orale

Message par bwan » 23 mars 2017, 08:39

merci Touhou
Image

Répondre