Tutoriel

Guide

Créer une arme (basique) de A à Z

par Arto

Auteur : Arto

Date de Création : 23/04/2013

Dernière modification : 18/08/2013

Niveau : Normal


Type : Tutoriel direct

Jeu : ArmA II et Arma II OA

------------------------------------------------------------------

Résumé: Pas à pas les bases de la création d'une arme à son intégration en jeux

(basique) !

------------------------------------------------------------------

Sommaire

I- Modélisation 3D

II- Texturisation

II- Configuration

------------------------------------------------------------------

Vous aurez besoin:


Pour la création, les outils de BIS:

- Oxygen 2

- Tex view 2

- BinPBO

- SoundTools

Liens:

http://community.bistudio.com/wiki/BI_Tools_2 (BIS Tools 2)

http://community.bistudio.com/wiki/BI_Tools_2.5 (BIS Tools 2.5)


pour les textures:

- Gimp (gratuit) ou Photoshop (payant)

- Nvidia Tools

Liens:

http://www.gimp.org/downloads/ (Gimp)

http://www.photoshop.com/ (Photoshop)

https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop (Nvidia Tools)


Pour la configuration:

- Poseidon v0.54 (gratuit)

Liens:

http://forums.bistudio.com/showthread.php?161717-Poseidon-advanced-text-editor-for-Scipts-amp-Configs (Poseidon)



I- Modélisation 3D

Pour commencer partons du principe que nous avons en tête l'arme précise que l'on veut crée. Pour cela nous allons avoir besoin de l'outil Oxygen 2. Ouvrez-le et mettez vous en vue "left". Pour pouvoir faire les formes de l'arme nous avons besoin d'un modèle pour ce faire il nous faut une image au format TGA, gif ou paa. Une fois la conversion faite, appuyez sur la touche A et faite clique droit "Load Texture", l'image est affichée. Pour modéliser l'arme il nous faut crée des points permettant de déterminer la forme. Pour insérer un point appuyez sur la touche "Inser", plus vous mettez de point sur le contour de l'arme plus la forme serra détaillé. Assemblez les points en les sélectionnant par 3 ou 4 et en appuyant sur la touche "F6". Vous venez de faire une face l'arme, pour faire l'autre face sélectionnez tous les points et mettez vous en vue "front" puis collez les nouveaux points et déplacez les sur la gauche ou la droite. Les deux faces sont du même coté, pour en inverser une appuyez sur la touche "w". Ensuite sur chaque vue assemblez les point du contour entre eux pour refermer l'arme. Voilà pour visualiser votre belle arme cliquez sur l’icône "buldozer" puis sur "Start/Restart".


Pour aller plus loin nous pourrions arrondir le canon ou donner du relief à la crosse...


II- Texturisation

Maintenant pour ajouter une texture à notre arme nous allons avoir besoin soit d'une image de l'arme de qualité soit d'une texture type bois, métal. Pour pouvoir l'intégrer à oxygen 2 elle doit être un multiple de deux comme par exemple 256X256 512X512 2048X2048 ... Il faut aussi qu'elle soit en format TGA, ouvrez l'image avec Gimp ou Photoshop et enregistrez la en TGA. Pour l'insérer appuyez sur la touche "A" et ajoutez la taille de l'image en fonction de l'arme en maintenant les touches "Shift", "Ctrl" plus une flèche suivant la direction d'agrandissement/rétrécissement voulu. Pour appliquer la texture aux faces sélectionnez les face à texturer et appuyez sur la touche "B", faite cela pour toute les faces. Renommez la texture en nomdelatexture_co.paa. Ensuite ouvrez votre texture nomdelatexture_co.paa avec Photoshop ou préalablement vous aurez installé Nvidia Tools. Cliquez sur "Filter", puis "Nvidia Tools puis sur "NormalMapFilter...". Choisissez votre niveau de relief dans "High Generation". Ensuite enregistrez votre texture obtenue en nomdelatexture_nohq.paa. Ouvrez la texture nomdelatexture_co.paa dans tex view 2 puis cliquez sur "Edit" puis "Filter" et sélectionnez "specularMapFinish.bitfilt", enregistrez la ensuite en nomdelatexture_smdi.paa. Ensuite retournez dans Oxygen 2 sélectionnez tous vos points et cliquez sur "Faces" puis "Face Properties" et dans "material" entrez le chemin du "arme.rvmat". Pour visualiser si votre texture est correctement ajustée cliquez sur l’icône "buldozer" puis sur "Start/Restart".


Configuration du arme.rvmat

Code:

ambient[]={1,1,1,1};

diffuse[]={1,1,1,1};

forcedDiffuse[]={0,0,0,0};

emmisive[]={0,0,0,1};

specular[]={1,1,1,1};

specularPower=40;

PixelShaderID="Super";

VertexShaderID="Super";

class Stage1

{

texture="dossier\data\nomdelatexture_nohq.paa"; //

uvSource="tex";

class uvTransform

{

aside[]={1,0,0};

up[]={0,1,0};

dir[]={0,0,1};

pos[]={0,0,0};

};

};

class Stage2

{

texture="ca\weapons\Data\DetailMaps\metal_detail_dt.paa";

uvSource="tex";

class uvTransform

{

aside[]={1,0,0};

up[]={0,1,0};

dir[]={0,0,1};

pos[]={0,0,0};

};

};

class Stage3

{

texture="#(argb,8,8,3)color(0,0,0,0,MC)";

uvSource="tex";

class uvTransform

{

aside[]={1,0,0};

up[]={0,1,0};

dir[]={0,0,1};

pos[]={0,0,0};

};

};

class Stage4

{

texture="#(argb,8,8,3)color(1,1,1,1,AS)";

uvSource="tex";

class uvTransform

{

aside[]={1,0,0};

up[]={0,1,0};

dir[]={0,0,1};

pos[]={0,0,0};

};

};

class Stage5

{

texture="dossier\data\nomdelatexture_smdi.paa"; //

uvSource="tex";

class uvTransform

{

aside[]={1,0,0};

up[]={0,1,0};

dir[]={0,0,1};

pos[]={0,0,0};

};

};

class Stage6

{

texture="#(ai,64,64,1)fresnel(0.6,0.16)";

uvSource="tex";

};

class Stage7

{

texture="Ca\data\env_land_co.paa";

uvSource="none";

};

Pour aller plus loin nous pourrions créer la texture nous même et y incruster des détails, mais aussi ajouter d'autres textures.


III- Configuration

Passons maintenant à la configuration générale de l'arme puis aux tests in-game. Pour définir la longueur du canon faite clique droit dans la fenêtre ou il y a "0.000" et cliquez sur "New", faite de nouveau clique droit sur "Properties" et sélectionnez "Memory". Insérez un point avec la touche "Inser" au début du canon que vous nommerez dans le carré blanc vide en fessant clique droit "New" puis tapez "konec hlavne". Insérer aussi un point à la fin du canon, le nom est "usti hlavne". Maintenant pour le départ de la douille par rapport à l'arme insérez un point au niveau de la sortie des douilles de l'arme et nommez le "nabojnicestart" ensuite insérez un point à coté de l'arme pour avoir la direction des douilles et nommez le "nabojniceend". Sélectionnez tous les points et nommez les "zbran". Maintenant attaquons nous à la structure de notre addon pour pouvoir tester l'arme. Faite un nouveau dossier "nondel'arme" mettez y votre modèle 3D nomdel'arme.p3d et faite un sous dossier "data" ou vous y mettez nomdelatexture_co.paa, nomdelatexture_nohq.paa, nomdelatexture_smdi.paa et arme.rvmat. Modifiez vos chemins des texture dans Oxygen 2 et sur le arme.rvmat suivant dans quel emplacement de votre ordinateur ce situe le dossier de l'addon. Dans le dossier avec le arme.p3d nous allons mettre le config.cpp. Dans votre dossier d'installation d'ArmaII OA faite un nouveau dossier que vous nommerez "@nondel'addon" puis dans un dossier créé un sous dossier "addons". Dernière étape la binarization de votre addon. Pour binarizer ouvrez BinPBO, dans "addon source directory" entrez le chemin de votre dossier "nomdel'arme" et dans "Destination directory" entre le chemin du dossier "addons", puis cliquez sur "Pack". Il ne vous reste plus qu'à lancer votre addon avec un launcher pour arma II.


Configuration du config.cpp

Code:

/*--------------------------------------------------------------------

file: config.cpp

================

Author: nom <@email> (ofpectag:)

Remarks:

--------------------------------------------------------------------*/

#define __filename config.cpp


class CfgPatches { //

class arme { //

units[] = {""}; //

weapons[] = {"arme"}; //

versionDesc = ""; //

requiredVersion = 1.6; //

requiredAddons = {"CA", "CA_E"} //

};

};

class CfgMagazine { //

class CA_Magazine; //

class MUN: CA_Magazine { //

scope = ; //

displayname = ""; //

picture ""; //

count = ; //

ammo = ""; //

initSpeed = ; //

reloadMagazineSound[] = {"",,,}; //

descriptionShort = ""; //

};

};

class Mode_SemiAuto; //

class Mode_Burst; //

class Mode_FullAuto; //

class CfgWeapons { //

class Rifle: //

class ARME: Rifle { //

scope = ; //

model = ""; //

picture = ""; //

UiPicture = ""; //

modelOptics = ""; //

opticsFlare = ; //

opticsDisablePeripherialVision = ; //

opticsZoomInit = ; //

opticsZoomMin = ; //

distanceZoomMin = ; //

opticsZoomMax = ; //

distanceZoomMax = ; //

dexterity = ; //

displayName = ""; //

magazines[] = {""}; //

reloadTime = ; //

backgroundReload = ; //

handAnim[] = {"",""}; //


modes[] = {"Single", "FullAuto"}; //


class Single: Mode_SemiAuto

{

dispersion=; //

sound[]={"",1,1}; //

reloadTime= ; //

recoil=assaultRifleBase; //

recoilProne = "assaultRifleBase"; //

minRange = ; //

minRangeProbab = ; //

midRange = ; //

midRangeProbab = ; //

maxRange = ; //

maxRangeProbab = ; //

distanceZoomMin = ; //

distanceZoomMax = ; //

};


class FullAuto: Mode_FullAuto //

{

dispersion=; //

sound[]={"",1,1}; //

reloadTime= ; //

recoil=assaultRifleBase; //

recoilProne = "assaultRifleBase"; //

minRange = ; //

minRangeProbab = ; //

midRange = ; //

midRangeProbab = ; //

maxRange = ; //

maxRangeProbab = ; //

distanceZoomMin = ; //

distanceZoomMax = ; //

};

};

}

Archive de la page du site CFr-ARMA: