Fr/Compiling a model: Difference between revisions
No edit summary |
(Rewrite Template:Lang to Template:LanguageBar. This action was performed by a bot.) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LanguageBar|Compiling a model|title=Compilation d'un modèle}} | ||
|title=Compilation d'un modèle | {{toc-right}} | ||
}} | |||
{{ | |||
Les | 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é : | ||
# Plusieurs fichiers | # Plusieurs fichiers {{L|Studiomodel Data|SMD}} dérivants le modèle . Voir '''{{L|Exporting a model|Exporté un modèles}}''' pour plus d'informations. | ||
# Un fichier texte | # Un fichier texte {{L|Qc|QC}} qui définit comment seront interprétés les fichiers SMD lors de la compilation. | ||
# ''' | # '''{{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. | ||
== Mise en place == | == Mise en place == | ||
La seule étape que vous devez faire avant de compiler est de choisir le dossier | 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 : | ||
#Globalement, en sélectionnant votre jeu\mod dans la liste de démarrage du SDK. | #Globalement, en sélectionnant votre jeu\mod dans la liste de démarrage du SDK. | ||
# Pour Studiomdl seulement, en démarrant avec <code>-game "<chemin complet vers le dossier de votre | # 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>.}} | ||
=== Syntaxe intelligente === | === Syntaxe intelligente === | ||
Line 25: | Line 19: | ||
É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 : | É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 : | ||
* | *{{L|Notepadpp VDF languages|Notepad++}} | ||
* | *{{L|Highlighting and Compiling QCs with ConTEXT|ConTEXT}} | ||
== Créer un fichier QC == | == Créer un fichier QC == | ||
Line 32: | Line 26: | ||
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. | 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. | ||
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 : | 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}}. | ||
=== Exemple === | === Exemple === | ||
Line 43: | Line 37: | ||
* Avec un chemin absolu (ex. <code>C:\modelsrc\my_model\</code>) | * Avec un chemin absolu (ex. <code>C:\modelsrc\my_model\</code>) | ||
* 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.}} | * 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.}} | ||
* avec <code> | * avec <code>{{L|$pushd}}</code> et <code>{{L|$popd}}</code>. | ||
}} | }} | ||
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): | 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): | ||
{{L|$modelname}} "props_sdk\myfirstmodel.mdl" | |||
{{L|$body}} mybody "myfirstmodel-ref.smd" | |||
{{L|$staticprop}} | |||
{{L|$surfaceprop}} combine_metal | |||
{{L|$cdmaterials}} "models\props_sdk" | |||
{{L|$sequence}} idle "myfirstmodel-ref.smd" | |||
{{L|$collisionmodel}} "myfirstmodel-phys.smd" { {{L|$concave}} } | |||
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. | 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. | ||
Line 64: | Line 58: | ||
=== Tutoriels === | === Tutoriels === | ||
* pour des objets disposant d'une physique, voir '''<code> | * pour des objets disposant d'une physique, voir '''<code>{{L|Prop Data|prop_data}}</code>''' | ||
* Pour des personnages ou modèles de joueur, voir ''' | * Pour des personnages ou modèles de joueur, voir '''{{L|Compiling a character model}}''' | ||
* Pour des armes, voir ''' | * Pour des armes, voir '''{{L|Creating worldmodels from viewmodels}}''' | ||
* Pour des véhicules, voir ''' | * Pour des véhicules, voir '''{{L|Compiling a vehicle model}}''' | ||
* Pour une aide générale quant à la compilation des modèles, voir ''' | * Pour une aide générale quant à la compilation des modèles, voir '''{{LCategory|QC Commands}}''' | ||
== Compilation == | == Compilation == | ||
Line 76: | Line 70: | ||
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. | 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. | ||
* | *{{L|Notepadpp VDF languages#Compiling QC files|Avec Notepad++}} | ||
* | *{{L|Highlighting and Compiling QCs with ConTEXT|Avec ConTEXT}} | ||
=== Avec un fichier de batch === | === Avec un fichier de batch === | ||
Line 94: | Line 88: | ||
*<code>Error opening <model>! (Check for write enable)</code> | *<code>Error opening <model>! (Check for write enable)</code> | ||
*:Studiomdl ne peut pas créer de dossier qui n'existe pas; vous devez créer manuellement le dossier de destination de votre .mdl. | *: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> | *<code>{{L|Costly collision model}}</code> | ||
*:La limite d'un modèle de collisions est de 20 éléments, mais vous pouvez passer par dessus cette limitations. | *:La limite d'un modèle de collisions est de 20 éléments, mais vous pouvez passer par dessus cette limitations. | ||
*<code> | *<code>{{L|Duplicate weightlist pelvisonly}}</code> | ||
*<code> | *<code>{{L|Short conversion out of range}}</code> | ||
*<code> | *<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 | *:Si vous recevez <code>EXCEPTION_ACCESS_VIOLATION</code> sans de code d'erreur, essayer de compilé avec {{L|HLMV}} démarré. | ||
== Exemples du SDK == | == Exemples du SDK == | ||
Line 107: | Line 101: | ||
{{note|Les modèles pour Left 4 Dead et Left 4 Dead 2 peuvent êtres trouvés dans <code><game>\sdk_content\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> | ; <code>sdk</code> | ||
: Source complète des SMD pour les deux modèles de joueur dans | : Source complète des SMD pour les deux modèles de joueur dans {{L|Day of Defeat: Source}}. | ||
; <code>tf</code> | ; <code>tf</code> | ||
: Source complète des | : 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> | ; <code>generic</code> | ||
: Un rig de | : Un rig de {{L|ValveBiped}} peaufiné (pas de mesh) | ||
; <code>cstrike</code> | ; <code>cstrike</code> | ||
: Modèle de joueur "Urban CT" | : Modèle de joueur "Urban CT" | ||
: Plusieurs objets statique | : Plusieurs objets statique | ||
; <code>hl2</code> | ; <code>hl2</code> | ||
: | : {{L|Airboat}} et {{L|Buggy}} | ||
: | : {{L|Antlion Guard}} | ||
: Male citizen (Ancienne version avec seulement quelques animations) | : Male citizen (Ancienne version avec seulement quelques animations) | ||
: Quelque trucs de CS probablement dupliqués dans le contenus de <code>\cstrike</code> | : Quelque trucs de CS probablement dupliqués dans le contenus de <code>\cstrike</code> | ||
Line 135: | Line 129: | ||
== Voir aussi == | == Voir aussi == | ||
* | * {{L|Qc|QC}} | ||
* | * {{LCategory|QC Commands}} | ||
* | * {{L|studiomdl}} | ||
** | ** {{L|Studiocompiler}}, une interface graphique pour studiomdl | ||
** | ** {{L|GUIStudioMDL}}, une autre interface graphique | ||
* | * {{L|Highlighting and Compiling QCs with ConTEXT}} | ||
* | * {{L|Notepad++ VDF languages}} | ||
* [http://wallworm.com/projects/utilities/docs/troubleshooting/compile_errors.html Erreurs commune de compilation et quelques solutions] | * [http://wallworm.com/projects/utilities/docs/troubleshooting/compile_errors.html Erreurs commune de compilation et quelques solutions] | ||
{{ACategory|Modeling}} | |||
{{ACategory|Tutorials}} | |||
Latest revision as of 17:52, 18 July 2025
Les 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é :
- Plusieurs fichiers SMD dérivants le modèle . Voir Exporté un modèles pour plus d'informations.
- Un fichier texte QC qui définit comment seront interprétés les fichiers SMD lors de la compilation.
- 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.
Mise en place
La seule étape que vous devez faire avant de compiler est de choisir le dossier VPROJECT actuel. Les models seront compilés dans le dossier du jeu choisi. Vous pouvez le configurer ainsi :
- Globalement, en sélectionnant votre jeu\mod dans la liste de démarrage du SDK.
- Pour Studiomdl seulement, en démarrant avec
-game "<chemin complet vers le dossier de votre gameinfo.txt >"
Astuce: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 .
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:
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" $body mybody "myfirstmodel-ref.smd" $staticprop $surfaceprop combine_metal $cdmaterials "models\props_sdk" $sequence idle "myfirstmodel-ref.smd" $collisionmodel "myfirstmodel-phys.smd" { $concave }
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.

$sequence
, même si ils ne sont réellement animés!Tutoriels
- pour des objets disposant d'une physique, voir
prop_data
- Pour des personnages ou modèles de joueur, voir Compiling a character model
- Pour des armes, voir Creating worldmodels from viewmodels
- Pour des véhicules, voir Compiling a vehicle model
- Pour une aide générale quant à la compilation des modèles, voir Category:QC Commands
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
Error opening <model>! (Check for write enable)
- Studiomdl ne peut pas créer de dossier qui n'existe pas; vous devez créer manuellement le dossier de destination de votre .mdl.
Costly collision model
- La limite d'un modèle de collisions est de 20 éléments, mais vous pouvez passer par dessus cette limitations.
Duplicate weightlist pelvisonly
Short conversion out of range
WARNING: (4768124) : ERROR: 'EXCEPTION ACCESS VIOLATION' (assert: 1)
- Si vous recevez
EXCEPTION_ACCESS_VIOLATION
sans de code d'erreur, essayer de compilé avec HLMV démarré.
- Si vous recevez
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\
.

<game>\sdk_content\modelsrc\
sdk
- Source complète des SMD pour les deux modèles de joueur dans Day of Defeat: Source .
tf
- Source complète des DMX pour toutes les classes de TF2. Meshes de référence rigger et aussi disponible en SMD et Maya .
generic
- Un rig de ValveBiped peaufiné (pas de mesh)
cstrike
- Modèle de joueur "Urban CT"
- Plusieurs objets statique
hl2
- Airboat et Buggy
- Antlion Guard
- 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
- 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
- Exemple de barrière destructible différent de celui trouver dans Left 4 Dead 1
- Exemple de plafond dynamique friable
Voir aussi
- QC
- Category:QC Commands
- studiomdl
- Studiocompiler , une interface graphique pour studiomdl
- GUIStudioMDL , une autre interface graphique
- Highlighting and Compiling QCs with ConTEXT
- Notepad++ VDF languages
- Erreurs commune de compilation et quelques solutions