Fr/Compiling a model: Difference between revisions

From Valve Developer Community
< Fr
Jump to navigation Jump to search
(New page: {{template:toc-right}} Models need to be compiled before they can be used in a game. There are three components of a compile: # A set of '''SMD files''' describi...)
 
(Rewrite Template:Lang to Template:LanguageBar. This action was performed by a bot.)
 
(34 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{template:toc-right}}
{{LanguageBar|Compiling a model|title=Compilation d'un modèle}}
{{toc-right}}


[[Model]]s need to be compiled before they can be used in a game. There are three components of a compile:
Les {{L|model|modèles}} ont besoin d'être compilés pour être utilisés dans Source. Trois éléments interviennent afin d'obtenir un modèle compilé :


# A set of '''[[Studiomodel Data|SMD]] files''' describing a model. See [[Exporting a model]] if you don't have any.
# Plusieurs fichiers {{L|Studiomodel Data|SMD}} dérivants le modèle . Voir '''{{L|Exporting a model|Exporté un modèles}}''' pour plus d'informations.
# A '''[[Qc|QC]] file''' that defines, in a manner not too dissimilar to a texture's [[VMT]], how the SMD files should be interpreted.
# Un fichier texte {{L|Qc|QC}} qui définit comment seront interprétés les fichiers SMD lors de la compilation.
# '''[[Studiomdl]]''', the SDK program that consumes the QC and spits out (hopefully!) a compiled model.
# '''{{L|Studiomdl}}''', le programme fourni avec le SDK pour compiler vos modèle. Pour plus de simplicité vous pouvez utilisé une interface graphique, voir liens plus bas.


== Setting up ==
== Mise en place ==


The only step you need to take before compiling (assuming your SMDs have exported OK) is choosing the current [[VPROJECT]] folder. This is the game that is being compiled for, and defines where studiomdl will write out the compiled model. You can configure it:
La seule étape que vous devez faire avant de compiler est de choisir le dossier {{L|VPROJECT}} actuel. Les models seront compilés dans le dossier du jeu choisi. Vous pouvez le configurer ainsi :


#Globally, by selecting your game/mod in the SDK launcher's drop-down list. {{bug|This won't work for studiomdl (or any other command-line tool) unless you have admin permissions.}}
#Globalement, en sélectionnant votre jeu\mod dans la liste de démarrage du SDK.
#For studiomdl only, by running it with <code>-game "<full path to your [[gameinfo.txt]] folder>"</code> {{tip|Most SDK tools accept <code>-game</code>.}}
# Pour Studiomdl seulement, en démarrant avec <code>-game "<chemin complet vers le dossier de votre {{L|gameinfo.txt}}>"</code> {{tip:fr|La plupart des outils SDK acceptent <code>-game</code>.}}


=== Syntax highlighting ===
=== Syntaxe intelligente ===


Editing a QC file becomes much easier when you use an advanced text editor with support for [[Wikipedia:Syntax highlighting|syntax highlighting]]. There are two editors with QC highlighting rules at the moment:
Éditer un fichier devient beaucoup plus facile avec un éditeur de texte avancé avec support de la syntaxe. Il y a deux éditeurs avec support de la syntaxe pour les fichiers QC :


*[[Notepadpp VDF languages|Notepad++]]
*{{L|Notepadpp VDF languages|Notepad++}}
*[[Highlighting and Compiling QCs with ConTEXT|ConTEXT]]
*{{L|Highlighting and Compiling QCs with ConTEXT|ConTEXT}}


== Creating a QC ==
== Créer un fichier QC ==


A QC file is simply a text file with the extension <code>.qc</code>. You can create it anywhere and name it anything, but it's best to be organised and store it with your SMDs in a folder with the same name as the destination model file.
Un fichier QC est simplement un fichier contenant du texte avec l'extension <code>.qc</code>. Vous pouvez le sauvegarder n'importe où, le nommer comme vous voulez, mais pour mieux être organisé, il est recommandé de placer le fichier QC dans le même dossier que les SMDs avec le même nom que les SMDs.  


Inside it should be a list of [[:Category:QC Commands|commands]] that tell studiomdl about the location of the model's various SMDs, where the compiled files should be written to (relative to VPROJECT), how to process animations, and potentially much, ''much'' more. You will find all known commands listed at [[:Category:QC Commands]].
Dans le fichier QC il dois y avoir plusieurs commandes informant studiomdl sur la location des SMD, ou les fichiers seront compilé (par rapport au VPROJECT), comment sera l'animation, et plus... Vous trouverez toutes les commandes nécessaires ici : {{LCategory|QC Commands}}.


=== Example ===
=== Exemple ===


<div style="margin-left:1em;padding:1em;float:right;width:22em;border:1px solid #aaa;background:#EFEFEF;-moz-border-radius:.5em;-webkit-border-radius:.5em;">
{{BoxOut|float=right|width=22em|
<h4 style="margin:0;padding:0;">File locations</h4>
1=<strong style="font-size:1.2em;color:#fff;">Emplacement des fichiers</strong>


The default location for SMDs is the same folder as the QC file. You can access other locations:
L'emplacement par défaut des fichiers SMD est le même répertoire que le fichier QC. Vous pouvez accéder à d'autres emplacements:


* With an absolute path (e.g. <code>C:\modelsrc\my_model\</code>)
* Avec un chemin absolu (ex. <code>C:\modelsrc\my_model\</code>)
* With a relative path (e.g. <code>.\subfolder</code> or <code>..\</code>) {{tip|A single period is the current folder. Two periods is the one above it. <code>..\..\</code> goes two levels up.}}
* Avec un chemin relatif (ex. <code>.\subfolder</code> or <code>..\</code>) {{tip|Un seul point correspond au dossier actuel. Deux points correspond au dossier avant celui ci. <code>..\..\</code> remonte de deux niveau de dossier.}}
* With <code>[[$pushd]]</code> and <code>[[$popd]]</code>.</div>
* avec <code>{{L|$pushd}}</code> et <code>{{L|$popd}}</code>.
}}


Here is a very simple QC file for a solid model without any animation or special properties (click on each command for details):
Ce qui suit est un exemple très simple de fichier QC pour un modèle solide sans aucune animation ou propriété spéciale (cliquez sur chacune des commande pour en obtenir le détail):


  [[$modelname]] "props_sdk\myfirstmodel.mdl"
  {{L|$modelname}} "props_sdk\myfirstmodel.mdl"
  [[$body]] mybody "myfirstmodel-ref.smd"
  {{L|$body}} mybody "myfirstmodel-ref.smd"
  [[$staticprop]]
  {{L|$staticprop}}
  [[$surfaceprop]] combine_metal
  {{L|$surfaceprop}} combine_metal
  [[$cdmaterials]] "models\props_sdk"
  {{L|$cdmaterials}} "models\props_sdk"
   
   
  [[$sequence]] idle "myfirstmodel-idle.smd" loop fps 15
  {{L|$sequence}} idle "myfirstmodel-ref.smd"
   
   
  [[$collisionmodel]] "myfirstmodel-phys.smd" { [[$concave]] }
  {{L|$collisionmodel}} "myfirstmodel-phys.smd" { {{L|$concave}} }


You will be able to use this as a template to compile your own model, so swap in your own SMDs and see what happens.
Vous devriez pouvoir utiliser celui ci comme exemple pour compiler votre propre modèle, en échangeant avec vos propre SMD pour voir ce qui se passe.


{{note|All models must have at least one <code>$sequence</code>, even if they aren't actually animated.}}
{{note|Tout les modèles doivent avoir au moins un <code>$sequence</code>, même si ils ne sont réellement animés!}}


=== Tutorials ===
=== Tutoriels ===


*For physically-simulated objects, see '''<code>[[Prop Data|prop_data]]</code>'''
* pour des objets disposant d'une physique, voir '''<code>{{L|Prop Data|prop_data}}</code>'''
*For characters or player models, see '''[[Compiling a character model]]'''
* Pour des personnages ou modèles de joueur, voir '''{{L|Compiling a character model}}'''
*For [[viewmodel]]s, see '''[[Compiling a viewmodel]]'''
* Pour des armes, voir '''{{L|Creating worldmodels from viewmodels}}'''
*For vehicles, see '''[[Compiling a vehicle model]]'''
* Pour des véhicules, voir '''{{L|Compiling a vehicle model}}'''
*For general help with compiling models, see '''[[:Category:QC Commands]]'''
* Pour une aide générale quant à la compilation des modèles, voir '''{{LCategory|QC Commands}}'''


== Compiling ==
== Compilation ==


=== With your text editor ===
=== Avec votre éditeur de texte ===


The easiest way to compile a model is with the built-in launch features of advanced text editors.
La manière la plus simple de compiler un modèle et en utilisant la fonction de lancement intégrer dans les éditeurs de texte avancés.


*[[Notepadpp VDF languages#Compiling QC files|With Notepad++]]
*{{L|Notepadpp VDF languages#Compiling QC files|Avec Notepad++}}
*[[Highlighting and Compiling QCs with ConTEXT|With ConTEXT]]
*{{L|Highlighting and Compiling QCs with ConTEXT|Avec ConTEXT}}


=== With a batch file ===
=== Avec un fichier de batch ===


If you can't (or don't want to) use an advanced text editor, you will be compiling QCs by dragging them onto studiomdl in Windows. You can find the executable file in <code>sourcesdk/bin/[orangebox|ep1]/bin/</code>.
Si vous ne pouvez pas (ou ne voulez pas) utiliser un éditeur de texte avancé, vous pouvez compiler vos QC en les déposant dans studiomdl dans Windows. Vous pouvez trouver le fichier exécutable dans <code>sourcesdk/bin/[orangebox|ep1]/bin/</code>.


The process will be easier if you create a .cmd file somewhere more accessible to automate it. This is simply a renamed .txt file containing something like this:
Le processus peut être simplifier en créant un fichier .cmd dans un emplacement plus accessible qui permet de l'optimiser. Ceci se fait simplement en renommant un fichier .txt contenant quelque chose de similaire a ceci:


  "%sourcesdk%/bin/orangebox/bin/studiomdl" "%1"
  "%sourcesdk%/bin/orangebox/bin/studiomdl" "%1"
  pause
  pause


Drop your QC file onto the CMD as you would studiomdl itself; it's essentially a shortcut to the executable.
Déposer votre fichier QC dans le CMD comme vous le feriez avec studiomdl; ceci correspond en fait a un raccourcis vers l'executable.


== Common errors == <!-- linked to from [[studiomdl]] -->
== Erreurs Communes ==  


*<code>Error opening <model>! (Check for write enable)</code>
*<code>Error opening <model>! (Check for write enable)</code>
*:Studiomdl won't create folders that don't exist; you must manually create a path to your .mdl before compiling.
*:Studiomdl ne peut pas créer de dossier qui n'existe pas; vous devez créer manuellement le dossier de destination de votre .mdl.
*<code>[[Costly collision model]]</code>
*<code>{{L|Costly collision model}}</code>
*<code>[[Duplicate weightlist pelvisonly]]</code>
*:La limite d'un modèle de collisions est de 20 éléments, mais vous pouvez passer par dessus cette limitations.
*<code>[[Short conversion out of range]]</code>
*<code>{{L|Duplicate weightlist pelvisonly}}</code>
*<code>[[WARNING: (4768124) : ERROR: 'EXCEPTION ACCESS VIOLATION' (assert: 1)]]</code>
*<code>{{L|Short conversion out of range}}</code>
*:If you receive <code>EXCEPTION_ACCESS_VIOLATION</code> without an error code, try compiling with [[HLMV]] running.
*<code>{{L|WARNING: (4768124) : ERROR: 'EXCEPTION ACCESS VIOLATION' (assert: 1)}}</code>
*:Si vous recevez <code>EXCEPTION_ACCESS_VIOLATION</code> sans de code d'erreur, essayer de compilé avec {{L|HLMV}} démarré.


== SDK samples ==
== Exemples du SDK ==


The SDK has numerous sample models, including several fully-articulated characters and players. They can be found at <code>sourcesdk_content\<game>\modelsrc\</code>.
Le SDK dispose de nombreux exemples de modèles, incluant plusieurs personnages et joueurs complètement articulés. Ils peuvent êtres trouvés dans <code>sourcesdk_content\<game>\modelsrc\</code>.


{{note|Les modèles pour Left 4 Dead et Left 4 Dead 2 peuvent êtres trouvés dans <code><game>\sdk_content\modelsrc\</code>}}
; <code>sdk</code>
: Source complète des SMD pour les deux modèles de joueur dans {{L|Day of Defeat: Source}}.
; <code>tf</code>
: Source complète des {{L|DMX}} pour toutes les classes de TF2. {{L|reference mesh|Meshes de référence}} rigger et aussi disponible en {{L|SMD}} et {{L|Maya}}.
; <code>generic</code>
: Un rig de {{L|ValveBiped}} peaufiné (pas de mesh)
; <code>cstrike</code>
; <code>cstrike</code>
: "Urban CT" player model
: Modèle de joueur "Urban CT"
: Several static props
: Plusieurs objets statique
; <code>generic</code>
: A tweaked [[ValveBiped]] rig (no meshes)
; <code>hl2</code>
; <code>hl2</code>
: [[Airboat]] and [[Buggy]]
: {{L|Airboat}} et {{L|Buggy}}
: [[Antlion Guard]]
: {{L|Antlion Guard}}
: Male citizen (only has a few animations)
: Male citizen (Ancienne version avec seulement quelques animations)
: Some CS stuff that is probably a duplicate of <code>\cstrike</code>'s content
: Quelque trucs de CS probablement dupliqués dans le contenus de <code>\cstrike</code>
: Viewmodels for all HL2 weapons
: Viewmodels pour toutes les armes de HL2
; <code>hl2mp</code>
; <code>hl2mp</code>
: ''All with multiplayer animations only:''
: ''Tout avec les animations du multiplayer seulement:''
: Combine soldier  
: Combine soldier  
: Metrocop
: Metrocop
: Male rebel
: Male rebel
; <code>Left 4 Dead</code> {{l4d}}
: Modèle commun des infectés, Bodygroups, et les commandes nécessaire aux skins dynamique
: Exemple de barrière destructible
: Exemples d'arme explosive pour les bouteilles de gaz rouge et les réservoir de propane
; <code>Left 4 Dead 2</code> {{l4d2}}
: Exemple de barrière destructible différent de celui trouver dans Left 4 Dead 1
: Exemple de plafond dynamique friable


== See also ==
== Voir aussi ==
* [[Qc|QC]]
* {{L|Qc|QC}}
*[[:Category:QC Commands]]
* {{LCategory|QC Commands}}
* [[studiomdl]]
* {{L|studiomdl}}
* [[Studiocompiler]], a graphical interface for studiomdl
** {{L|Studiocompiler}}, une interface graphique pour studiomdl
* [[GUIStudioMDL]], another graphical interface
** {{L|GUIStudioMDL}}, une autre interface graphique
* [[Highlighting and Compiling QCs with ConTEXT]]
* {{L|Highlighting and Compiling QCs with ConTEXT}}
* [[Notepadpp VDF languages|Notepad++ VDF languages]]
* {{L|Notepad++ VDF languages}}
 
* [http://wallworm.com/projects/utilities/docs/troubleshooting/compile_errors.html Erreurs commune de compilation et quelques solutions]
{{otherlang:en}}
{{otherlang:en:ru|Compiling_Models_Basics:ru}}


[[Category:Modeling]]
{{ACategory|Modeling}}
[[Category:Tutorials]]
{{ACategory|Tutorials}}

Latest revision as of 17:52, 18 July 2025

English (en)Français (fr)한국어 (ko)Русский (ru)中文 (zh)Translate (Translate)

Les modèles(en) ont besoin d'être compilés pour être utilisés dans Source. Trois éléments interviennent afin d'obtenir un modèle compilé :

  1. Plusieurs fichiers SMD(en) dérivants le modèle . Voir Exporté un modèles(en) pour plus d'informations.
  2. Un fichier texte QC(en) qui définit comment seront interprétés les fichiers SMD lors de la compilation.
  3. Studiomdl(en), le programme fourni avec le SDK pour compiler vos modèle. Pour plus de simplicité vous pouvez utilisé une interface graphique, voir liens plus bas.

Mise en place

La seule étape que vous devez faire avant de compiler est de choisir le dossier VPROJECT(en) actuel. Les models seront compilés dans le dossier du jeu choisi. Vous pouvez le configurer ainsi :

  1. Globalement, en sélectionnant votre jeu\mod dans la liste de démarrage du SDK.
  2. Pour Studiomdl seulement, en démarrant avec -game "<chemin complet vers le dossier de votre gameinfo.txt(en)>"
    Tip.pngAstuce:La plupart des outils SDK acceptent -game.

Syntaxe intelligente

Éditer un fichier devient beaucoup plus facile avec un éditeur de texte avancé avec support de la syntaxe. Il y a deux éditeurs avec support de la syntaxe pour les fichiers QC :

Créer un fichier QC

Un fichier QC est simplement un fichier contenant du texte avec l'extension .qc. Vous pouvez le sauvegarder n'importe où, le nommer comme vous voulez, mais pour mieux être organisé, il est recommandé de placer le fichier QC dans le même dossier que les SMDs avec le même nom que les SMDs.

Dans le fichier QC il dois y avoir plusieurs commandes informant studiomdl sur la location des SMD, ou les fichiers seront compilé (par rapport au VPROJECT), comment sera l'animation, et plus... Vous trouverez toutes les commandes nécessaires ici : Category:QC Commands(en).

Exemple

Emplacement des fichiers

L'emplacement par défaut des fichiers SMD est le même répertoire que le fichier QC. Vous pouvez accéder à d'autres emplacements:

  • Avec un chemin absolu (ex. C:\modelsrc\my_model\)
  • Avec un chemin relatif (ex. .\subfolder or ..\)
    Tip.pngAstuce:Un seul point correspond au dossier actuel. Deux points correspond au dossier avant celui ci. ..\..\ remonte de deux niveau de dossier.
  • avec $pushd(en) et $popd(en).

Ce qui suit est un exemple très simple de fichier QC pour un modèle solide sans aucune animation ou propriété spéciale (cliquez sur chacune des commande pour en obtenir le détail):

$modelname(en)	"props_sdk\myfirstmodel.mdl"
$body(en) mybody	"myfirstmodel-ref.smd"
$staticprop(en)
$surfaceprop(en)	combine_metal
$cdmaterials(en)	"models\props_sdk"

$sequence(en) idle	"myfirstmodel-ref.smd"

$collisionmodel(en)	"myfirstmodel-phys.smd" { $concave(en) }

Vous devriez pouvoir utiliser celui ci comme exemple pour compiler votre propre modèle, en échangeant avec vos propre SMD pour voir ce qui se passe.

Note.pngNote:Tout les modèles doivent avoir au moins un $sequence, même si ils ne sont réellement animés!

Tutoriels

Compilation

Avec votre éditeur de texte

La manière la plus simple de compiler un modèle et en utilisant la fonction de lancement intégrer dans les éditeurs de texte avancés.

Avec un fichier de batch

Si vous ne pouvez pas (ou ne voulez pas) utiliser un éditeur de texte avancé, vous pouvez compiler vos QC en les déposant dans studiomdl dans Windows. Vous pouvez trouver le fichier exécutable dans sourcesdk/bin/[orangebox|ep1]/bin/.

Le processus peut être simplifier en créant un fichier .cmd dans un emplacement plus accessible qui permet de l'optimiser. Ceci se fait simplement en renommant un fichier .txt contenant quelque chose de similaire a ceci:

"%sourcesdk%/bin/orangebox/bin/studiomdl" "%1"
pause

Déposer votre fichier QC dans le CMD comme vous le feriez avec studiomdl; ceci correspond en fait a un raccourcis vers l'executable.

Erreurs Communes

Exemples du SDK

Le SDK dispose de nombreux exemples de modèles, incluant plusieurs personnages et joueurs complètement articulés. Ils peuvent êtres trouvés dans sourcesdk_content\<game>\modelsrc\.

Note.pngNote:Les modèles pour Left 4 Dead et Left 4 Dead 2 peuvent êtres trouvés dans <game>\sdk_content\modelsrc\
sdk
Source complète des SMD pour les deux modèles de joueur dans Day of Defeat: Source(en).
tf
Source complète des DMX(en) pour toutes les classes de TF2. Meshes de référence(en) rigger et aussi disponible en SMD(en) et Maya(en).
generic
Un rig de ValveBiped(en) peaufiné (pas de mesh)
cstrike
Modèle de joueur "Urban CT"
Plusieurs objets statique
hl2
Airboat(en) et Buggy(en)
Antlion Guard(en)
Male citizen (Ancienne version avec seulement quelques animations)
Quelque trucs de CS probablement dupliqués dans le contenus de \cstrike
Viewmodels pour toutes les armes de HL2
hl2mp
Tout avec les animations du multiplayer seulement:
Combine soldier
Metrocop
Male rebel
Left 4 Dead Left 4 Dead
Modèle commun des infectés, Bodygroups, et les commandes nécessaire aux skins dynamique
Exemple de barrière destructible
Exemples d'arme explosive pour les bouteilles de gaz rouge et les réservoir de propane
Left 4 Dead 2 Left 4 Dead 2
Exemple de barrière destructible différent de celui trouver dans Left 4 Dead 1
Exemple de plafond dynamique friable

Voir aussi