Blender: Blender Skinning/ Rigging Guide deutsch

    • Blender: Blender Skinning/ Rigging Guide deutsch

      Keine Bilder zu sehen, wo (Bild) erscheint? Seite neu laden.
      Bilder sind unscharf? Draufklicken zum Vergrößern.

      -------------------------------------------------------------------

      Dieses Tutorial beschreibt, wie man Bones/ Armatures an eigne oder als .obj nach Blender importierte Meshes bindet, so daß man sie als .nif exportieren kann.

      Dies betrifft alle bonehaltigen .nif, wie Kleidung, Rüstung, Körperteile, einige Helme.

      Bones bzw. insgesamt die Armature sind gewissermaßen das Skelett, das die Bewegung der Mesh mit den Animationen steuert. D.h. Bones sorgen für die Verziehung der Mesh entlang der gewünschten Achsen, so wie sich Haut verzieht, wenn man ein Körperteil bewegt.

      THROTTLEKITTY erteilte mir heute freundlicherweise die Erlaubnis, ihren Original- Thread ins Deutsche zu übersetzen.

      1. Vorbereitungen:


      Ihr braucht folgende Software bzw. Dateien:

      1. BLENDER in der aktuellsten Version
      Nach der Installation einmal starten und beenden.

      2. die BLENDER NIF SCRIPTS in der aktuellsten Version
      Zu Installation siehe Readme, zur Konfiguration UNBEDINGT DAS HIER LESEN
      Bitte beachten, daß das Exportformat für die .nif ("NIF VERSION") auf 20.0.0.4 gesetzt wird und nicht wie im Artikel auf 4.0.0.2.

      3. NIFSKOPE in der aktuellsten Version zum Zusammenbau der einzelnen Teile

      4. den für Blender optimierten Fullbody von CuteUnit und m4444x.
      Diese 2 Bodies (männlich, weiblich) sind so optimiert, daß die Bones nicht mehr riesengroß aus der Mesh herausstehen.
      Es geht prinzipiell aber auch mit Bethesda- Original- .nif, wenn man nur Kleinigkeiten verändern will.

      5. zum Üben kann man sich eine .obj- Datei per NIFskope aus einem Oblivion- Kleidungsstück herausziehen, indem man die entsprechende NiTriShape rechtsklickt und OBJ > Export Mesh auswählt.
      Beim speichern das .obj hinter dem Dateinamen nicht vergessen!
      Ich verwende für die Beispielbilder die Hüftplatten aus der Steel Armor.


      2. Verbinden der Bones mit der Mesh

      2.1. Import der Teile nach Blender

      Zuerst importiert man den Fullbody von CuteUnit als .nif nach Blender, dann die gewünschte Mesh als wavefront/ .obj dazu.
      Der Body dient hierbei als Spender der Bones und als Vergleichsunterlage, um Clipping zu vermeiden.

      Hat man schon eine Mesh erstellt, machts man es sinngemäß andersherum und importiert den Body zur Mesh im Object Mode hinzu.

      Achtung: Blender verarbeitet von jedem Namen nur einen Bone.
      Man sollte es also tunlichst vermeiden, 2, womöglich noch gleiche Bones enthaltende .nif nach Blender zu importieren, da das verheerende Resultat erst nach dem Export und Einbau in eine .nif zu sehen ist.
      Besser ist es, den Body von CuteUnit zu verwenden und alles andre als .obj zu importieren.
      Oder aber, man baut die gewünschten Teile per NIFskope schon vorher an den Body, wenn es sich um Original- .nif handelt.


      So geht's:

      Blender starten.
      Oben links das Menü File > Import > Netimmerse/ Gamebryo anwählen und durch das nächste Fenster bis zum Dateiort hangeln.

      TIPP: Sinnvoll ist es, bei der Konfiguration der Blender NIF Scripts bereits einen festen Ordner für Im- und Export einzustellen und alle zu bearbeitenden .nif dort hineinzukopieren. Erspart die etwas mühselige Hangelei durch die Dateipfade, da dieser Ordner direkt beim Im- / Export aufgerufen wird.

      Die FullHumanFemaleImportReady.nif bzw. männliche Version je nach gewünschtem Kleidungsstück auswählen und oben rechts auf Import NIF klicken.

      Blender befindet sich nun im Object Mode (sieht man in der Zeile unter dem 3D- Fenster etwas links von der Mitte).
      In diesem Modus können weitere Dateien hinzuimportiert werden.

      Mit File > Import > Wavefront/ .obj kann man nun beliebige Dateien im .obj- Format hinzufügen. Beispielsweise eine Rüstung aus einem andren Programm.
      Dazu genauso den Dateiort aufsuchen, gewünschte Datei anklicken (erscheint dann oben in der Dateizeile) und auf Import OBJ oben rechts klicken.
      Im Unterschied zu .nif- Importen öffnet sich nun ein Unterfenster mit Importoptionen.
      Achtung, nicht mit der Maus aus dem Fenster verrutschen, sonst ist das Importfenster wieder weg, und man fängt diesen Schritt von vorne an.

      TIPP: beim Import von .obj. sollte man die Option "Rotate 90°" abhakeln. Alles andre läßt man so wie in der Voreinstellung.

      Nun haben wir den Body und unsre Mesh im 3D- Fenster, befinden uns immer noch im Object Mode.

      Hat man schon eine Mesh mit Blender erstellt, geht man andersherum vor: in den Object Mode wechseln, dann den Body als .nif importieren wie beschrieben.
      Ich bevorzuge es allerdings, neue Meshes anhand des Bodies als Vorlage zu bauen, also den zuerst beschriebnen Weg zu gehen.

      Die exakte Anpassung der Mesh an den Body überspringe ich hier, da die Bearbeitung einer Mesh mit Blender den Rahmen dieses Tutorials sprengen würde.
      Ebenso wird auf das Thema Unwrapping/ UVmap und Materialzuweisung nicht eingegangen, da .obj diese bereits mitbringen.


      2.2. Präparieren des Bodies für optimale Sicht

      Beim Body fällt auf, daß die Bones wie kleine Zipfel aus dem Körper herausstehen, was die Bearbeitung nicht grade vereinfacht. Daher machen wir den Body erstmal passend:

      Rechtsklick auf einen der vorspringenden Bones, alle sind nun pink umrandet (markiert).
      (in den folgenden 2 Bildern hab ich noch keine .obj importiert)

      (Bild 1)


      Wechsel in den Edit Mode.
      Unten links klickt man im Panel ARMATURES auf die blauen Buttons X-Ray, Stick, und Draw Names.

      Nun erscheinen die Bones als schwarze Striche und benannt.

      (Bild 2)


      2.3. Parenten der Bones auf die Mesh

      Zurück in den Object Mode.

      Rechtsklick auf die Mesh, die an die Bones gebunden werden soll. Im Beispielbild ein Teil der Steel Armor.

      SHIFT+ Rechtsklick auf einen beliebigen Bone des Bodies.
      Mesh und Bones sind nun pink umrandet.

      (Bild 3)


      CTRL + P (für Parenting) drücken, im kleinen Fenster auswählen From Armature und im nächsten Fenster Name Groups.

      (Bild 4)


      Unsre Mesh ist nun fest mit den Bones verbunden.

      2.4. Fehler in der Bone- Benennung bereinigen

      Auf Grund von Längenbeschränkungen in Blenders Importscripten müssen einige Bones zunächst richtig benannt werden:

      In den Object Mode gehen, die Mesh rechtsklicken = markieren und in den Edit Mode wechseln.
      Links unten im Panel LINKS AND MATERIAL findet sich nun eine Auswahlbox Vertex Groups.

      Darunter mittels des kleinen Pfeil hoch/ runter- Buttons folgende Bones nacheinander aufrufen,

      (Bild 5)


      per Doppelklick oder SHIFT + Klick ins Namensfenster die Namen wie folgt komplettieren:

      Bip01 L UpperArmTwist, Bip01 R UpperarmTwist, Bip01 L ForearmTwist, Bip01 R ForearmTwist, Bip01 R Shoulder Helper, Bip01 L Shoulder Helper

      (Bild 6)


      Meist fehlen die letzten 2 oder 3 Buchstaben bei den sehr langen Bone- Namen.

      TIPP: Am besten hier die Arbeit unter einem aussagekräftigen Namen mit F2 als Blender- Datei .blend speichern. Erspart diese Prozedur beim nächsten Mal.

      3. Weightpainting: Zuordnung von Weights zu den Vertices

      3.1. Allgemeines

      Jeder Eckpunkt der Mesh, also jeder Vertex, braucht neben der Anbindung an mindestens einen Bone (maximal 4 für NIFskope) auch ein Weight.

      Dieses Gewicht beschreibt die Stärke der Anbindung an den Bone und reicht von 0 (= keine Anbindung, Vertex bewegt sich nicht mit dem Bone mit) bis 1 (maximale Anbindung, Vertex bewegt sich starr in konstantem Abstand mit dem Bone mit).

      Bei Einfluß mehrerer Bones auf einen Vertex ergibt sich die Bewegung des Vertices als Resultante der Bonebewegung und der Weights.

      So lassen sich mit relativ wenigen Bones auch komplexe Bewegungen der Mesh modellieren.

      TIPP: um in Oblivion sichtbar zu werden, braucht jede einzelne Mesh die Anbindung an mindestens 2 Bones.
      Dabei kann im Extremfall der 2. Bone auch an einen entfernt liegenden, aber zur Mesh gehörenden Vertex/ Face gebunden sein.
      Dies ist zum Beispiel bei Meshes der Fall, die sich nur mit einem Bone bewegen sollen, wie ein Helm mit dem HEAD- Bone. Den 2. Bone, z.B. Spine2 oder Neck, bindet man einfach an ein einsames Face, das man dann im Körper versenkt.
      Setzt man eine .nif in NIFskope aus mehreren NiTriShapes zusammen, reicht ein Bone pro Mesh für die Sichtbarkeit des Objekts im Spiel. Die Bones müssen aber unterschiedlich sein.

      TIPP: Oblivion verarbeitet mehr als 4 Bones pro Vertex, NIFskope aber nicht.
      Man sollte daher beim Weightpainten achtgeben, daß man nicht mehr als 4 Bones pro Vertex zuordnet. Das neue NIFskope ab Version 0.9.1 entfernt zwar beim Ausführen des Befehls Mesh > Make Skin Partition inzwischen überflüssige Boneanbindungen, man hat aber keinen Einfluß darauf, welche entfernt werden.

      Weightpainting ist eine knifflige Sache, zumal bei polygonarmen Meshes wie den in Oblivion verwendeten. Da nur die Vertices ein Weight erhalten, sind abrupte Übergänge der Gewichtseinflüsse auf die Mesh bei weit auseinanderliegenden Vertices kaum zu vermeiden.
      Hier kann das Weightpainting zum echten Geduldsspiel werden: ich habe erfolglos einen ganzen Tag damit vergeigelt, den Knick as dem Hintern zu kriegen, der sich aus dem Übergang zwischen PELVIS- Einfluß (zieht die Mesh nach hinten) und THIGH- Einfluß (zieht die Mesh nach unten) ergibt.

      Mir scheint, daß Intuition hier schnellere Effekte zeitigt als Logik. Also nicht verzweifeln, wenn es nicht auf Anhieb klappt, zumal man das Ergebnis erst ingame sieht (also nach Export > Einbau in eine .nif > Spiel starten).

      Es hilft Anfängern sehr, Blender in einer 2. Instanz zu öffnen, die beiden Fenster nebeneinander anzuordnen und in der 2. Blenderinstanz eine Originalvorlage im Weightpaint Mode anzusehen.

      3.2. Weightpainting

      Weightpainten kann man in zweierlei Weise:

      3.2.1 als Gewichtsbemalung.
      Das ist die Variante für übersichtliche und einlagige Meshes, wo man den Effekt gleich sehen kann.
      Man geht dazu in den Weightpaint Mode und stellt unter Links and Materials den Bone ein, für den man Weights zuweisen will.

      Im Beispiel Pelvis.

      TIPP: ist man unsicher, welche Bones man verwenden soll, einfach mit NUM1 oder NUM3 die Rück- oder Seitenansicht einstellen.
      Anhand der Bezeichnungen der Bones auf gleicher Höhe mit der Mesh kann man sich recht gut orientieren. Der Rest ist Trial and Error.


      Man sieht die Mesh nun dunkelblau, was dem Weight 0 entspricht.

      (Bild 7)


      Im Panel Paint (unten etwa in der Mitte) stellen wir unsren Farbpinsel nun testweise auf Weight 0.500 ein (Klick auf den Button 1/2), Opacity auf 1 (volle Deckkkraft) und Size (Pinselgröße) auf 15- 20.

      Dazu aktivieren wir die Buttons Mix (Vorgabe), Spray und Wire (zeigt einige Faces an zur bessren Orientierung).

      (Bild 8)


      Nun kann man die Mesh bemalen, indem man den Pinsel drüberführt und linksklickt. Mit gehaltner linker Maustaste lassen sich Flächen bemalen.

      Gewicht 1/2 wird als intensives Grün dargestellt, 1 ist rot, 3/4 orange usw.

      Pinseln wir die obre Hälfte unsrer Mesh also erstmal grün an, auf beiden Seiten.
      Die umgeschlagenen Kanten nicht vergessen.
      Achtung: die Bemalung schlägt gern mal auf die andre Seite durch.
      Also immer schön per gehaltner mittlerer Maustaste drehen, damit man nicht versehentlich die gegenüberliegende Seite mitbemalt.

      Fehlerhaft bemalte Faces lassen sich mit Weight 0 und anpinseln wieder auf dunkelblau zurücksetzen.

      TIPP: auch minimalste, kaum sichtbare Weightbemalungen wirken sich auf die Mesh aus! Meist anders, als man gerne hätte.
      Also im Zweifelsfall den dunkelblauen Pinsel etwas länger auf die fehlerhaft bemalten Areale halten oder den Farbmodus auf ADD umschalten.

      (Bild 9)


      Nur stellen wir den Bone Bip01 L Thigh ein und bemalen die untere Hälfte der linken Panzerplatte. Es soltle sich eine Überlappung der Farben ergeben, kein Bereich darf unbemalt bleiben!

      (Bild 10)


      Zur Kontrolle immer mal die Bones umschalten oder zweifelhafte Bereiche mit SHIFT + Linksklick anklicken.
      Blender zeigt dann in einem kleinen Fenster die zugeordneten Bones für den Bereich an, leider umständlich und nicht sehr präzise.

      (Bild 11)


      Das Gleiche machen wir mit dem Bone Bip01 R Thigh auf der rechten Seite.

      Wie man sehen kann, ist Weightpainting nicht so simpel, wie es sich anhört.
      Das Beispiel ist auch mit nur 2 Bones bewußt einfach gehalten.
      Unbedingt beachten, daß auch nach innen zeigende Kanten mitgefärbt werden- Vertices ohne Weight werden manchmal in NIFskope schon, meist erst ingame extrem fehlerhaft angezeigt (Texturen "fallen in den Dreck" oder werden als riesige Spitzen ausgezogen, "Schrottpressen- Effekt").

      Das Beispiel mit den Steel Armor Teilen soll nur illustrieren, wie das Weightpainten funktioniert, und erhebt keinen Anspruch auf Funktionsfähigkeit.
      Hier ist Ausprobieren und Betrachten von Original- Vorlagen angesagt.
      >> Spieleabend- das Modderforum rund um 3D- Modelling, Grafik und Modding + Growlfs Hot Clothes WIP- Thread deutsch <<

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Growlf ()

    • 3.2.2 Weightpainten per EDIT Mode

      Für mehrschichtige oder komplexe Meshes ist es einfacher, die Weights direkt im EDIT Mode zuzuweisen, da man mit dem Weightpainting- Pinsel nicht an alle Bereiche herankommt.

      Der Nachteil dieser Methode ist, daß man keine echte Kontrolle über die Verteilung der Weights hat.
      Empfehlenswert ist ein regelmäßiges Umschalten in den Weightpaint- Mode zur Sichtkontrolle der Weightverteilung.

      So gehts:

      Im Beispiel unserer Steel Armor Teile markieren wir etwas mehr als die obere Hälfte der Mesh.
      Nach Einstellung des richtigen Bones Pelvis im Panel Links and Material wird direkt darunter das Weight mittels der Pfeile rechts/ links auf 0.500 gesetzt.
      Druck auf den ASSIGN- Button darunter weist dieses Weight nun den markierten Vertices zu.
      Mit den Buttons Select / Deselect läßt sich die erfolgreiche Zuweisung kontrollieren- leider nicht die Stärke des Weights.

      (Bild 12)


      (Bild 12a)


      Kontrolle im Weightpaint Mode:

      (Bild 13)


      Für feinere Übergänge kann man durch Verstellen der Weights in 0.100er Schritten die benachbarten Vertices abgestuft mit dem Weight versehen, um fließende Übergänge zu erzielen.
      Dazu am besten den maximalen Einflußbereich des Bones markieren und mit einem niedrigen Weight assignen, dann die markierten Bereiche verkleinern (demarkieren mit BB + MMT), höheres Weight assignen, usw. bis maximales Weight.


      (Bild 14: Feinere Abstufung der Weights durch Zuweisung von Weight 0.300 bis 0.500 )


      Bei den großen Vertex- Abständen in Oblivion- Meshes gestaltet sich dieser Punkt teilweise recht knifflig.

      TIPP: Symmetrische Bones wie Pelvis lassen sich am einfachsten in der Seitansicht (NUM3) "durchfärben", indem man bei durchsichtiger Mesh alle gewünschten Vertices markiert und dann mit ASSIGN das Weight zuweist.
      Asymmetrische Bones (links, rechts) dürfen natürlich nur der jeweiligen Seite der Mesh zugewiesen werden, sonst gibts erstaunliche Ergebnisse.


      Für die Bones Bip01 L Thigh und Bip01 R Thigh verfährt man sinngemäß.
      Wichtig ist eine gewisse Überlappung der Bone- Einflußbereiche, damit kein Vertex ohne Weight bleibt.

      Auch dies nur als Beispiel zur Verfahrensweise ohne Anspruch auf korrekte Funktion.


      4. Einbinden einer Textur

      Um eine NiTexturingProperty in der exportierten .nif zu erhalten, d.h. eine .dds zuweisen zu können, muß in Blender eine Textur zur Mesh zugewiesen sein.

      Originale Bethesda- Teile, auch stark veränderte, verfügen bereits über diese Zuweisung. Ebenso im EDIT Mode zu Originalteilen hinzugefügte Meshes.
      Eigenbauten, sofern im Object Mode neu angefertigt, oder als .obj importierte Teile müssen diese Textur noch bekommen.

      So gehts:
      Im EDIT Mode muß das betreffende Object eingestellt sein.
      F6 drücken, im Panel Texture ADD NEW drücken, falls dort noch kein entsprechender Textur- Eintrag ist:

      (Bild 15)


      dann rechts daneben aus der Liste Image auswählen.

      (Bild 16)


      Rechts daneben erscheinen dann weitere Panels, dort unter LOAD IMAGE irgendein x- beliebiges Bild wählen. Diese "Not- Textur" ist im Export sichtbar, wird aber in NIFskope später durch eine .dds ersetzt.

      (Bild 17)


      Nun F5 drücken und ganz rechts das Panel Map Imput aufsuchen. Dort den Button UV klicken (voreingestellt ist meist ORCO).

      (Bild 18)


      Das war es bereits zu diesem Komplex. Bei Meshes, die bereits eine Textur zugewiesen haben, sieht man nach Druck von F6 bereits Image im Panel Texture stehen und ein entsprechendes Bild geladen, F5 zeigt den Map Inputbereits korrekt auf UV stehend.

      TIPP: Es darf nur eine Textur verwendet werden, da Multitexturing nicht exportiert wird.

      Mit F9 kommt man wieder zurück zur gewohnten Ansicht der Panels.

      5. Kontrolle, Export, mögliche Falschdarstellungen

      Die Mesh ist nun exportfähig.
      Kontrolle:
      - UVmap vorhanden?
      - Materials richtig zugewiesen?
      - Bones zugewiesen?
      - Textur zugewiesen (F6/ F5)?

      Dann Export als .nif.

      Die exportierte .nif ist nicht verwendbar, da ein zusätzlicher Root von Blender eingefügt wird.

      Man kann diesen entfernen, indem man in NIFskope die Wurzel Scene Root markiert, ein neues leeres NIFskope- Fenster öffnet (File > New Window) und mit Block > Copy Branch im alten bzw. Block > Paste Branch im neuen Fenster einfügt.
      Oberste Wurzel ist dann Scene Root.

      Bei mehreren angefügten Teilen funktioniert das nicht.
      Dann müssen die einzelnen NiTriShapes in Bethesda- Original- .nifs rüberkopiert und eingefügt werden. (Ich mache es prinzipiell so, da die Schachtelung der Bones in CuteUnits Body mir suspekt erscheint.)

      Die transplantierten NiTriShapes müssen noch etwas nachbearbeitet werden:

      Körperteile:
      - die NiTriShape muß so heißen wie die verwendete Textur: als Hand 0, Hand:1, Hand_2 beispielsweise bei Verwendung der handfemale.dds.
      - die Textur muß im originalen Ordner liegen, also ..\textures\characters\RASSE\female oder male.
      - die Textur- .dds muß einen originalen Namen haben. Anhänge oder Unterordner sind (leider) nicht zulässig
      - die NiMaterialProperty muß Skin heißen, nicht Skin.001 oder was Blender sonst so einfällt.
      Bei Nichtbeachtung eines dieser Punkte funktioniert entweder die automatische Farbanbpassung an die Gesichtsfarbe nicht, oder man erhält eine Not- Haut.

      Klamotten, Rüstungen:

      - die Benennung der NiTriShape ist egal, sollte aber innerhalb der .nif unique sein
      - die NiMaterialProperty darf nicht Skin heißen.

      TIPP: Es empfiehlt sich die Verwendung originaler Materialnamen, da diese den Sound beim Anziehen/ Treffern codieren.


      Gelegentlich kommt es im Spiel zu Darstellungsfehlern nach diesen Prozeduren, da Blender die Texturen im Pixel- Layout 5,3,2,1,0 exportiert.
      Oblivion fordert aber 6,1,3,1,1.
      Bei Problemen die zusammengebaute .nif öffnen und unter NiSouceTexture im Block Details Fenster das Pixel Layout entsprechend ändern bzw. auf default setzen.
      >> Spieleabend- das Modderforum rund um 3D- Modelling, Grafik und Modding + Growlfs Hot Clothes WIP- Thread deutsch <<
    • Hallo und sorry für das Ausgraben eines so uralten Threads, doch ich habe ein Problem das Blender und den Export betrifft. Ich arbeite mit der Version 2.78.

      Beim Versuch meine Mesh zu exportieren kommen 2 Fehlermeldungen:





      Ich weiss da echt nicht mehr weiter... besonders die zweite Fehlermeldung bereitet mir Kopfzerbrechen. Kann mir da jemand helfen? Ich wäre überaus dankbar.