Hab mich heut mal entschlossen ein Tutorial zu schreiben.
Das Tutorial handelt vom Erstellen von view Models (kurz v_model)
in 3dsmax und das Exportieren in die Source Engine.
Mann benötigt:
3dsmax die Version ist egal, ich benutze 3dsmax 8
vtf plugin für 3dsmax braucht man um die Texturen von Valve sehen zu können
Smd Export Plugin
Ein gutes Programm das die SMD Datein zu MDL exportiert und weitere Extras verfügt (nach der Installation bitte den Fix drauf machen)
Studio Compiler fix wegen Steamappid Error 211: Install Steam\Steamapps\dein account\sourcesdk\bin
mehr Programme sind nicht nötig.
1. Erstellen der Szene
Als erstes öffnet man 3dsmax und fängt eine neues Projekt an ich nenne es "handidle.max".
Nun geht man auf Create->Cameras->Free Camera diese Camera muss an den Cordinaten null liegen also genau in der Mitte
Danach muss nur noch das FOV eingestellt werden (So ne Art entfernung oder Zoom wie weit die Kamera schaut)
Bei HL2 liegt die bei 54 degrees (hoffe ich hab richtig geschrieben).
Jetz könnt ihr eure Arme und Waffe einfügen falls ihr welche gemacht habt. Ich habe nur mal 2 Arme zu Demonstrationszwecken genommen
falls ihr keine habt könnt ihr meine nehmen
Hier (die ganze Szene) zum Download
Ein Screenshot so wie es dann Aussehen soll.

2. Nach SMD Exportieren
So nun haben wir die Szene erstellt, nun wollen wir es zu SMD umwandeln. Man geht auf
File->Export Dateiname: "handreference" Dateityp: "Valve SMD (*.SMD)" dann auf Export.
Jetz auf Reference frame und auf Export Model
File->Export Dateiname: "handidle" Dateityp: "Valve SMD (*.SMD)" dann auf Export.
Jetz auf Skeletel frame und auf Export Model
(Wenn ihr mehrere Animationen habt müsst ihr sie als skeletel frame exportieren eine sollte
als reference exportiert werden dies Speichert die Grunddaten vom Model)
3. Export nach MDL
Als erstes mal müssen wir die .QC schreiben die wir dann später mit dem Studio Compiler zu MDL machen
a)QC Schreiben
hand.QC
$cd "C:\Programme\Steam\SteamApps\morriseisner\sourcesdk_content\cstrike\modelsrc\hands"
//wie das modell später heißt
$modelname weapons\v_hands.mdl
//das ist die Referenz datei
$body studio "handreference.smd"
//Kamera einstellungen x y z Kordinaten
$origin 0 0 0
//Muzzle flash Mündungsfeuer
//$attachment "muzzle" "ValveBiped.Muzzle" 0 0 0 rotate -90 0 0 rigid
//Shell eject wo Patrone oder Magazin später eingesetzt wird
//$attachment 1 "ValveBiped.Eject" 0 0 0 rotate 180 0 0 rigid
//Animationen:
$sequence idle01 "handidle" loop fps 30 activity ACT_VM_IDLE 1 node 0
Die SMD Datein inklusive der .QC +Texturen in
C:\Program Files\Steam\SteamApps\username\sourcesdk_content\cstrike\modelsrc
\materialsrc
b)Erklärung
Dieser Befehl bindet die Folge zu einem Tätigkeitsnamen. Ein Tätigkeitsname ist ein Deckname für eine oder mehr Folgen, die der Code verwenden kann. Der Vorteil zum Verwenden von Tätigkeiten besteht darin, dass der Modller vielfache Folgen zu einem Tätigkeitsnamen binden kann, so eine Schwankung in den Animationen die Musterspiele ohne Programmierer-Eingreifen bekommend. Zum Beispiel, konnte der Modellierer drei Animationen schaffen und sie alle zu "ACT_IDLE binden. Der Programmierer muss nur den Code schreiben, der sagt, "ACT_IDLE zu spielen, und eine der drei möglichen Folgen wird gewählt. Der zweite Parameter, "ACTivity_name, muss eine Tätigkeit in den Tätigkeitssliste des Programmierers (in ai_"ACTivity.cpp und "ACTivitylist.cpp) sein. Der dritte Parameter, kontrolliert, wie oft diese Folge gegen andere zu demselben Tätigkeitsnamen gebundene Folgen gewählt wird. Folgen mit höheren Zahlen werden öfters gewählt. Zum Beispiel, wenn Sie genannten "idle1" einer Folge mit der Zahl 1 hätte und eine Folge "idle2" mit einem der Zahl 2 nannte, dann würde "idle2" zweimal die Chance haben, gespielt zu werden, wenn dem Modell gesagt wird, "ACT_IDLE zu spielen. Wenn Sie nur eine Animation von einer Tätigkeit haben können sie -1 benutzen.
sry ist ne scheiss übersetzung, ist nicht gerade einfach zu verstehen

Mögliche Animationscommands
"ACT_VM_DRAW" -?Wenn man ziehlt vieleicht?
"ACT_VM_HOLSTER" -Wenn man die Waffe gerade nicht in der Hand hält oder nicht gezogen hat
"ACT_VM_IDLE" -Idle sequence wenn man im spiel nichts tut (Leerlaufanimation)
"ACT_VM_FIDGET" -?
"ACT_VM_PULLBACK" -?
"ACT_VM_PULLBACK_HIGH"-?
"ACT_VM_PULLBACK_LOW" -?
"ACT_VM_THROW" -Ist wahrscheinlich wenn man z.b eine granate wirft
"ACT_VM_PULLPIN" -?
"ACT_VM_PRIMARYATTACK" -Primäre Attacke linksklick, wenn man auf jemand feuert
"ACT_VM_SECONDARYATTACK" -Sekundäre Attacke rechtsklick, wenn man auf jemand feuert
"ACT_VM_RELOAD" -bei der Nachladanimation
"ACT_VM_DRYFIRE" -?
"ACT_VM_HITLEFT" -?
"ACT_VM_HITLEFT2" -?
"ACT_VM_HITRIGHT" -?
"ACT_VM_HITRIGHT2" -?
"ACT_VM_HITCENTER" -?
"ACT_VM_HITCENTER2" -?
"ACT_VM_MISSLEFT" -?
"ACT_VM_MISSLEFT2" -?
"ACT_VM_MISSRIGHT" -?
"ACT_VM_MISSRIGHT2" -?
"ACT_VM_MISSCENTER" -?
"ACT_VM_MISSCENTER2" -?
"ACT_VM_HAULBACK" -?
"ACT_VM_SWINGHARD" -?
"ACT_VM_SWINGMISS" -?
"ACT_VM_SWINGHIT" -?
"ACT_VM_IDLE_TO_LOWERED" Wenn man auf Freundlichen NPC ziehlt senkt sich die Waffe
"ACT_VM_IDLE_LOWERED" Waffe wird unten gehalten, wenn man immer noch auf den Freund ziehlt
"ACT_VM_LOWERED_TO_IDLE" Wenn man nicht mehr auf Freundlichen NPC ziehlt hebt sich die Waffe
"ACT_VM_RECOIL1" -?
"ACT_VM_RECOIL2" -?
"ACT_VM_RECOIL3" -?
"ACT_VM_ATTACH_SILENCER" -Wenn man einen Schaldämpfer anbringt
"ACT_VM_DETACH_SILENCER" -Wenn man einen Schaldämpfer wieder abmacht
Man braucht nicht alle Commands. Die wichtigsten sind: idle, reload, pimaryattack, secondary
So die QC ist Fertig
4. Compilen mit Studio Compiler zur fertigen MDL
Studio Compiler öffnen dann auf Compile W/Existing QC Pfad der qc wählen (müssen sourcesdk_content/modelsrc/hands liegen)
Compilen und Fertig

(Achtung ihr müsst ein Ordner im Verzeichniss "C:\Programme\Steam\Steamapps\morriseisner\counter-strike source\cstrike\models\ mit dem namen weapons anlegen
ich habs nicht texturiert weil das tut sonst zu lang gewesen worden werden)
5. Model anschauen und staunen
Um das Model anzusehen Modelviewer öffnen Options->Viewmodel mode und es zeigt euch das model so wie es im Spiel in der First Person Perspektive aussieht

mfg PhoeniX
Anregung oder Kritik einfach drunter schreiben
Danke an Schneider für
$origin 0 0 0 -90
//{vorne hinten} {links rechts} {hoch runter} {achse}
Danke an Avater für
Flip Normal Befehl des SMD Exporter
Damit es bei den Models, nicht zu dem Fehler (oben im Bild) kommt, gibt es ein paar Dinge die man vor dem exportieren beachten sollte: (Achtung beziehe mich hier auf den 3dsmax):
Vor dem importen sollte man unter Utillities den Reset X Form Befehl auswählen und dann das Model anwählen. Verändert sich das Model nicht, kann man es einfach exportieren ohne einen Haken beim SMD Exporter bei "Flip All Normals" zu machen. So wird das Model einfach exportiert.
Sollte jedoch beim benutzen von Reset X Form sich beim Model irgendetwas verändern (Position wechselt oder Textur ändert sich) muss man vor dem exporten ein Häkchen bei "Flip All Normals" setzen, damit der Fehler nicht ingame vorkommt.
So wollt das ganze einfach nur komplettieren
GreetZ Avater