Compilation d'un modèle
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