Die PackedNiTriStripsShape

Nachdem ich gezeigt habe wie, mit Hilfe von Blender, in wenigen Minuten eine einfache Kollisionsbox erstellt wird geht es jetzt mit den komplexeren Kollisionsboxen, den PackedNiTriStripsShapes, weiter. Bei einer PackedNiTriStripsShape handelt es sich nicht einfach um eine Kollisionsbox sonder schon eher um eine Kollisionsmesh. Im Aussehen ähnelt sie der ConvexVerticesShape. Im Gegensatz zu dieser hüllt sie aber das ganze Objekt nicht einfach ein sondern formt das Objekt nach. Sie besitzt also exakt die gleiche Form wie das Objekt selbst.
Hier mal zwei Screenshots um den Unterschied zu zeigen.

Beispiel
Mesh mit ConvexVerticesShape
Beispiel
Mesh mit PackedNiTriStripsShape

Wie Ihr seht habe ich dieses mal ein komplexeres Modell genommen, den Eingangsbereich eines Hauses. Dabei ist das rote die Kollisionsbox. Ihr seht das bei der ConvexVerticesShape das Objekt komplett eingehüllt ist. So aber ist das Objekt nicht nutzbar. Was wir brauchen ist eine Kollisionsmesh die nur Decke, Boden und Wände einhüllt, alle anderen Bereiche aber frei lässt damit wir uns frei bewegen können und nicht durch die Kollision daran gehindert werden. Was wir brauchen ist eine PackedNiTriStripsShape denn, wie man sieht, tut sie genau das. Boden, Decken und Wände werden eingehüllt während alle Teile die begangen werden müssen, wie zum Beispiel die Tür, frei bleiben. Somit sollte der Einsatzzweck einer PackedNiTriStripsShape klar sein. Sie wird überall dort eingesetzt wo es wichtig ist bestimmte Bereiche frei zu lassen ohne dass man unzählige primitive, ineinander verschachtelte Kollisionsboxen nehmen müsste.

So, dann fangen wir jetzt einfach mal an. Als Modell für dieses Tutorial werde ich die gleiche Mesh aus Oblivion nehmen von der ich natürlich die originale Kollisionsmesh entfernt habe. Wir erstellen nämlich jetzt für diese Mesh eine neue Kollision. Das ganze sieht übrigens komplizierter aus als es ist und ist auch keine Zauberei. Normalerweise benötigt man, je nach Komplexität des Objekts, so zwischen 20 und 45 Minuten für die Kollision.

Für diesen Teil des Tutorials benötigen wir, außer Blender, auch noch Nifskope in der neuesten Version. Zur Zeit ist das die Version 1.0.21.

  1. Legt eine Sicherungskopie von Eurem, gerade erstelltem, Objekt an.
  2. Exportiert jetzt Euer Objekt erst einmal ohne Kollisionsmesh. Markiert dazu Euer gesamtes Objekt. Klickt nun oben auf „Datei“, danach auf „Export“ und schließlich auf „Netimmerse/Gamebryo(.nif & .kf)“.
    Abbildung
    Bild 1
    Im darauffolgendem Fenster gebt in der oberen Zeile den Ordner an in dem Ihr Euer Objekt abspeichern wollt und in der Zeile darunter einen Namen für Euer Objekt. Sinnvollerweise sollte man schon hier dem Objekt einen endgültigen Namen geben und es auch gleich in den Oblivionordner unter Data/Meshes exportieren in dem es sich auch später befinden soll. Das erspart einem überflüssiges herumgeschiebe. Klickt danach rechts oben auf „Export NIF/KF“.
    Im sich jetzt öffnendem Exportfenster klickt einfach auf „ok“. Irgendwelche Einstellungen braucht Ihr zum jetzigen Zeitpunkt noch nicht durchführen. Euer Objekt wird jetzt exportiert was durchaus, je nach Komplexität des Objekts, ein wenig dauern kann. Also habt Geduld. Wenn etwas schief geht gibt Blender eine entsprechende Meldung aus.
  3. Nachdem wir das Objekt erfolgreich exportiert haben können wir jetzt die Kollisionsmesh (NiTriStripsShape) für das Objekt erstellen. Da die NiTriStripsShape die gleiche Form haben soll wie unser Objekt erstellen wie sie aus eben diesem Objekt.
    • Zuerst einmal sollten wir eine Sicherheitskopie von dem Objekt anlegen.
    • Selektiert jetzt, durch Rechtsklick, alle Teile des Objekts und drückt „Strg“ + „j“ auf der Tastatur. Bestätigt mit einem Klick auf „Join selected meshes“ oder der Eingabetaste. Sollte Euer Objekt nur aus einem Teil bestehen könnt Ihr Euch diesen Schritt natürlich sparen.
      Abbildung
      Bild 2
      Alle selektierten Teile werden jetzt zu einem Teil vereinigt. Überprüft ob alle Teile auch wirklich vereinigt wurden indem Ihr zuerst alles mit „a“ auf der Tastatur deselektiert und anschließend die Mesh durch Rechtsklick wieder selektioniert. Wenn Ihr jetzt „g“ auf der Tastatur drückt und anschließend die Maus bewegt sollte sich das gesamte Objekt bewegen. Wenn nicht wiederholt diesen Schritt noch mal bis wirklich alle Teile zu einem Teil verbunden wurden. Betätigt zum Schluss die rechte Maustaste damit der Verschiebevorgang abgebrochen und das Objekt wieder an den Ausgangspunkt zurück versetzt wird.
    • Als nächstes entfernen wir sämtliche Texturen. Dazu muss das Objekt ausgewählt sein. Im unteren Bereich muss sich das Button-Fenster befinden.
      Abbildung
      Bild 3
      Sollte das Button-Fenster nicht vorhanden sein könnt Ihr es mit „F9“ aufrufen. Euer Objekt muss dazu selektiert sein.
    • Klickt jetzt unter „Link and Materials“, sollte sich auf der linken Seite befinden, so oft auf „löschen“ bis darüber „0 Mat 0“ steht.
      Abbildung
      Bild 4
    • Geht jetzt weiter zu den „Mesh-Buttons“ und kontrolliert ob es dort bei „UV Texture“ und „Vertex Color“ irgend welche Einträge gibt. Wenn ja klickt auf das „x“ neben diesen Einträgen so dass diese auch entfernt werden.
      Abbildung
      Bild 5
    • Als nächstes müssen wir die Mesh noch ein wenig weiter entrümpeln. Klickt dazu auf „Add Modifier“ und wählt aus dem, sich öffnenden Menü, „Decimate“.
      Abbildung
      Bild 6
      Mit diesem Modifier ist es möglich die Vertex/Flächen-Anzahl der Mesh, ohne nennenswerter Änderung der Form, zu minimieren. Klickt danach nur noch auf „Apply“ um den Modifier zu übernehmen und Ihr seid fertig.
    Euer Objekt sollte jetzt ausreichend entschlackt sein und kann jetzt so als Kollisionsmesh exportiert werden um nun, mit Hilfe von Nifskope, Eurem Objekt hinzugefügt zu werden. Natürlich könnt Ihr später, wenn Ihr erst mehr Erfahrung habt, die Kollisionsmesh noch weiter entschlacken indem Ihr manuell noch weitere, für die Kollision eigentlich überflüssige, Vertices und/oder Faces entfernt. Im allgemeinen aber reichen die vorgenannten Schritte vollkommen aus. Alles andere wäre sehr zeitaufwändig, setzt die Qualität der Kollisionsmesh herab und bringt letztendlich doch nicht so viel.
  4. Selektiert jetzt Eure zukünftige Kollisionsmesh durch Rechtsklick und exportiert sie. Der Exportvorgang ist dabei der gleiche wie beim Original-Objekt. Um es einfacher zu haben könnt Ihr es ruhig in den gleichen Ordner exportieren, braucht es aber nicht. Beim Dateinamen empfehle ich den gleichen Dateinamen beizubehalten und lediglich am Ende ein Erkennungszeichen dranzuhängen um es im Anschluss als Kollisionsmesh zu identifizieren. Ich hänge für gewöhnlich ein großes „H“ hinten dran. Das ganze sähe dann so aus:
    • Originalmesh: castleinttransistion2way01.nif
    • Kollisionsmesh: castleinttransistion2way01H.nif
    Damit wären wir denn auch erst einmal mit Blender fertig und können jetzt mit Nifskope weitermachen um beide Meshes zusammenzufügen.
  5. Startet Nifskope und ladet, durch einen Klick auf „Load“, Eure Originalmesh. Also die, die Ihr später im Spiel nutzen wollt.
    Abbildung
    Bild 7
  6. Klickt jetzt oben im Menü auf „File“ und danach auf „New Window“.
    Abbildung
    Bild 8
    Ein neues Fenster von Nifskope öffnet sich. Nifskope ist jetzt also 2 mal geöffnet. Das zweite Fenster benötigen wir um unsere Kollisionsmesh aus diesem Fenster in das Fenster mit der Originalmesh zu kopieren. Dies ist erforderlich da Nifskope nicht nur beim Beenden sondern auch beim Neuladen den Zwischenspeicher leert. Würden wir also nur mit einem Fenster arbeiten, in dieses Fenster die Kollisionsmesh laden, danach ins gleiche Fenster die Originalmesh laden um die Kollisionsmesh einzufügen würden wir feststellen dass die Kollisionsmesh sich nicht mehr einfügen lässt weil Nifskope sie, beim Neuladen, aus dem Zwischenspeicher entfernt hat.
  7. Führt jetzt, in diesem neuen Fenster, noch einmal Punkt 5 aus und ladet Eure Kollisionsmesh. Sie sollte in etwa so aussehen wie auf folgendem Screenshot.
    Abbildung
    Bild 9
    Achtet vor allem auf die linke Seite wo sich die rote Umrandung befindet. Dort darf es nur drei Einträge geben - eine NiNode, eine NiTriStrips und eine NitriStripsData. Sollte dies bei Euch nicht so sein führt bitte noch einmal alle Schritte in Blender durch oder löscht einfach die überflüssigen Einträge. Klickt dazu den Eintrag den Ihr löschen wollt mit der rechten Maustaste an und wählt aus dem Popup-Menü „Block“ und anschließend „Remove“.
    Abbildung
    Bild 10
    Falls Ihr mehrere NiTriStrips haben solltet könnt Ihr diese nicht einfach so löschen. Euch würde sonst ein Stück Eurer Kollisionsmesh fehlen. In diesem Fall seid Ihr gezwungen noch einmal Eure Mesh in Blender zu überprüfen. Achtet dabei vor allem darauf dass auch wirklich alle Teile der Mesh mit „Strg“ + „j“ vereinigt wurden.
  8. Als nächstes werden wir jetzt die Daten unserer Kollisionsmesh noch ein wenig weiter optimieren.
    1. Klickt mit der rechten Maustaste auf „NiTriStrips“. Im, sich jetzt öffnendem, Menü geht auf „Mesh“ und klickt danach auf „Remove Duplicate Vertices“.
      Abbildung
      Bild 11
      Dies entfernt alle doppelten Vertices. Ein kleines Fenster wird sich öffnen das Euch mitteilt ob und wieviel doppelte Vertices entfernt werden konnten. Klickt das Fenster durch Linksklick auf das kleine „x“ in der oberen Ecke weg.
      Abbildung
      Bild 12
    2. Führt den gleichen Schritt noch einmal durch und wählt dieses Mal „Remove Unused Vertices“.
      Abbildung
      Bild 13
      In diesem Schritt werden alle, falls überhaupt vorhanden, ungenutzten Vertices entfernt.
    3. Führt den gleichen Schritt noch einmal durch und wählt dieses Mal „Face Normals“. Dies richtet alle Normals der Kollisionsmesh so aus dass sie in die gleiche Richtung zeigen. Dadurch wird ein gewisser Geschwindigkeitsschub beim Rendern der Kollisionsmesh erreicht.
      Abbildung
      Bild 14
  9. Klickt jetzt mit der rechten Maustaste auf „NiTriStripsData“ und wählt aus dem Menü „Block“ und danach „Copy“.
    Abbildung
    Bild 15
    Die Daten der Kollisionsmesh werden jetzt in die Zwischenablage kopiert.
  10. Wechselt zum ersten Fenster von Nifskope, also dem in dem Ihr Eure Originalmesh geladen habt, klickt mit der rechten Maustaste ganz oben auf NiNode und wählt aus dem Menü das erscheint „Block“ und „Paste“. Die Daten Eurer Kollisionsmesh werden jetzt ganz ans Ende eingefügt.
    Abbildung
    Bild 16
    Noch aber sieht man sie nicht. Um Eure Kollisionsmesh zu sehen benötigen wir noch einiges mehr.
  11. Führt jetzt drei mal hintereinander folgende Schritte durch. Klickt mit der rechten Maustaste ganz oben auf „NiNode“ und geht in dem sich öffnenden Menü auf „Block“ und wählt hier „Insert“.
    Abbildung
    Bild 17
    Es öffnet sich ein weiteres Menü in dem Ihr den Eintrag „Havok“ findet. „Havok“ wiederum besitzt ein Untermenü aus dem Ihr, durch einfachen Linksklick, nachfolgende Objekte in Eure Originalmesh einfügt.
    1. bhkCollisionObject - Dieses wird unsere Kollisionsmesh mit der Root-NiNode verbinden. Die Root-NiNode ist die NiNode die ganz oben steht und im Normalfall die Nummer 0 trägt. An dieser NiNode hängt unsere gesamte Mesh.
    2. bhkRigidBody - Dieses wird später alle relevanten Daten, wie die Art der Kollision oder das Material, beinhalten.
    3. bhkNiTriStripsShape - Dieses wird letztendlich unsere eigentliche Kollisionsmesh bzw. auch mehrere Kollisionsmeshes aufnehmen.
    Abbildung
    Bild 18
    Auch diese drei Elemente werden erst einmal ganz unten eingefügt.
    Abbildung
    Bild 19
  12. Spätestens jetzt benötigen wir in Nifskope die Detailansicht.
    Abbildung
    Bild 20
    Sollte sie bei Euch nicht vorhanden sein, was in der Standardansicht der Fall ist, könnt Ihr sie hervorholen indem Ihr oben im Menü auf „View“ und anschließend bei „Block Details“, durch Linksklick, ein Häkchen setzt.
    Abbildung
    Bild 21
  13. Jetzt sind wir soweit dass wir alles zusammen bauen können.
    1. Klickt oben, mit der linken Maustaste, auf „0 NiNode“.
    2. Scrollt unten im Detailfenster ein wenig runter bis Ihr „Collision Object" seht und führt in der gleichen Zeile einen Doppelklick auf „None“ aus. Jetzt könnt Ihr den Wert „None“ verändern. Tragt dort die Zahl ein die vor „bhkCollisionObject“ steht und bestätigt mit der Eingabetaste.
      Abbildung
      Bild 22
      Euer „bhkCollisionObject“ wird jetzt nach oben, an die richtige Stelle, verschoben.
    3. Markiert jetzt,mit der linken Maustaste, im oberen Fenster das „bhkCollisionObject“ und führt anschließend, im Detailfenster, bei „Target“, gleich die erste Zeile, einen Doppelklick auf „None“ aus. Tragt dort dann die Zahl, die vor der obersten NiNode steht, normalerweise 0, ein und bestätigt mit der Eingabetaste.
      Abbildung
      Bild 23
      Damit habt Ihr schon mal die Kollision korrekt mit der Root-NiNode verbunden.
    4. Führt jetzt einen Doppelklick, im gleichen Detailfenster, zwei Zeilen tiefer, auf das „None“ bei „Body“ aus. Tragt dort die Zahl vor „bhkRigidBody“ ein und bestätigt mit der Eingabetaste.
      Abbildung
      Bild 24
      Die „bhkRigidBody“ befindet sich nun unterhalb des „bhkCollisionObject“. Um es zu sehen müsst Ihr möglicherweise das kleine Plus-Zeichen vor „bhkCollisionObject“ anklicken.
    5. Selektiert jetzt, mit der linken Maustaste, im oberen Fenster „bhkRigidBody“. Eventuell müsst Ihr dazu den Zweig von „bhkCollisionObject“ öffnen indem Ihr auf das kleine Plus-Zeichen, vor „bhkCollisionObject“, klickt.
    6. Im Detailfenster, von „bhkRigidBody“, klickt gleich in der ersten Zeile doppelt, auf das „None“ bei „Shape“. Tragt dort die Zahl vor „bhkNiTriStripsShape“ ein.
      Abbildung
      Bild 25
      Logischerweise findet Ihr jetzt Eure NiTriStripsShape im Zweig des bhkRigidBody
    7. Öffnet diesen Zweig indem Ihr auf das kleine Plus-Zeichen vor „bhkRigidBody“ klickt und markiert, mit der linken Maustaste, die „bhkNiTriStripsShape“.
    8. Sucht im Detailfenster nach „Num Strips Data“. Führt in der gleichen Zeile einen Doppelklick auf „0“ aus und tragt dort ein wie oft Eure „NiTriStripsData“ vorhanden ist. In diesem Fall wäre das also eine 1.
    9. Klickt jetzt einmal mit der linken Maustaste, in der Zeile darunter, auf die zwei grünen Pfeile. Dadurch werden die „Strips Data“ im Detailfenster aktualisiert.
    10. Klickt im Detailfenster auf das kleine Plus-Zeichen das sich jetzt vor „Strips Data“ befindet und führt einen Doppelklick, im jetzt geöffneten Zweig, auf „None“ aus. Tragt Hier die Zahl, die vor „NiTriStripsData“ steht, ein.
      Abbildung
      Bild 26
      Wenn Ihr jetzt mit der Eingabetaste bestätigt solltet Ihr die Kollision im Renderfenster sehen.
      Abbildung
      Bild 27
      Wenn Ihr die Kollision nicht seht, seht nach ob unter „Render“ im Nifskope-Menü ein Häkchen bei „Draw Havok“ gesetzt ist.
      Abbildung
      Bild 28
      Falls Eure Kollisionsmesh, so wie auf dem Screenshot nicht so ganz korrekt sitzt macht das erst einmal nichts denn jetzt kommt noch einmal Blender zum Einsatz.
  14. Speichert jetzt erst einmal Euer Objekt ab indem Ihr oben auf den Schalter „Save As“
    Abbildung
    Bild 29
    und danach auf „Speichern“ klickt. Die Meldung dass die Datei schon besteht bestätigt Ihr einfach mit „ok“.
  15. Startet wieder Blender und importiert Eure Mesh. Klickt dazu oben im Menü auf „Datei“, bewegt den Mauszeiger runter auf „Import“ und klickt anschließend auf „Netimmerse/Gamebryo (.nif)“.
    Abbildung
    Bild 30
    Ein Menü öffnet sich in dem Ihr zu dem Ort navigieren könnt an dem Ihr Eure, gerade in Nifskope bearbeitete, Mesh gespeichert habt. Wählt Eure Mesh aus und klickt anschließend oben rechts auf „Import Nif“ und im darauf folgendem Fenster auf „ok“.
    Abbildung
    Bild 31

    Abbildung
    Bild 32
    Eure Mesh wird jetzt zusammen mit Eurer Kollision importiert.
  16. Sollte Eure Kollision schon perfekt sitzen könnt Ihr diesen Schritt überspringen. Sollte sie aber so sitzen wie auf dem folgenden Screenshot müsst Ihr die Ausrichtung, mit Hilfe von Blender, korrigieren.
    Abbildung
    Bild 32
    Selektiert dazu die Kollision zuerst mit der rechten Maustaste. Jetzt könnt Ihr die Kollision, wie jedes andere Objekt mit der Maus oder den Cursertasten, verschieben, skalieren und rotieren. Richtet die Kollision so aus dass sie perfekt auf Eurer Mesh sitzt. Denkt daran dass Eure Mesh dreidimensional ist. Ihr müsst also den Sitz der Kollision von vorne, von der Seite und von oben überprüfen und korrigieren. Benutzt für die verschiedenen Ansichten die Tasten „1“, „3“ und „7“ auf dem Ziffernblock Eurer Tastatur. Wenn Ihr fertig seid sollte das ganze so aussehen.
    Abbildung
    Bild 33

Damit sind wir so weit fertig und können jetzt alles endgültig exportieren. Da der Export, egal welche Kollision benutzt wird, immer gleich abläuft wird der Export hier zusammenfassend erklärt.

PackedNiTriStripsShape mit mehreren Materialien:

Nachdem ich gezeigt habe wie eine einfache PackedNiTriStripsShape erstellt wird werde ich hier eine PackedNiTriStripsShape aus unterschiedlichen Materialien erstellen. Als Beispiel nehme ich das Interior meines Ordenshaus der Ritter des weißen Hengst.

Abbildung
Bild 34

Dabei bekommen Boden, Decke und Wände die Eigenschaften von Stein während die Balken sowie ein kleines Geländer aus Holz sein werden. Natürlich werde ich hier nur das wesentliche erklären. Wenn Ihr nicht mehr wisst wie das eine oder andere gemacht wird seht einfach oben unter „PackedNiTriStripsShape“ oder „Exportieren“ nach.

Zuerst einmal solltet Ihr Eure Mesh ganz normal, wie oben, unter Punkt 2 erklärt, exportieren. Legt auch eine Sicherheitskopie von Eurem Projekt an.
Um jetzt in Blender eine Kollisionsmesh mit mehreren Materialien zu erstellen müssen wir zuerst einige Vorbereitungen treffen.

Blender bietet uns die Möglichkeit bis zu 20 Ebenen zu verwalten. Für unser Projekt werden wir jetzt 2 dieser Ebenen benötigen - eine für alle Steinteile und eine für alle Holzteile. Dazu selektieren wir im Objekt-Modus alle Teile die das gleiche Material haben sollen und verschieben sie, indem wir „m“ auf der Tastatur drücken, auf eine andere Ebene. Danach sollten wir auf einer Ebene alle Teile aus Stein und auf einer zweiten Ebene alle Teile aus Holz haben. Habt Ihr weitere Materialien, z. B. Fenster aus Glas, braucht Ihr natürlich noch eine dritte Ebene für Eure Glasteile u.s.w.

Führt jetzt auf jeder Ebene die oben unter, Punkt 3, erklärten Schritte durch so dass Ihr am Ende, auf jeder Ebene, eine entschlackte Mesh, aus nur einem Teil bestehend, habt.

Abbildung
Alle Teile aus Stein.
Abbildung
Alle Teile aus Holz.

Jetzt könnt Ihr Eure Kollisionsmeshes Ebene für Ebene, wie unter Punkt 4 erklärt, exportieren. Allerdings dieses Mal mit einem kleinen Unterschied. Achtet darauf die Meshes beim Export so zu benennen dass Ihr identifizieren könnt um welches Material es sich handelt. Also zum Beispiel „OriginalmeshnameSteinH.nif“ und „OriginalmeshnameHolzH.nif“.

Startet jetzt Nifskope und ladet Eure Mesh. Startet anschließend über „File / New Window“ zwei zusätzliche Fenster von Nifskope und ladet in einem der beiden Fenster Eure Steinmesh und in dem anderen Eure Holzmesh.

Bereitet jetzt Eure beiden Kollisionsmeshes so, wie unter Punkt 8 beschrieben, vor. Notiert Euch allerdings dieses Mal die Anzahl der Vertices beider Kollisionsmeshes. Notiert sie Euch zusammen mit Angaben zu dem, in der jeweiligen Mesh, verwendeten Material - z. B. Holz: 598, Stein: 927. Wir benötigen diese Angaben noch für später. Führt dazu einen Linksklick auf „NiTriStripsData“ aus und notiert Euch den Wert, unten im Detailfenster, bei „Num Vertices“.

Abbildung
Bild 38

Fügt nun jede der Kollisionsmeshes, wie unter Punkt 9 - 11 erklärt, Eurer Mesh hinzu. Falls erforderlich führt auch noch Punkt 12 aus.

Jetzt könnt Ihr wie unter Punkt 13 beschrieben alles zusammen bauen. Achtet darauf dass Ihr bei „Num Strips Data“ die korrekte Anzahl der Kollisionsmeshes eintragt. Nachdem Ihr durch einen Klick auf die beiden grünen Pfeile unter diesem Eintrag diesen Wert übernommen habt findet Ihr dieses Mal auch die entsprechende Anzahl Zeilen mit dem Wert „None“ unter „Strips Data“. Tragt dort jetzt die Nummern Eurer NiTriStripsDatas ein.

Wenn Ihr soweit fertig seid sollte das ganze wie auf folgendem Screenshot aussehen.

Abbildung
Bild 39

Nun ja, wie schon bei der vorherigen PackedNiTriStripsShape sitzt auch diese nicht richtig. Und auch hier ist das kein Problem. Also erst einmal alles abgespeichert, anschließend wieder in Blender importiert und die beiden Kollisionsmeshes durch rotieren und verschieben exakt angepasst. Auch hierzu kann die Ebenenverwaltung von Blender durchaus nützlich sein.

Wenn Ihr fertig seid sollte es so aussehen.

Abbildung
Bild 40

Damit sind wir in Blender fertig. Falls erforderlich kann jetzt alles wieder auf eine Ebene verschoben werden und, wie schon unter Exportieren erklärt, wieder selektiert und exportiert werden. Da der Exporter mehrere Materialien nicht unterstützt müsst Ihr Euch für ein Material entscheiden. Für welches Material Ihr Euch entscheidet spielt im Moment noch keine Rolle. Die korrekte Materialzuweisung erfolgt im Anschluss mit Hilfe von Nifskope.

Dann also als nächstes, nachdem alles exportiert wurde, Nifskope gestartet und Eure Mesh geladen. Wenn Ihr jetzt das „bhkCollisionObject“ öffnet, wie auf folgendem Screenshot, werdet Ihr feststellen dass der Exporter beim Export die NiTriStripsShape gepackt hat. Es ist jetzt also keine NiTriStripsShape mehr sondern eine PackedNiTriStripsShape.

Abbildung
Bild 41

Beachtet dass die NiTriStripsShape immer gepackt werden muss bevor Ihr die Mesh benutzen könnt. Eine ungepackte NiTriStripsShape verursacht nicht nur massive Performance-Einbrüche sondern in den meisten Fällen einen Absturz des CS oder/und Oblivions. Zwar packt der Exporter, beim Export aus Blender, die NiTriStripsShape automatisch aber auch mit Nifskope könnt Ihr die NiTriStripsShape packen. Führt dazu, nachdem Ihr die einzelnen NiTriStripsShape eingefügt habt, einfach einen Rechtsklick auf die „bhkNiTriStripsShape“ aus, geht im Popup-Menü auf Havok und klickt anschließend auf „Pack Strips“.

Abbildung
Bild 42

Öffnet jetzt in Nifskope Euer „bhkCollisionObject“ und klickt mit der linken Maustaste auf „bhkPackedNiTriStripsShape“. Im Detailfenster klickt nun mit der linken Maustaste auf das kleine Plus-Zeichen vor „Sub Shapes“ um diesen Ast zu öffnen. Ihr seht nun die einzelnen Kollisionsmeshes, als Shapes, aufgelistet. Anhand der Anzahl der Vertices, die Ihr Euch vorher notiert habt, könnt Ihr jetzt die einzelnen Shapes identifizieren.

Abbildung
Bild 43

Im Moment haben noch alle Shapes das gleiche Material. Hier einige der geläufigsten Materialien.

  • Hav_Mat_Stone = Stein
  • Hav_Mat_Glass = Glas
  • Hav_Mat_Metal = Alle Metallarten
  • Hav_Mat_Skin = Haut, Leder, Fell usw.
  • Hav_Mat_Wood = Holz

Es gibt natürlich noch diverse andere. Die hier genannten genügen aber in den meisten Fällen. Wenn Ihr mal nicht so recht wisst welches Material Ihr nehmen sollt sucht einfach ein ähnliches Teil von Vanilla-Oblivion und seht in Nifskope nach welches Material Bethesda genommen hat.

Ändert nun einfach das Material, indem Ihr bei der Shape mit dem falschen Material, doppelt auf den Materialnamen klickt und anschließend aus dem Pulldown-Menü das korrekte Material auswählt.

Abbildung
Bild 44

Damit das auch wirklich mit den unterschiedlichen Materialien klappt müsst Ihr jetzt nur noch die bhkMoppBvTreeShape entfernen. Jetzt nur noch alles im Spiel ausprobieren und Ihr seid fertig.

Hier geht's weiter

Externer Link
Valid XHTML 1.0 Transitional CSS ist valide! Alfacounter