Tutoriel comment exporter un modèle blender vers un jeu source (.mdl) ?

Tutoriels

Ce tutoriel va vous apprendre comment importer des modèles 3D depuis Blender, vers un jeu source.

Présentation du logiciel et des jeux

Avant de commencer ce tutoriel, définissons ce qu’est Blender et un jeu source.

Blender est un logiciel libre de modélisation, d’animation par ordinateur et de rendu en 3D. Il à était créer en 1998 et développé par la Fondation Blender. Depuis 2019, le logiciel Blender est de plus en plus reconnu par les entreprises de secteur de l’animation 3D, comme Epic Games, Ubisoft et NVIDIA. (wikipédia).

Source est un moteur de jeu 3D développé par Valve en 2004 avec la publication de Counter-Strike: Source et Half-Life 2. Il est de nos jours utilisé pour un logiciel d’animation nommé Source Filmmaker et de nombreux jeux comme Garry’s mod ou Team Fortress 2.

Logiciels nécessaires

Pour ce tutoriel, vous auriez besoin de divers logiciels:

Tutoriel

  • Ouvrez Blender
  • Allez dans Edit puis dans Preferences
  • Une fenêtre s’ouvrira puis allez dans Install et importez le Blender Source Tools
  • Quand L’addon est importé, n’oubliez pas de l’activer en cliquant sur la case avant de fermer la fenêtre
  • Fermez la fenêtre et importez ou créez un modèle 3D sur le logiciel

  • Allez dans Scene Properties
  • Cliquez sur > Source Engine Export et un menu s’ouvrira
  • Sélectionnez un dossier où le modèle sera exporté et cliquez sur SMD. Ensuite appuyez sur Export et cliquez sur « le nom du modèle ».smd

  • Une fois que cela sera fait, vous aurez votre modèle en forma .smd dans le dossier que vous avez choisi.
  • Maintenant ouvrez Notepad ++ et créez un nouveau document
  • Nous allons maintenant configurer le modèle. Tout d’abord le nom du modèle ainsi que le dossier où il sera placé.
$modelname ""Nom de votre speudo"\"nom du modèle".mdl"
  • Ensuite nous devons importer le .smd
$bodygroup "Body"
{
	studio ""nom du modèle"".smd"
}
  • Puis quelques particularités pour que le modèle fonctionne correctement dans le jeu
$surfaceprop "default"

$contents "solid"
  • Il faut aussi noter l’emplacement du dossier où les textures du modèles seront placées.
$cdmaterials "models\"Nom de votre speudo"\"nom du model"\"
  • Il faut impérativement informer si le modèle possède une animation où non. (ici nous avons pas d’animation donc nous utiliserons le seul .smd que nous aurons
$sequence "idle" {
	""nom du modèle".smd"
	fadein 0.2
	fadeout 0.2
	fps 30
}
  • Ce n’est pas nécessaire mais vous pouvez appliquer des collisions au modèle
$collisionmodel ""nom du modèle".smd"
{
	$mass 100
	$inertia 1
	$damping 0
	$rotdamping 0
	$rootbone " "
	$concave
	$maxconvexpieces 57

}
  • Voici à quoi ressemble mon fichier
  • Quand tout cela est terminé. Enregistrez le document en .qc et ouvrez Crowbar.
  • Avant de continuer avec Crowbar, assurez-vous de le paramétrer le logiciel en fonction du jeu que vous souhaitez utiliser!
  • Vous irez ensuite dans Compile et vous sélectionnerez le .qc pour QC input et le répertoire du jeu pour Output to. (j’utilise personnellement le jeu « Team Fortress 2 »)
  • Cliquez ensuite sur Compile
  • Attendez que le modèle finisse de se compiler et regardez si il n’y a aucune erreurs.
  • Quand le modèle est enfin compilé ouvrez le logiciel Hammer qui se trouve dans la répertoire bin de votre jeu \Steam\steamapps\common\« le jeu« \bin
  • Ouvrez ou créez une map
  • Quand vous avez ouvert la map, placé un Entity Tool
  • Une fois placé, cliquez deux fois dessus. Une fenêtre s’ouvrira et changez le info_player_teamspawn en prop_static ou prop_dynamic. Appliquez et changer le modèle en cliquant sur World Model et Browse.
  • Une fenêtre s’ouvrira
  • Cherchez le nom de votre modèles et quand vous l’avez trouvé, cliquez sur ok.
  • Votre modèle est enfin importé dans le jeu mais il n’est pas texturé
  • Pour importer les textures, glissez les textures qui sont généralement en .png dans le logiciel VTFEdit
  • Une fenêtre s’ouvrira, cliquez sur ok
  • Maintenant la texture sélectionnez sera affiché sur le logiciel.
  • Enregistrez le fichier sous en forma .vtf avec le nom que vous avez utilisez sur blender
  • Quand vous avez exporté le .vtf retournez dans file est créez un nouveau fichier. Ceci apparaitra et maintenant nous allons paramétrer la texture
"VertexlitGeneric"
{
	"$basetexture" "models\"Nom de votre speudo"\"nom du model"\"nom de la texture"
}
  • Il faudra écrire ceci et assurez-vous que le chemin du dossier pour la $basetexture corresponde à celui que vous avez rentré dans le .qc pour le $cdmaterials. Voici ce que ça donne pour mon modèle.
  • Quand tout cela est fait. Enregistrez le en forma .VMT
  • Vous avez maintenant vos des fichiers .VTF et .VMT
  • Vous devez maintenant les déplacer dans la destinations de fichier que vous avez écris dans le .VMT et .QC. Pour ça, allez d’abord dans les fichiers du jeu et dans le dossier materials \Steam\steamapps\common\« le jeu« \« nom du jeu raccourcis« \materials
  • Dans ce dossier materials, vous trouverez un dossier models. Ouvrez le et maintenant créez un dossier qui devra comportez le nom de votre speudo que vous avez écris dans le .QC et le .VMT
  • Ouvrez ce dossier et créez un autre dossier qui aura le nom du modèle que vous avez aussi écris dans le .QC et le .VMT
  • Quand tout cela est fait, glissez les fichiers .VTF et .VMT dedans
  • Voici le résultat pour mon modèle
  • Votre modèle sera désormais texturé (n’oubliez pas de relancer votre hammer pour être sûre que le la texture s’applique bien au modèle)
  • Mon modèle ici est à moitié texturé car il comportait à la base 2 textures. On voit bien qu’il n’est pas texturé au niveau des yeux