Partage
  • Partager sur Facebook
  • Partager sur Twitter

[HL2] [TUTO] Création de model avec des brush

L'outil magique : Propper

7 avril 2010 à 17:20:26

Salut à tous,
Je pense que certains mappeurs ont souvent souhaité créer des models pour les implanter dans leur map mais n'ont jamais vraiment pris la peine d'apprendre à les créer et craignent que ça soit assez compliqué.
Je faisais parti de ces gens et il se trouve qu'on m'a présenté (merci à Klems de mapping-area) un petit logiciel fort sympathique qui permet de créer des models depuis hammer.
C'est plutôt un "tool", un nouvel outil de compilation qui a l'avantage d'être très facile d'utilisation et complet.


La question est : Mais à quoi ça sert d'utiliser model ?

Eh bien ça a de multiples avantages, déjà on est largement moins limité dans la finesse des détails, et on peut appliquer des effets qui adoucissent les angles. On peut aussi l'utiliser plusieurs fois dans une même map, ainsi il sera plus léger pour la map en terme de poids de map d'implanter plusieurs fois le même model que de nombreuses fois le même assemblage de brush en func_detail.
L'autre avantage très intéressant est que le compilateur VIS ne prend pas en compte les models (tout comme le func_detail) ainsi l'optimisation des leafs est largement possible avec des models.


INSTALLATION

Bref, passons à la pratique, nous allons commencer par télécharger l'archive qui contient notre outil : propper


On va extraire les fichiers contenus dans l'archive de façons à pouvoir les placer où nous le souhaitons (si vous ne pouvez pas ouvrir l'archive, téléchargez 7zip par exemple). On peut repérer le dossier sourcesdk dans l'archive, on va prendre le même ordonnancement des dossiers, donc d'abord il faut accéder à son dossier source SDK, par défaut c'est dans ce dossier :

C:\Program Files\Steam\steamapps\nom_de_compte\sourcesdk

On accède donc ensuite au dossier bin, au dossier ep1 et enfin le second dossier bin. Il est préférable de faire cette manipulation en parallèle entre le PC et l'archive pour ne pas se perdre ! Et on va copier/coller les deux fichiers propper.exe et propper.fgd dans le dossier bin de l'ordinateur.
Si vous mappez pour le moteur Orange box, faites de même en repartant du premier dossier bin ! ;)
Une fois les fichiers placés, vous pouvez lancer Source SDK et hammer ! Accédons aux paramètres de hammer ( tools -> Options... ). Dans cet onglet Game Configurations, il va falloir rajouter le fichier fgd que vous venez de placer sur votre ordinateur, pour cela cliquez sur le petit bouton Add puis sélectionnez donc le fichier propper.fgd. Comme ceci :

Image utilisateur


Image utilisateurAttention : Il faut bien que propper.fgd soit juste après votre fgd principal dans la liste (celui de Couter-Strike : Source dans mon cas).


Voilà, c'est installé !


UTILISATION

Alors, on va créer une petite map avec notre futur model dedans, rien d'autre. On fait bien attention au texturing pour que ça nous plaise car on ne pourra plus modifier après bien sûr. Dans mon exemple on va rendre un escalier en model. Voici un petit exemple de ce que ça donne in-hammer et in-game intégré dans une map :

Image utilisateur____________________Image utilisateur

(cliquez sur les images pour les agrandir)


Dans notre cas, on va étudier le cas pour créer un model statique (prop_static) mais il est aussi possible de faire des models prop_physic (avec l'entité info_prop_physics). Pour créer un prop_static, on va utiliser l'entité info_prop_options. Créez donc cette entité-point à côté de votre ensemble de bloc.

Image utilisateurAttention : Une information importante : il faut que vos brush soient des blocs naturels, il ne faut pas que ça soit une entité-bloc comme func_detail par exemple. Sinon vous risquez d'avoir des problèmes de collision.
Ensuite il faut paramétrer cette entité.

  • Name Image utilisateur Inutile ici.
  • Origin (X Y Z) Image utilisateur Position de l'entité.
  • Model Name Image utilisateur Dossier et nom du model compilé. Il faut commencer le chemin relatif en imaginant qu'on parle des dossiers à partir du dossier models du jeu. Pour éviter tout problème, je vous conseille d'aller créer manuellement le dossier qui contiendra le model. Donc voici un exemple de valeur à entrer dans ce paramètre : topicpropper/escalier ça veut dire que ça va créer un model qui aura des fichier nommés escalier dans le dossier cstrike/model/topicpropper/
  • Material path Image utilisateur Pareil que précédemment mais pour la texture du model. Ici, ce que vous allez rentrer équivaut aux dossiers à partir du dossier materials du jeu. ex : topicpropper/escalier pour le dossier cstrike/materials/topicpropper/
  • Scale Image utilisateur Si vous voulez augmenter ou diminuer les proportions de votre model par rapport aux blocs (ça peut être pratique pour les petits objets : on met un scale de 0.5 et le model est 2 fois plus petit que l'ensemble de brush créé au début !)
  • Surface property Image utilisateur C'est le type de matériaux avec lequel sera considéré votre model (utile pour les bruits de pas et les impacts de balle surtout).
  • Concave collisions Image utilisateur à utiliser pour faire un model possédant une collision concave, si vous mettez NO, la collision sautera l'angle concave.
  • Produce collisions? Image utilisateur Pour autoriser ou non la collision du model (je vous conseille de mettre YES puis de choisir NotSolid dans hammer après lors du paramétrage du prop_static, au cas où vous changeriez d'avis).
  • Smoothing mode Image utilisateur Détermine la façon dont sont calculés les vertex normals pour l'éclairage.
  • Source folder Image utilisateur Dossier où vous voulez conserver les fichier .qc et .smd (pas indispensables), assurez-vous que le dossier existe, une fois de plus.
  • Smoothing threshold Image utilisateur Si l'auto-smooth est activé, les angles plus plats que l'angle rentré paraitront lisses. Choisissez une valeur de 0 à 180.
  • Snap to Hammer Image utilisateur Implique que chaque sommet doit toucher un point le plus proche possible sur la grille.
  • Model Origin Image utilisateur C'est le point d'origine qui définiera le model pour sa luminosité par exemple. Auto-Center placera l'origine du model à son centre de gravité (recommandé pour les models physiques). Si vous voulez choisir l'endroit où sera placé l'origine, utilisez "Use this entity's origin" et l'entité définiera l'origine du model.
  • Automatically compile Image utilisateur Par défaut, propper lancera studiomdl pour compiler le model (vous pouvez le désactiver si vous voulez utiliser un autre logiciel pour compiler le model par le suite, je ne vous conseille pas).
  • Fix up materials Image utilisateur Par défaut, propper fera une copie de chacune des textures utilisées dans le model et les rendra valides pour le model, vous pouvez désactiver ça.
  • Don't warp displacement textures Image utilisateur Dans hammer, si vous déplacez le model, les textures suivront le model ou pas. Choisissez Yes si vous voulez que les textures restent fixes au model (conseillé).


Et voilà, vous avez configuré votre entité et la "map" est prête à être compilée !


COMPILATION

Voilà, votre model est prêt et sublime et vous voulez compiler pour pouvoir l'intégrer dans votre map.
On va alors cliquer sur le bouton compilation (ou appuyer sur F9) -> Image utilisateur . Puis on va passer en mode Expert :

Image utilisateur


Ensuite, une nouvelle fenêtre s'ouvre, cliquez sur Edit pour rajouter un nouveau type de compilation puis New :

Image utilisateur


Là, vous allez entrer le nom de notre tout nouveau paramètre de compilation : propper ! =D
Cliquez ensuite sur close de la puis sélectionnez ce nouveau dans la liste des configurations.
Cliquez sur New puis configurez comme suit :
  • Command : propper
  • Parameter : -game $gamedir $path\$file
ce qui donne ...
Image utilisateur


Et voilà, vous en avez terminé avec toutes les configurations, il ne reste plus qu'à appuyer sur Go! pour lancer la compilation. Elle ne devrait pas durer longtemps et vous pourrez immédiatement exploiter votre model dans la map avec une entité prop_static ou prop_physic.
Merci à vous d'avoir lu ce tutoriel et bonne chance pour votre prochains models !

Si vous souhaitez plus de renseignements, vous pouvez aller visiter la page officielle de propper dans "the fucking manual" :
http://developer.valvesoftware.com/wiki/Propper :)

Allez, salut !
  • Partager sur Facebook
  • Partager sur Twitter
7 avril 2010 à 17:34:31

GG Mecton........

Bien realisé, simple à comprendre. GG
  • Partager sur Facebook
  • Partager sur Twitter
7 avril 2010 à 17:46:32

Donc si j'ai bien compris :
On peut transformer des assemblement de blocs pour faire en sorte qu'il deviennent un model.
Ce qui est pratique pour l'optimisation et tout le reste.
  • Partager sur Facebook
  • Partager sur Twitter
7 avril 2010 à 20:56:20

Gg lapin, franchement super tuto :)
  • Partager sur Facebook
  • Partager sur Twitter
8 avril 2010 à 17:50:36

Super New !!!
</span></span></span>

Merci a toi leplubodeslapin !!!
  • Partager sur Facebook
  • Partager sur Twitter
8 avril 2010 à 22:08:24

Citation : lapin

# Material path Image utilisateur Pareil que précédemment mais pour la texture du model. Ici, ce que vous allez rentrer équivaut aux dossiers à partir du dossier materials du jeu. ex : topicpropper/escalier pour le dossier cstrike/model/topicpropper/




sa serait pas plutot:

# Material path Image utilisateur Pareil que précédemment mais pour la texture du model. Ici, ce que vous allez rentrer équivaut aux dossiers à partir du dossier materials du jeu. ex : topicpropper/escalier pour le dossier cstrike/materials/topicpropper/
  • Partager sur Facebook
  • Partager sur Twitter
8 avril 2010 à 22:12:41

Oui je pense aussi dofus ^^
  • Partager sur Facebook
  • Partager sur Twitter
8 avril 2010 à 23:34:09

Oui effectivement, merci c'est corrigé.
  • Partager sur Facebook
  • Partager sur Twitter
10 avril 2010 à 10:44:24

J'ai une petit question Faut-il mette tout les texture utilisé dans le dossier matérial quand je compile avec des textures de bases il me disent quand même que le lien vers les texture n'éxiste pas.
  • Partager sur Facebook
  • Partager sur Twitter
10 avril 2010 à 11:11:59

Non, au niveau des textures c'est assez magique ce propper. En fait, il faut juste que tu créés manuellement tous les dossiers que tu indiques dans les lignes Model Name, Material path et Source folder.

Si tous tes dossiers sont correctement créés et nommés, propper va pouvoir compiler. Tu vas ensuite remarquer dans le dossier du model que t'as créé dans le dossier material qu'il ne contient que des .VMT !
L'énorme avantage ici donc, c'est qu'il ne recopie pas le .vtf (qui contient l'image de la texture) mais l'adapte en créant un nouveau vmt pour le model. Or, un fichier vmt fait pas plus de 1 Ko donc au final, comme on utilise des textures du jeu, ça pèse que dalle et le poids de la map n'est pas augmenté!

Par contre après pour partager ta map, bien sûr il faudra ajouter tous ces fichiers (avec pakrat par exemple)
  • Partager sur Facebook
  • Partager sur Twitter
10 avril 2010 à 11:47:38

Citation : moi

Building reference mesh...
metal/metalceiling005a - LightmappedGeneric_DX9
Read successfully
LightmappedGeneric converted to vertexlitgeneric.
Could not open material c:\program files (x86)\steam\steamapps\bigbinzen35\counter-strike source\cstrike\materials/prop_me/escalier/metalceiling005a.vmt for writing! Make sure the directory exists.



j'ai tout crée pourtant
  • Partager sur Facebook
  • Partager sur Twitter
10 avril 2010 à 11:50:07

T'as peut-être fait une faute.
Ajoutes moi sur steam : leplubodeslapin . On va regarder ça avec Team Viewer.
  • Partager sur Facebook
  • Partager sur Twitter
10 avril 2010 à 14:03:17

J'ia compris mon erreur il faut créer un dossier au nom du model
  • Partager sur Facebook
  • Partager sur Twitter
10 août 2010 à 21:54:34

bonjour a vous , le sujet date , donc je ne suis pas sur d'avoir de reponse mais j'esaye quand meme ^^

donc voilà dans l'intention de créer des models , j'ai suivi les directives du plus bo des lapins , mais je me heurte à un probleme a la compilation

Building reference mesh...
Building smoothing groups...
Writing c:/propsource\hl2mp/model/colone1/_ref.smd
Failed to create SMD file! Make sure the folder exists.

donc voila je n'arrive pas a comprendre ou placer le dossier de mon modele et le chemin qu'il faut mettre dans prop_option

si quelqu'un pourrait m'aider , je lui en serait tres reconaissant
aute infos , je suis sur half life 2 deathmatch
merci d'avance

  • Partager sur Facebook
  • Partager sur Twitter
10 août 2010 à 23:56:09

Salut, t'inquiètes pas je suis encore là :D
Alors perso moi aussi j'ai eu quelques erreurs du genre au début car il faut créer les dossiers à la place du logiciel !
En fait c'est la dernière phrase qui est importante : "Failed to create SMD file! Make sure the folder exists.", ce qui veut dire "Erreur lors de la tentative de création du fichier SMD ! Assurez-vous que le dossier existe." Donc en gros il te manque ces dossiers, t'as qu'à les créer à la main ! :)
Donc pour ça tu vas dans le poste de travail/ordinateur, tu ouvres le disque local C: (qui est forcément là, c'est le disque dur où Windows est installé). Tu regardes s'il y a un dossier propsource, s'il n'y est pas, tu le créés. Puis tu rentres dedans et tu regardes s'il y a un dossier hl2mp, s'il n'y est pas tu le créés aussi. Et ainsi de suite.

Après, tu auras peut-être un autre message d'erreur dans le même genre, eh bien tu procèdes de la même manière ! :)

Ensuite, pour ce qui est de l'entité à configurer, perso voici un exemple :

ModelName : oms/escalierctmiddle -> donc ça, ça veut dire que dans le dossier C:\Program Files\Steam\steamapps\leplubodeslapin\counter-strike source\cstrike\models\oms\ il va créer les différents fichiers qui vont former le model et qui vont tous s'appeler escalierctmiddle (avec des extensions différentes bien sûr, genre .mdl , .vtx , .phy ...)

Material Path : models/oms/escalierctmiddle -> là c'est un peu différent puisque path, ça veut dire répertoire en gros, donc ça n'est pas le nom des fichiers textures et leur localisations mais uniquement la localisation des différents fichiers importants pour la texture du model (bien sûr material = texture). Donc ça veut dire qu'il va placer les différents fichiers de texture dans le dossier C:\Program Files\Steam\steamapps\leplubodeslapin\counter-strike source\cstrike\materials\models\oms\escalierctmiddle\.

Source Folder : c:/propsource

Voilà, et comme tu peux te l'imaginer, tous ces dossiers, il faut qu'ils soient créés avant que tu ne compiles ton model. Je te rassure, c'est un peu long et chiant à faire la première fois mais après c'est beaucoup plus rapide et facile à faire. Par exemple moi déjà je copies l'entité sur l'autre vmf où je veux créer mon autre model, comme ça je n'ai plus à la configurer (enfin presque). Je vais juste changer le nom du model (ModelName) et son répertoire de textures (Material Path). Ensuite, faut juste créer le dossier de texture aussi à la main. Car il y a un dossier de texture par model (je te rassure il ne pèse pas lourd).

Et bien sûr, quand tu veux partager ta map à la suite de tout ça, tu n'oublies pas d'intégrer les models ET leurs textures et théoriquement ça devrait suffire.
  • Partager sur Facebook
  • Partager sur Twitter
11 août 2010 à 14:28:54

woouaou ! merci beaucoup leplubodeslapin pour tes explication precise et detaillé cava déja beaucoups mieux , jarrive à ressortir mon modelen prop_static , par contre j'ai un petit probleme , il apparait en damier rose et noir :(
pourtant au depart , j'ai utilisé des textures qui sont à l'origine de source sdk pas des textures importés . tu saurais d'où peut venir ce probleme ?


merci d'avance , tu ma deja tant aidé
  • Partager sur Facebook
  • Partager sur Twitter
18 septembre 2010 à 22:27:58

??? je comprends pas l'intérêt de ca??? qulqu'un pourrais me donner un exemple, parce que moi je le transforme en prefab et je peut le mettre partout je peux utilisé le physique avec func_physbox, non??
  • Partager sur Facebook
  • Partager sur Twitter
18 septembre 2010 à 22:59:23

Le model est beaucoup plus léger pour le moteur Source que le func_detail ou func_physbox. Ça, c'est d'une manière générale, ensuite avec les models tu peux utiliser du smooth et donc affiner ton assemblage de bloc sur les angles. Tu peux aussi contrôler la distance d'affichage du model et ça c'est très important et pratique.

Donc c'est des arguments franchement valables, perso ça a sauvé le mod OMS, on avait trop mis de func_detail et le jeu commençait à plus supporter, alors qu'on était loin du compte, la map était loin d'être finie. Du coup on a changé des assemblages de blocs en models et directement ça allait beaucoup mieux. Et maintenant que j'ai commencé à mettre des occluders (qui calculent très bien la visibilité des models à travers les murs), on gagne encore là aussi des FPS pas du tout négligeables !
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
5 octobre 2010 à 12:43:49

Je profite que le sujet est relancé pour te demander si il est possible de faire les models avec des displacements.Par exemple je veux faire un capot de bagnole:
-texture perso sur un block à 6 faces dispalacés sur tout les cotés.Cela va t-il marcher?
  • Partager sur Facebook
  • Partager sur Twitter
5 octobre 2010 à 14:42:04

oui, du moment que la seul entitée c est l info_prop_options pour la compilation, c est ok.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
5 octobre 2010 à 14:45:47

Tu aurais pu tester par toi même ^^ (résultat = non )
  • Partager sur Facebook
  • Partager sur Twitter
5 octobre 2010 à 20:04:51

Comme l'a dit Wofa, ça fonctionne, c'est juste qu'on passera à travers, c'est ça le problème. Donc il faut mettre du clip à l'endroit où tu mets du displacment dans ton model.
Exemple :

Image utilisateur
  • Partager sur Facebook
  • Partager sur Twitter
5 octobre 2010 à 20:46:33

excellent,merci pour les réponses et les conseils!^^
Nola: parfois on a un emploi du temps très chargé et on a pas le temps pour ca ....
EDITSUPERIMPORTANTOFDOOM:The sacrifice vient de sortir!!!
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
5 octobre 2010 à 20:46:57

Ah bah moi sa marchais pas
(a denis: tu as quelque chose contre moi? nan parce que c'est pas la première fois, surtout que je le disais avec de l'humour)
  • Partager sur Facebook
  • Partager sur Twitter
5 octobre 2010 à 20:50:56

nola faut pas se vexer j'étais pas méchant je justifiais juste le fait que j'ai pas eu le temps de le faire moi même sinon tu à vu mon EDIT The sacrifice Udapt!!!
  • Partager sur Facebook
  • Partager sur Twitter
5 octobre 2010 à 21:46:40

Hello !
Petite question ! :p

Serait-ce adaptable de manière à créer des models compatible pour GoldSource (HL1) ? :-°

Ce serait super pratique un tel outil pour le noob en modélisation que je suis. :euh:
  • Partager sur Facebook
  • Partager sur Twitter