Faire un modèle avec 3DS et Photoshop

From Valve Developer Community
Jump to: navigation, search

Ce tutoriel va vous expliquez pas à pas la création d'un modèle statique, fixe, avec son modèle de collision physique. Nous utiliserons ici 3DS MAX 2009 et Photoshop CS3. Le modèle sera créer pour CS:S. Sous le moteur Source, tout le niveau est délimité par des Brush, des gros cube pour simplifier, ensuite viennent s'ajouter des Brush encore, mais en Func_details, cela contrairement au Brush ne sont pas pris en conte pour le VIS. Il va falloir maintenant rajouter des modèles, car le moteur Source est bien limiter en Brush, en faire un peu trop et la limites sera vite atteinte,vous devez donc rajouter des modèles, créer dans un modeleur externe. Source peut afficher de nombreux modèles sans problèmes, notamment les statiques. A noter que depuis peux il est maintenant possible de faire des modèles directement dans Hammer grâce à l'outil Propper. Cela permet de faire dans Hammer des modèles en Brush très détailler et fins, puis les exportez en modèles depuis Hammer, ce qui facilite le mapping.


Voici le résultat final

Démarrage

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: Si cela peut vous aider sachez que toute la documentation de 3DS MAX 7 est en français.
  • 3D Studio Max SMD Export Plug-in: 3DS Max ne sait pas exportez des fichiers en SMD, ce plug-in 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: Valve fournit un programme en ligne de commande , Studiomdl, mais nous utiliseront ici une interface ce qui nous facilitera les choses. Lors du 1er démarrage vous devez juste configurez les chemins des deux dossier vers studiomdl.exe, comme indiquez sur le site du développeur : 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é système
Les modèles crée sous 3DS étant destinés à être utilisés sous Hammer, il convient d'avoir la même unité. Par défaut 3DS est bien configurez :

Unite2.jpg Unite1.jpg

1 Unité pour 1 inche (pouce).


  • B - Lignes majeurs
Il faut modifier l'affichage des lignes majeurs, les mettre toutes les 10 ligne pour être exactement comme dans Hammer, et mettre l'espacement de la grille à 1 :

Unite3.jpg


  • C - Unité Hammer

Réduisez l'échelle 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 :

Boxe1.jpg
La boxe de 5 gros carreaux de côté représente sous Hammer à peu près un distributeur à canette.


Tip:utilisé la grille magné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 boxes

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 :

Boxe23.jpg
Et voilà la modélisation est finie.


  • 5 - Conversions en polygone

Convertissez votre Boxe de base en polygone éditable (Mesh aussi supporté par ce plug-in) 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és, nous allons devoir Lier les boxes. Sélectionné la boxe édité 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...

Tip:Si vous souhaitez allez plus loin utilisez les fonction Boolean.


  • 7 - Enregistrez

Il est temps maintenant de sauvegarder votre modèle. Vous pouvez créez un dossier n'importe ou et tous mettre dedans pour l'instant, nous l'appellerons Boxe. Il est conseillé de sauvegarder votre travail souvent et à différent stade, sachez aussi que 3DS sauvegarde de façon automatique dans un dossier Backup.


La modélisation est maintenant finie. Simple non? La modélisation de jeux est très primaire en général, et ne nécessite que peu d'outil dans les logiciels 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 tutoriel en français, contrairement à d'autres ou presque tous est en anglais.

Coordonnées UVW

Nous allons maintenant 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èle, et sa texture sur une plaque unique. Le fichier du modèle contiendra les Coordonnées UV de la texture pour les plaquer correctement sur la 3D. Tous cela est encore flou? Passons à la pratique.

Uvw.jpg


  • 1 - Modificateur Unwrap UVW

Ajoutez ce modificateur à votre modèle. Ce qui va l'aplatir sur une plaque toutes les faces de notre boxes, et nous permettra de texturer facilement à partir de Photoshop.


  • 2 - Cliquez sur Edit... dans la partie menu déroulante à droite.


  • 3 - Éditeur 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'activé 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 :
Uvw2.jpg

L'éditeur à aplatie 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 texturer cette disposition n'est pas la meilleure, c'est juste une ébauche, à nous d'affiner 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 sélectionnant les vertex des faces. Des numéros apparaîtront pour vous aider à trouver les faces qui vont ensemble, faîtes des rotations si nécessaires avec les boutons prévues à cet effet. Vous devriez avoir quelque chose qui ressemble a ceci, peu importe si cela est organisé différemment :
Uvw3.jpg


  • 5 - Exportation de la texture

Nous allons maintenant exporté cette plaque que nous avons bien organisé, en texture. Nous viendront ensuite directement peindre dessus.

  • A - Cliquez sur Tools/Render UVW Template...
  • B - Configurez le menu comme ainsi :
Uvw4.jpg


Étant une texture, vous devez appliquez des ratios de 2, 1024*1024, 2048*2048.... Pour vous donner un ordre d'idée les jeux actuelles utilisent principalement des textures en 512*512 et 1024*1024. Sachez aussi que Source ne prend pas en conte les textures au dessus de 2048.


  • C - Cliquez sur Render...., vous devriez avoir ce résultat ou équivalent :
Uvw5.jpg


  • D - Sauvegardez en TGA non compressé, le nom de la texture est TRÈS important, nous choisiront ici boxe, et nous le garderont jusqu'à la fin. Votre modèles ira cherchez ce nom précis, sans l'extension 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 à sélectionnez les zone désirer avec la baguette magique, et a à faire droite calque par copier. Sélectionnez les 4 morceau du dessus et du dessous avec la baguette magique et copiez les dans un nouveau calque.
  • B - Cliquez sur la petite icône Verrouiller les pixels transparents.
Texturing.jpg
  • 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 :
Boxe.jpg
  • E - Aplatissez l'image et sauvegardez en TGA, toujours en non compressé 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 conçue 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 à re-compilé.


Exportation du modèles 3DS en SMD

Votre modèle .max dois maintenant être exporté grâce au plug-in en fichier SMD. Un fichier SMD de référence est nécessaire, ainsi qu'un autre SMD d'animation même si votre modèle est fixe.

  • A - Origine

Avant d'exporter il faut que votre modèle soit à l'origine 0 de 3DS, ou vous aurez un décalage par la suite. Sélectionnez juste votre modèle et mettez 0 dans les 3 cases :

Export.jpg
  • B - Liens 3DS/matériaux

Nous avons exportez une image en TGA, mais votre fichier .max n'a encore 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.


Export2.jpg


  • D - Exportation du SMD de référence

Cliquez sur File/Export..., choisissez 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 :

Export3.jpg Export4.jpg

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 nécessaire. Il s'agit d'un simple fichier texte, réalisable le Bloc note Windows ou n'importe quelle éditeur de texte. Ce fichier va indiquez 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 enregistrez le en .QC.
  • B - Écrivez 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èle.

  • B - Choisissez le bon mod, ici CSS. Chargez le fichier QC faîte File/Load QC file.
  • C - Compilez. Verifier le log.
Compilation.jpg

Vous devez maintenant avoir dans votre dossier models/boxe, plusieurs fichier nécessaire pour le moteur Source :

Compilation2.jpg


Hammer

Maintenant direction Hammer tester notre modèle.

  • A - Placez une entité prop_static et allez cherchez votre modèle Boxe.
  • B - Compilez.

Voilà vous savez maintenant créer un modèle basic, la suite traite du modèle de collision.


Modèle de Collision

Bon maintenant que vous avez les bases, nous allons faire à notre modèle un modèle de collisions, ou collision mesh. Ce modèle bloquera le joueur, et il sert également pour le moteur de physique mais cela ne nous concerne pas ici, c'est juste bon à savoir.

  • A - Modèle 3D

Nous allons créer, tout comme la boxe, 3 boxe pour le modèle de collision, mais cette fois-ci elle ne seront pas attaché. Calez-vous sur la boxe pour avoir les même contour.

  • B - Convertissez les 3 boxe en polygone éditable.
Tip:La limite est de 20, mais il est possible de dépasser cette limite.
  • C - Appliquez 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 référence, est qu'il faut ici mettre le même Smoothgroup a toutes les faces.

Sélectionnez une boxe, passez en mode polygone et sélectionnez 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 référence. Nommez votre modèle de collision boxe_phys.SMD.

Collision.jpg Collision2.jpg

Faîte attention quand vous exportez, car ne sera prix en conte que les modèles sélectionner et/ou visibles. Veillez donc à cacher la boxe de référence, et à ne rien sélectionnez quand vous exportez.


  • F - Il va falloir rajouter au QC comme ceci:
$collisionmodel  "boxe_phys.SMD"
{
$concave 
}

Notre modèle ayant plusieurs parties et étant concave, il faut lui ajoutez la ligne de commande $concave, sinon il compilera en 1 modèle unique convexe.

  • F - Voila sous hammer ce que ça donne :

Collision3.jpg

Les 3 boxes forme le modèle de collisions. Sachez aussi que ce modèle doit être très simple pour le moteur.

Limites

Voici quelques modèles et leur nombres de polygones pour vous donnez un ordre d'idée général :

  • Soldiers: 4682
  • Police: 3852
  • Resistance: 4976
  • Zombie: 4290
  • Helicopter: 6415
  • Strider: 6444
  • Alyx: 8323


Propper

Il est maintenant possible de créer des modèles sous Hammer directement, sans passer par un modeleur externe. Très simple d'utilisations Propper convertie vos Brush en modèles SMD.