Fr/Make a model with 3DS and Photoshop
Template:Bad French Translation
Ce tutorial va vous expliqué pas à pas la création d'un modèles static, fixe, avec son modèles de colision physiques. Nous utiliserons ici 3DS MAX 2009 et Photoshop CS3. Le modèles sera créer pour CS:S. La création de modèle est d'un domaine avancée dans l'univers du mapping, ne vous découragez pas si vous ne comprenez pas tous du premier coup.
- Voici le résultat final :
Démarage
- Pré-requis
- Maîtrise des bases de 3DS Max
- Maîtrise des bases de Photoshop
- Maîtrise du système de matériaux de Source
- Maîtrise des bases de Hammer
- Logiciels utilisés
- 3DS MAX 2009 SP1
Astuce:Toute la documentation de 3DS MAX 7 est en francais.
- 3D Studio Max SMD Export Plug-in
- 3DS Max ne sait pas exportez des fichiers en SMD, ce plug-ins va lui permettre de le faire : http://www.wunderboy.org/sourceapps.php#max_smd. A placer dans votre dossier plugins de 3DS.
- Photoshop CS3
- GUIStudioMDL
- Vale fournit un programme en ligne de commande : Studiomdl, mais nous utiliseront ici une interface ce qui nous facilitera les choses. Lors du 1er démarage vous devez juste configurez les chemins des deux dossier vers studiomdl.exe, comme indiquez sur le site du devellopeur : http://www.wunderboy.org/apps/guistudiomdl2.php
- VTFEdit
- Va nous permettre de créer les matériaux.
Voilà maintenant que vous avez tous nous allons pouvoir démarrer.
Modélisations
Nous allons commencez simple, réaliser une caisse avec 3 cubes.
- 1 - Lancez 3DS MAX.
- 2 - Unité
- A - Unité sytème
- Les modèles créer sous 3DS étant destiné à être utilisé sous Hammer, il convient d'avoir la même unité. Par défault 3DS est bien configurez :
- 1 Unitée pour 1 inche (pouce).
- B - Lignes majeurs
- Il faut modifier l'affichage des lignes majeurs, les mettres toutes les 10 ligne pour être exactement comme dans Hammer, et mettre l'espacement de la grille à 1 :
- C - Unité Hammer
Réduisez l'echelle dans Hammer à 1. Maintenant 1 carreau dans Hammer = 1 carreau dans 3DS. Parfait.
- 3 - Création de la base
Créer une boxe comme cela :
- La boxe de 5 gros carreaux de côté représente sous Hammer à peu près un distributeur à canette.
Astuce:utilisez la grille mangnétique et des fonctions du menu Tools/Grid and Snaps/Grid and Snaps settings. Utilisé F3 et F4 pour changer l'aspect dans les vues.
- 4 - Création des deux autres boxe
Créez la boxe centrale, de 400 de côté et 800 de hauteur. Puis dupliquez la boxe du bas en haut. Vous devriez maintenant avoir ceci :
- 5 - Convertions en polygone
Convertissez votre Boxe de base en polygone éditable (Mesh aussi supporté par ce plug-ins) en cliquant droite sur la boxe : ConvertTo/Convert to Editable Poly
- 6 - Liaisons
On ne peut pas l'exporter en plusieurs solides, ici 3 boxes séparé, nous allons devoir Lier les boxes. Selectionnez la boxe éditez en polygone, et dans le menu déroulant à droite cliquez sur Attach, et cliquez sur les deux autres boxes. Voilà vous avez maintenant un seul objet dans votre scène...

- 7 - Enrengistrez
Il est temps maintenant de sauvegardez votre modèles. Vous pouvez créez un dossier n'importe ou et tous mettre dedans pour l'instant, nous l'apellerons Boxe. Il est conseiller de sauvegarder votre travail souvent et à différent stade, sachez aussi que 3DS sauvegarde de facon automatique dans un dossier Backup.
La modélisation est maintenant finie. Sinple non? La modélisation de jeux est très primaire en général, et ne nécessite que peu d'outil dans les logiciel de modélisation. Avec quelques bases vous pouvez modélisez beaucoup comme des véhicules, architectures.... Pour les personnages, il vous faudra de bonnes bases de modélisation en 3D. L'avantage de 3DS est que vous trouverez sur le net beaucoup de tutorial en francais, contrairement à d'autres ou presque tous est en anglais.
Coordonnées UVW
Nous allons maintenat créer les coordonnées UVW de notre modèle, c-a-d indiquer à Source comment bien plaquer notre texture sur le modèle. Dans les moteurs en temps réels il faut en général le modèles, et sa texture sur une plaque unique. Le fichier du modèles contiendra les Coordonnées UV de la texture pour les plaquer correctemet sur la 3D. Tous cela est encore floue? Passons à la pratique.
- 1 - Modificateur Unwrap UVW
Ajoutez ce modificateur à votre modèles. Ce qui va aplatir sur une plaque toutes les faces de notre boxes, et nous permettra de texturez facilement à partir de Photoshop.
- 2 - Cliquez sur Edit... dans les menu déroulant à droite.
- 3 - Editeur UVW
- A - Cliquez sur View, et décochez Show Grid et Show Map, afin de rendre plus lisible la fenêtre.
- B - Passez en mode édition Face, afin d'activez certaine option, faîte attention certaine ne sont accessible que selon un mode précis.
- C - Cliquez sur Mapping/Flatten Mapping..., voici ce que vous devriez avoir maintenant :
L'éditeur à applatie toutes les faces de votre modèle sur une plaque. Si vous cliquez sur les faces de la Boxe vous verrez les correspondances dans l'éditeur UVW. Les lignes bleue dans l'éditeur sont les liens entres les différentes faces.
- 4 - Réorganisation
Pour texturé cette disposition n'est pas la meilleure, c'est juste une ébauche, à nous d'affiné ensuite. Nous allons placé bout à bout les faces de notre boxe qui se touche afin de facilité le texturing ensuite.
- A - Cliquez sur le mode Vertex.
- B - Activez la grille magnétique.
- C - Cochez Select element
- D - Cliquez sur Display/Show vertex Connections
- E - Collé les faces bouts à bouts en selectionnant les vertex des faces. Des numéro apparaitront pour vous aider à trouver les faces qui vont ensemble, faîtes des rotation si nécessaire avec les boutons prévues à cet effet. Vous devriez avoir quelque chose qui ressemble a ceci, peu inporte si cela est organisé différemment :
- 5 - Exportation de la texture
Nous allons maintenant exporté cette plaque que nous avons bien organisé, en texture. Nous viendront ensuite directment peindre dessus.
- A - Cliquez sur Tools/Render UVW Template...
- B - Configurez le menu comme ainsi :
Etant une texture, vous devez appliquez des ratios de 2, 1024*1024, 2048*2048.... Pour vous donner un ordre d'idée les jeux actuelles utilise principalement des textures en 512*512 et 1024*1024. Sachez aussi que Source ne prend en conte les textures au dessus de 2048.
- C - Cliquez sur Render...., vous devriez avoir ce résultat ou équivalent :
- D - Sauvegardez en TGA non compréssé, le nom de la texture est TRES important, nous choisiront ici boxe, et nous le garderont jusqu'a la fin. Votre modèles ira cherchez ce nom précis, sans l'extensions dans Source par la suite.
Texturing
Maintenant que nous avons une belle textures nous allons la texturer sous Photoshop. Vous pouvez la texturez comme proposez ici ou faire ce que voulez cela n'a pas d'importance pour la suite.
- A - Une méthode consiste à selectionnez les zone désirer avec la baguette magique, et a à faire droite calque par copier. Selectionnez les 4 morceau du dessus et du dessous avec la baguette magique et copiez les dans un nouveau calque.
- B - Cliquez sur la petite icone Verouiller les pixels transparents.
- C - Appliquer à ce calques un effet de nuages, menu Filtre/rendue/nuages.
- D - Répétez la même opération pour la partie centrale de la boxe, et rajoutez un effet de métal. Menu Filtre/Esquisse/Chrome. Voici le résultat que vous devez maintenant avoir :
- E - Aplatissez l'image et sauvegardez en TGA, toujours en non compréssé et 24bits.
Matériaux
Nous allons ici convertir notre TGA boxe en format lisible par Source : VTF, accompagné de son VMT.
- A - Utilisez vtfedit pour convertir en VTF notre TGA.
- B - Crée le VMT avec ces paramètres :
"VertexLitGeneric" { "$basetexture" "models/boxe/boxe" }
Contrairement aux autres matériaux, le shader ici est "VertexLitGeneric", spécialement concue pour les modèles. Créer un dossier boxe dans : \votre mod\materials\models\boxe, et placez les deux fichiers. L'avantage majeur de cette technique est de pouvoir par la suite modifier la texture facilement sans avoir a toucher au modèle ni à recompilé.
Exportation du modèles 3DS en SMD
Votre modèle .max dois maintenant être exporté grâce au plug-ins en fichier SMD. Un fichier SMD de reference est necessaire, ainsi qu'un autre SMD d'animation même si votre modèle est fixe.
- A - Origine
Avant d'exportez il faut que votre modèle soit à l'origine 0 de 3DS, ou vous aurez un décalage par la suite. Selectionnez juste votre modèle et mettez 0 dans les 3 cases :
- B - Liens 3DS/matériaux
Nous avons exportez une image en TGA, mais votre fichier .max n'a encor aucun liens avec un matériaux, il faut donc lui mettre un matériaux, avec le nom exact du matériaux VTF, soit boxe ici, car votre fichier ira chercher ce nom précis, peu importe la texture que vous lui mettez ici juste le nom est important. Mettez dans un canal diffus la texture boxe.tga, c'est pas très pratique et convivial j'en conviens.
- C - Plaquez ce matériaux par glisser/déplacer sur votre modèles pour lui assigner.
- D - Exportation du SMD de référence
Cliquez sur File/Export..., choissisez SMD. Nommez votre fichier boxe_ref, ce n'est pas obligatoire mais c'est une norme pour plus de simplicité. Si vous n'avez pas fais n'importe quoi vous devriez avoir ceci :
Voilà vous avez maintenant votre fichier boxe_ref.SMD.
- E - Exportation du SMD d'animations
Exportez cette fois-ci avec la 2ème option et nommez votre fichier boxe_idle.SMD.
Création du fichier .QC
Pour compilé un modèle un fichier Qc est necessaire. Il s'agit d'un sinple fichier texte, rélisable le Bloc note windows ou n'importe quelle éditeur de texte. Ce fichier va indiquer lors de la compilation divers éléments nécessaire à la réalisation du modèle en .MDL, format de Source.
- A - Créer un fichier Texte avec le Bloc note windows et enrengistrez le en .QC.
- B - Ecrivez ceci :
$modelname "boxe\boxe.mdl" //chemin de destination du modèle MDL $staticprop //Commande pour un modèle fixe $cdmaterials "models\boxe\" //chemin ou le modèle va rechercher son matériaux $body mybody "boxe_ref.SMD" //Les 2 SMD dans le meme dossier que le QC $sequence idle "boxe_idle.SMD"
Compilation
Nous allons pouvoir compiler notre modèles.
- A - Lancez GUIStudioMDL
- B - Choisissez le bon mod, ici CSS. Chargez le fichier QC faîte File/Load QC file.
- C - Compiler. Verifier le log.
Vous devez maintenant avoir dans votre dossier models/boxe, plusieurs fichier nécessaire pour le moteur Source :
Hammer
Maintenant direction Hammer tester notre modèle.
- A - Placez une entitée prop_static et allez cherchez votre modèle Boxe.
- B - Compiler.
Voilà vous savez maintenant créer un modèle basic, la suite traite du modèle de collision.
Limtites
Voici quelques modèles et leur nombres de polygone pour vous donner un ordre d'idée général :
- Soldiers: 4682
- Police: 3852
- Resistance: 4976
- Zombie: 4290
- Helicopter: 6415
- Strider: 6444
- Alyx: 8323
Il n'y à pas de règle tout dépend de votre scène....
Modèle de Collision
Bon maintenant que vous avez les bases, on va faire à notre modèle un modèle de collisions. Ce modèle bloquera le joueur, mais il sert également pour le moteur de physique pour les modèles physiques, non static comme ici.
- A - Modèle 3D
Nous allons créer, tout comme la boxe, 3 boxe, mais cette fois-ci elle ne seront pas attaché. Callez-vous sur la boxe pour avoir les même contour.
- B - Convertissez les 3 boxe en polygone éditable.
- C - Appliquer un matériaux aux 3 boxe. Cela ne sert à rien de concret, mais l'exportateur l'impose.
- D - Une autre différence avec le modèle de la boxe de reference, est qu'il faut ici mettre le même Smootgroup a toutes les faces.
Selectionnez une boxe, passez en mode polygone et selectionnez toutes les faces, cliquez sur ClearAll, et sur 1. Répétez cette opérations sur les deux autres afin d'avoir le même Smoothgroup sur toutes les faces des 3 boxes.
- E - Exportez en SMD comme un modèle de reference. Nommez votre modèle de collision boxe_phys.SMD.
Faîte attention quand vous exportez, car ne sera prix en conte que les modèles selectionner et/ou visibles. Veillez donc à cacher la boxe de reference, et à ne rien selectionnez quand vous exportez.
- F - Il va falloir rajouter au QC comme ceci:
$collisionmodel "boxe_phys.SMD" { $concave }
Notre modèle ayant plusieurs partie et étant concave, il faut lui ajouter la ligne de commande $concave, sinon il compilera en 1 modèle unique convexe.
- F - Voila sous hammer ce que ca donne :
Les 3 boxes forme le modèle de collisions. Sachez aussi que ce modèle doit être très simple pour le moteur.