Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 
 
 

Page 2 of 2 « First 12
Results 21 to 23 of 23
  1. View Forum Posts #21
    Provinzheld George's Avatar
    Join Date
    Sep 2010
    Location
    Zu Hause
    Posts
    254
     
    George is offline

    Editing Tutorials

    Portieren von Rüstungen aus GD nach G3

    Ich werde in diesem Tutorial die „Praetor“ Rüstung aus GD in G3 portieren.
    Spoiler:(zum lesen bitte Text markieren)




    Voraussetzungen

    - Gothic 3 (ich benutze CP 1.74) + Gothic 3 Götterdämmerung (ich benutze Version 1.0.8)
    - TinyHexer (http://www.chip.de/downloads/Tiny-He..._13014623.html)
    - Lichtwichts Script (http://forum.worldofplayers.de/forum...d.php?t=243383)
    - Entpackte Version der GD Dateien: _compiledAnimation.pak, _compiledImage.pak, _compiledMaterial.pak, _compiledMesh.pak, Templates.pak, Strings.pak
    - Entpackte Version der G3 Datei: Templates.pak



    Vorbereitung

    1)
    Bei diesem Schritt hilft euch dieses Tutorial

    Entpackt zuerst die oben genannten GD Dateien in einen Ordner „GDEntpackt“: _compiledAnimation.pak, _compiledImage.pak, _compiledMaterial.pak, _compiledMesh.pak, Templates.pak, Strings.pak
    Und die G3 Datei in einen Ordner „G3Entpackt“: Templates.pak

    WICHTIG: Entpackt die GD Dateien in eine anderes Verzeichnis als die Datei aus G3.


    2)
    Erstellt auf eurer Festplatte einen Ordner mit einem Namen eurer Wahl. Ich nenne meinen für dieses Tutorial „Arbeitsverzeichnis“.
    In dem Ordner erstellt ihr dann 5 weitere Ordner und zwar: „_compiledAnimation“, „_compiledImage“, „_compiledMaterial“, „_compiledMesh“ und „Templates“ (natürlich ohne die Anführungszeichen).


    3)
    Ladet euch hier g3_tple_description_***lw.7z herunter.
    In diesem Archiv befindet sich eine tinyhexer_readme.txt. Am Ende dieser stehen Installationshinweise. Installiert also den TinyHexer und das Script.

    Habt ihr das geschafft könnt ihr mit dem nächsten Schritt weitermachen.



    1. Template die zu dem Item gehört finden

    Öffnet die Stringtable.ini (befindet sich in GDEntpackt\Strings\). Sucht in ihr nach dem Namen des gewünschten Gegenstandes.
    Ich suche nach „Praetor“, da das der Name des Gegenstandes ist den ich portieren will.

    Ich finde dann das hier:
    Code:
    FO_GFG_Praetor_Armor_01=Praetor;;Praetor;;Armure de Prétorien;;Praetor;;Pretor;
    Das sagt mir das die Template „GFG_Praetor_Armor_01“ im Namen hat. D.h. ein Teil des Namens der Template ist alles vor dem „=“, nur ohne das „FO_“.
    Deswegen durchsuche ich jetzt denn GD Templates Ordner (GDEntpackt\Templates\), den ihr vorher hoffentlich entpackt habt, nach „GFG_Praetor_Armor_01“.
    Bei mir wird nach dem Suchvorgang genau eine Datei angezeigt: GFG_New_Armours_GFG_Praetor_Armor_01.tple.



    2. Die „erste“ Datei (das Mesh) und den MaterialSwitch finden

    Öffnet die Datei mit dem TinyHexer und lasst Lichtwichts Script drüberlaufen. Wie das geht seht ihr auf dem Bild.


    1) Klicke auf das rot markierte bei 1. So öffnest du die Strukturansicht.
    2) Klicke das rot umrahmte bei 2.
    3) Wähle Lichtwichts Script aus, also Klick bei Markierung nahe der 3.


    Wenn das Script fertig geladen hat, sucht nach „.fxa“ (Das Suchfenster öffnet ihr mit Strg+F). Jetzt springt das Script an eine Stelle, das dürfte dann so aussehen:


    Kopiert jetzt alles was vor dem gelb markierten „.FXA“ steht. In diesem Beispiel wäre das zu kopierende „GFG_Hero_Body_KingGuard_01“.

    Jetzt suchen wir im _compiledAnimation Ordner (GDEntpackt\_compiledAnimation\) nach dem gerade eben kopierten Dateinamen.
    Ihr müsstet eine Datei namens GFG_Hero_Body_KingGuard_01.xact finden.
    Kopiert die GFG_Hero_Body_KingGuard_01.xact in den _compiledAnimation Ordner (Arbeitsverzeichnis\_compiledAnimation\) der sich im Arbeitsverzeichnis befindet..

    Diese Datei ist das Mesh der Rüstung und da die Rüstung ein bewegliches (z.B. beim laufen) ist, reicht hier kein gewöhnlicher Mesh, dazu aber später mehr.


    Material Switch

    Wo wir die Template gerade geöffnet haben, nutzen wir gleich die Gelegenheit und schauen auf was der Material Switch steht, denn wir brauchen ihn für Schritt 3.
    Sucht in der Strukturansicht nach „MaterialSwitch“.
    Ihr solltet nun das sehen:


    Wie ihr auf dem Bild sehen könnt (ist rot umrahmt), steht der MaterialSwitch „1“, merkt ihn euch.
    Was das bedeutet erkläre ich später.



    3. Die zweite Datei (die Material) finden

    Als nächstes öffnet die gerade eben kopierte Datei mit dem TinyHexer. Lichtwichts Script wird jetzt nicht benötigt.
    Scrollt im TinyHexer jetzt ganz nach unten. Dort dürfte es ungefähr so aussehen.


    Interessant für uns ist dieses hier: GFG_Hero_Body_KingGuard_01.xshmat
    Denn in dieser Datei, sie nennt sich Material, sind die Texturen der Rüstung eingetragen.
    Deswegen durchsuchen wir jetzt den _compiledMaterial Ordner (GDEntpackt\_compiledMaterial\) nach dieser Datei und kopieren sie in den _compiledMaterial Ordner (Arbeitsverzeichnis\_compiledMaterial\) der sich Arbeitsverzeichnis befindet.

    WICHTIG: Am Ende der „.xact“ können mehrere „.xshmat“ eingetragen sein. Wenn das der Fall ist, führt Schritt 4 für jede „.xshmat“ aus.



    4. Die Texturen in der Material finden

    Als erstes öffnet ihr die kopierte „.xshmat“-Datei und lasst anschließenden Lichtswichts Script drüberlaufen.
    Wie ihr euch vielleicht erinnert, stehen in dieser Datei die Namen der Texturen. Sucht also nach „.tga“.


    Wie schon in Punkt 2, nur anstatt .fxa eben .tga, kopieren wir jetzt alles was vor .tga steht, also: „G3_Human_KingsGuard_Body_Diffuse_S1“.

    Ich komme nun auf den Material-Switch zurück, der in diesem Falle „1“ beträgt.
    D.h. Die richtige Textur heißt „G3_Human_KingsGuard_Body_Diffuse_S2“, obwohl in der Material "S1" steht.
    Wenn der Material Switch „0“ wäre, würde die Textur „G3_Human_KingsGuard_Body_Diffuse_S1“ heißen.
    Wenn er „2“ wäre „G3_Human_KingsGuard_Body_Diffuse_S2“.

    Durchsucht den _compiledImage Ordner (GDEntpackt\_compiledImage\) nach dem kopierten, entfernt aber die „1“ hinter „G3_Human_KingsGuard_Body_Diffuse_S“.
    Ihr sucht also nach „G3_Human_KingsGuard_Body_Diffuse_S“.

    Wenn die Suche fertig ist, müssten euch 2 Suchergebnisse angezeigt werden: „G3_Human_KingsGuard_Body_Diffuse_S1.ximg“ und „G3_Human_KingsGuard_Body_Diffuse_S2.ximg“.
    Ihr nehmt die „G3_Human_KingsGuard_Body_Diffuse_S2.ximg“, weil der Material Switch ja „1“ ist.

    Da dies ein Körperteil-Textur ist und diese in G3 immer Ordner „_compiledImage\animation“ liegen, erstellt ihr im _compiledImage Ordner (Arbeitsverzeichnis\_compiledImage\),
    ich meine den der im Arbeitsverzeichnis liegt, einen Ordner namens „animation“. Kopiert in diesen die Textur hinein.
    Benennt die kopierte Textur in „G3_Human_KingsGuard_Body_Diffuse_S1.ximg“, d.h. Macht aus dem „S2“ ein „S1“.


    Sucht nach weiteren Texturen in der .xshmat. Achtet auch bei diesen auf den Material Switch und das Umbenennen,
    Wenn mal keine Textur vorhanden ist, die der Nummerierung durch dem Material-Switch entspricht, kopiert einfach die „S1“, also genau die, die in der .xshmat steht.

    Kopiert sie alle in den animation Ordner. In einer .xshmat sind MAXIMAL 3 Texturen eingetragen.
    Achtet jedesmal darauf ob ihr schon eine Textur mit gleichem Namen kopiert habt, den die Suchfunktion fängt, wenn sie nichts mehr findet, wieder vom Anfang aus an zu suchen.
    So würdet ihr dann in einer Endlosschleife hängen und nie fertig werden .



    5. Erstellen der Template

    Dieser Arbeitsschritt ist wahrscheinlich der schwierigste. Aber keine Angst, das schafft ihr schon

    Damit man die Rüstung im Spiel spawnen kann, muss man noch eine Template für die Rüstung erstellen.
    Am einfachsten geht das indem man eine bereits vorhandene Rüstungs-Template klont.
    Die Templates für G3 Rüstungen befinden sich in „G3Entpackt\Templates\NPC\__Master_Humans“. Sie fangen alle mit „HumanBodyParts_Body_“ an.
    Erstellt jetzt im Templates Ordner (Arbeitsverzeichnis\Templates\), der im Arbeitsverzeichnis liegt, einen Ordner namens „NPC“ und in diesem einen mit dem Namen „__Master_Humans“.
    Kopiert danach eine Template und die Datei „HumanBodyParts_Body.lrtpldatasc“ in den Ordner. In meinem Beispiel nehme ich die „HumanBodyParts_Body_Body_AssMage.tple“.


    Als nächstes benennen wir die Template um.
    Aus „HumanBodyParts_Body_Body_AssMage.tple“ machen wir „HumanBodyParts_Body_Body_PraetorGD.tple“.

    Das war der leichte Teil, jetzt müssen wir die Template noch intern umbenennen und ihre Hashes bearbeiten.
    Dazu öffnet die Template mit dem TinyHexer und lasst Lichtwichts Script drüberlaufen.


    Umbenennen

    Scrollt nun zu der Stelle herunter die auf dem Bild zu sehen ist.


    An dieser Stelle fängt die Stringtable der Template an.


    Was ist die Stringtable?

    Wenn ihr euch in der Strukturansicht umschaut seht ihr doch sicher die „grünen Wörter“.
    Diese Wörter stehen alle in der Stringtable und an vielen Stellen der Datei wird auf sie verlinkt.
    D.h. wenn man die „grünen Wörter“ ändern will, muss man die Änderung in der Stringtable vornehmen.


    Klickt in der Strukturansicht auf „HumanBodyParts_Body_Body_AssMage.tple“ (rot markiert im obigen Bild), jetzt dürfte im Hex-Editor etwas markiert worden sein.
    Das müsste so in etwa aussehen.



    Ändern wir nun „ HumanBodyParts_Body_Body_AssMage.tple“ in „HumanBodyParts_Body_Body_PraetorGD.tple“, also den neuen Namen der Template, um.



    Weil der neue Name länger ist als der alte müssen wir noch die Längenangabe anpassen.
    Dazu klickt in der Strukturansicht auf die 37 vor HumanBodyParts_Body_Body_AssMage.tple.



    Jetzt wird im Hex-Editor 25 00 markiert. D.h. der alte Name hatte 37 Zeichen, denn wenn man den Hex-Wert 25 in einen dezimalen Wert umwandelt so beträgt dieser 37.
    Der neue Dateiname hat 39 Zeichen, d.h. wir wandeln 39 in einen Hex-Wert um.
    Der Hex-Wert lautet 27. Also machen wir aus dem 25 00 ein 27 00.
    Das sollte dann so aussehen:



    Jetzt drückt die beiden grünen Pfeile in der Menüleiste der Strukturansicht, damit aktualisiert ihr das Skript.
    Wenn ihr alles richtig gemacht habt sollte es, wenn ihr wieder zur Stringtable runtergescrollt habt, so aussehen.



    Jetzt machen wir das Ganze noch mit Body_AssMage, das in der Strukturansicht eine Zeile unter dem vorher umbenannten steht. Aus Body_AssMage machen wir also Body_PreatorGD.
    Auch hier müssen wir die Längenangabe wieder anpassen. Alter Hex-Wert 0C 00, d.h. 12 Zeichen.
    Der neue Name hat 2 Zeichen mehr als der alte, also 14 Zeichen. Als Hex-Wert 0E 00, also machen wir aus 0C 00 ein 0E 00.
    Aktualisiert wieder das Skript, sieht es so aus ist alles gut.



    Zuweisen des richtigen Meshes

    Eigentlich ist dieser Schritt den beiden vorherigen sehr ähnlich. Genauer gesagt müssen wir eigentlich wieder etwas „umbenennen“.
    Erinnert ihr euch noch an die Datei die wir ein Punkt 2 kopiert haben? Richtig, es war das Mesh der Rüstung.
    Dieses Mesh müssen wir in unserer neuen Template noch eintragen.
    Wie in Punkt 2 suchen wir in der Strukturansicht wieder nach „.fxa“. Für uns sind nur die Fundstellen in der Stringtable interessant.
    Ihr dürftet „G3_Hero_Body_DarkMage.FXA“ und „G3_Hero_Body_DarkMage.fxa“ finden, dass sind die Links auf die Meshes der Rüstung von der die Template stammt.
    Diese beiden müssen wir so verändern, dass sie auf das Mesh unserer Rüstung zeigen.

    Unsere Mesh heißt „GFG_Hero_Body_KingGuard_01.xact“, folglich müssen „G3_Hero_Body_DarkMage.FXA“ in „GFG_Hero_Body_KingGuard_01.FXA“,
    und „G3_Hero_Body_DarkMage.fxa“ in „GFG_Hero_Body_KingGuard_01.fxa“ ändern.
    Das geht wie in den vorigen Schritten und vergesst nicht die Längenangabe anzupassen.

    Hat alles geklappt und das Script nach dem aktualisieren keinen Error gebracht seid ihr bereit für den nächsten Schritt.
    Wenn ihr wollt könnt ich nochmal nach .fxa suchen und überprüfen ob alles geklappt hat.


    Bearbeiten der Hashes

    Wir müssen Hashes der Template einzigartig machen.
    Die Hashes sind so etwas wie Namen, man beötigt sie z.B. um einem NPC eine Rüstung zuzuweisen, aber das wäre wieder ein anderes Tutorial.

    Es gibt 2 Hashes pro Template, den Item Hash (wird in der Strukturansicht als „Item – Header“ bezeichnet)
    und den Reference Hash (wird in der Strukturansicht als „Reference – Header bezeichnet).
    Scrollt also in der Strukturansicht runter bis ihr auf den „Item Hash“ stoßt.


    Habt ihr ihn gefunden klickt auf das im obgien Bild rot umrahmte.
    Der Hex-Editor springt jetzt an die Stelle, an der sich der Hash befindet.


    Allerdings ist der Hash länger als das markierte, denn bisher ist nur ein Teil des Hashes markiert. Auf dem nächsten Bild seht was alles zum Hash gehört.



    Schaltet jetzt auf den Überschreiben-Modus des Hex-Editors um. Macht dazu einen Rechtsklick auf das „Einfügen“ in der Leiste die am Boden des Hex-Editors ist.
    In dem sich jetzt öffnenden Kontextmenü entfernt ihr den Haken vor „Einfügen-Modus“.

    Überschreibt den Hash mit zufälligen Zahlen zwischen 0 und 9 und Buchstaben von A bis F, d.h. Ihr könnt einfach wild in die Tasten hauen .

    Bei mir sieht das dann so aus:



    Nun muss noch der Reference-Hash geändert werden. Wenn ihr in der Strukturansicht etwas weiter nach unten scrollt, dürftet ihr ihn finden (haltet nach „Reference - Header„ Ausschau).
    Macht hier das gleiche wie beim „Item-Hash“, ABER gebt etwas anderes ein als beim „Item-Hash“.

    Bei mir sieht das dann so aus:



    Aktualisiert das Skript, wenn keine Fehler auftreten speichert die Template ab. Das geht auf „Datei“ und dann „Speichern“.


    Eintragen in die *.lrtpldatasc

    Öffnet die „HumanBodyParts_Body.lrtpldatasc“ die sich im gleichen Ordner wie die Template befindet (G3Entpackt\Templates\NPC\__Master_Humans).
    Ihr könnt sie mit dem normalen Windows Editor (Notepad) öffnen.

    Kopiert eine Zeile und fügt sie am Ende der Datei in eine neue Zeile ein.
    Als Beispiel nehme ich diese Zeile:
    Code:
    {332a4295-8d64-49b7-9e42-3877c6b2ef38}:0=HumanBodyParts_Body_Body_NrdScout.tple

    Als nächstes ersetzen wir den alten Dateinamen mit dem der neuen Template.

    Code:
    {332a4295-8d64-49b7-9e42-3877c6b2ef38}:0=HumanBodyParts_Body_Body_PraetorGD.tple

    Nun muss noch dieser Teil „332a4295-8d64-49b7-9e42-3877c6b2ef38“ angepasst werden.

    Dazu geht, falls ihr den Hex-Editor noch nicht beendet habt (falls das der Fall ist, öffnet ihr die Template wieder mit dem TinyHexer und lasst Lichtwichts Skript drüberlaufen),
    in die Strukturansicht.
    Sucht dort wieder nach dem Item-Hash. Und kopiert das auf dem Bild blau umrahmte.


    Ersetzt in „HumanBodyParts_Body.lrtpldatasc“ das „332a4295-8d64-49b7-9e42-3877c6b2ef38“ mit dem eben kopierten.

    Die neue Zeile sollte dann so aussehen:
    Code:
    {67677468-8766-68BE-7785-6D766AF6C666}:0=HumanBodyParts_Body_Body_PraetorGD.tple
    Speichert die Datei ab.



    7. Ins Gothic 3 Verzeichniss kopieren

    Damit ihr die Rüstung auch in Gothic 3 benutzen könnt, müsst ihr die portierten Dateien noch ins Gothic 3 Verzeichnis kopieren.
    Kopiert den Inahlt des Arbeitsverzeichnisses nach „Gothic III\Data\“.



    8. Anmerkungen

    Dieses Tutorial ist bisher auf Rüstungen spezialisiert.
    Falls Interesse da ist, werde ich das Tutorial noch so verändern, dass man auch andere Items (Waffen, Helme...) von GD nach G3 holen kann.

    Falls ihr etwas nicht verstanden habt oder sonstige Fragen, Anmerkungen oder Verbesserungsvorschläge habt, schreibt sie in diesen Thread oder schickt mir ne PN.


    Glückwunsch, ihr habt es bis ans Ende des Tutorials geschafft. Ich drücke euch die Daumen das alles funktioniert.

    Ich habe in den Anhang noch das „Ergebniss“, also die Rüstung, des Tutorials eingefügt.

    Hier noch ein Bild der Rüstung in Gothic 3. Nur als Beweis das ich nicht gelogen habe
    Spoiler:(zum lesen bitte Text markieren)

    mfg. -George-
    Attached Files

  2. View Forum Posts #22
    Ritter
    Join Date
    May 2005
    Posts
    1,225
     
    Shak-otay is offline
    Na, wieder mal ein Jahr ohne wirklich neues echtes Gothic rumgekriegt.

    Daher zur Feier des Tages noch mal eine verbesserte(?) Anleitung für den einzig wahren MeshFaker:


    ------------------------------------------------------------------
    How to get a sword into G3 with the MeshFaker using Blender
    ------------------------------------------------------------------

    Kurze step-by-step-Anleitung, um ein obj-File in ein xcmsh-File für G3 zu konvertieren.

    Smoothing groups werden nicht unterstützt. Submeshes auch nicht.
    Außerdem wurde von Beleuchtungsfehlern in Höhlen berichtet.

    Funktioniert mit Schwertern und Helmen z.B.
    (aber nicht mit Rüstungen, weil das in G3 animierte bodies sind).

    War von Anfang an nur für mich für ein 'proof of concept' gedacht.
    Ist daher etwas umständlich zu bedienen.

    Da es bisher afaik das einzige tool ist, das den xcmsh-import für G3 ermöglicht,
    werdet ihr damit leben müssen oder es eben nicht benutzen.

    Aus gegebenem Anlass hier der Hinweis, dass zum MeshFaker-Paket neben der exe 3 bin-Files, eine batch und die xshmat_ohne_CR_LF.txt gehören.

    -------------------------------------------------------------------------------------------
    Ausgangsfiles für die Anleitung:

    Das Schwert-mesh und die tga-Textur stammen aus dem (Oblivion-) Schwert-Tutorial
    von LEoX. Bitte hier runterladen:
    http://www.oblivioninfo.de/tutorial-...en-modellieren

    (Die Textur muss in G3_Weapons_Musterschwert_01_Diffuse_S1.tga umbenannt werden.)

    Falls es dort nur ein 3ds- statt eines obj-Files gibt, müsst ihr das noch konvertieren; z.B.
    mit der 30-Tage trial-Version von 3ds max; der Exporter heisst Max2Obj, Version 4.0 Mar 10th, 2001.

    (Anmerk. am Rande: ein genial einfaches MAX2obj-Script für GMax ist in den Renx tools enthalten:
    http://www.the3rdage.net/item-348)

    Auszug aus dem Schwert-obj:

    Code:
    v  -1.347207 -0.000000 6.782997
    v  -0.928098 0.634387 6.782997
    v  0.083720 0.897160 6.782997
    ...
    # 295 vertices
    
    vt  0.222143 0.284822 -0.000000
    vt  0.204242 0.284822 0.249670
    vt  0.151345 0.284822 0.353086
    ...
    # 303 texture vertices
    
    vn  -0.127979 -0.008031 0.048445
    vn  -0.108711 0.032755 -0.012482
    vn  -0.109194 0.103908 -0.265731
    ...# 295 vertex normals
    
    g Schwert
    usemtl Material__8
    s 1
    f 2/2/2 25/25/25 32/32/32
    f 32/32/32 1/1/1 2/2/2
    f 3/3/3 26/26/26 25/25/25
    f 25/25/25 2/2/2 3/3/3
    s 2
    Die face-Indices sind der Knackpunkt bei G3; sie müssen für vertices, texture coords und normals
    übereinstimmen. Der MeshFaker kann demzufolge mit f 1/2/3 1/2/3 1/2/3 NICHTS anfangen, wirft in einem solchen Fall aber keine Fehlermeldung raus!

    Nach dem Export kann das (neue) obj z.B. solche faces haben:
    f 44/1/1 64/2/1 11/3/1

    Wieso das danach erstellte x-File trotzdem "korrekt" ist, weiß ich -ehrlich gesagt- nicht;

    zur Sicherheit sollte man die Anzahl der verts, normals und vTex in der vorletzten Zeile des MeshFaker-log-Files auf Identität prüfen; z.B.:

    verts= 3729, faces= 1243, normals= 3729, vTex= 3729



    Bevor ihr die step-by-step-Anleitung ausführt, solltet ihr das mitgelieferte fertige xcmsh mit eurer
    G3-Installation ausprobieren (5 Files, Ordnerstruktur s. unten, G3-Part).

    Wenn euer G3 beim/nach dem Spawnen des Schwertes abstürzt, könnt ihr euch die Anleitung sparen.

    Bei mir lief es mit G3, Version 1.74.25931, Rev. 14 (s. screenshot "4 LEoX_sword_in_G3.JPG")

    ----------------------------------------------------------
    Jetz geht's los:
    ----------------------------------------------------------
    Voraussetzungen:

    Blender 2.49b und nachträglich installiertes Python 2.6.2
    (Die Blender-Version enthält afaik Python 2.6.1; sollte auch gehen.)

    Anmerkung:
    Die über File/import bzw. export aufgerufenen Skripte sind:

    export_obj.py und import_obj.py von Campbell Barton, Jiri Hnidek, Paolo Ciccone
    und
    DirectX8Exporter.py von Arben (Ben) Omari, minahito, mnemoto

    +++++++++++++++
    Blender-Part:
    +++++++++++++++

    Bilder zu den Pkten 1-4 gibt's nur hier, weil zu faul, sie im post einzubinden.

    1 obj2G3.JPG: Per File/Import/Wavefront (.obj) das Schwert-obj importieren
    ------------ Dazu unbedingt "clamp scale" auf 0.0 setzen.

    2 scale_und_rot_for_OBJ_EXPORT.JPG: Im object mode unter object/Transform properties
    ---------------------------------- scale und RotX einstellen.

    RotX ist hier +90 Grad (Schwertspitze zeigt in Richtung des blauen Koord.pfeils).
    (Bei der original MeshFaker-Anleitung waren es -90 Grad; hängt vom Ausgangs-obj ab.)


    obj gemäß der Einstellungen in Bild 2 exportieren ("Normals" selektieren).

    Achtung: "Rotate x90" muss selektiert sein. (Es wird beim Re-import von obj wieder
    rückgängig gemacht und ist zusätzlich zu den 90 Grad von RotX einzustellen.)

    Wie man auf dem Screenshot sieht, ist die rechte Hand zu weit unten am Griff (ist
    halt ein Oblivion-Schwert). Wer das gleich mit ändern will, kann im Edit mode,
    Mesh/Transform properties den Median Z reduzieren.

    2a MedianZ_reduzieren.JPG: z.B. von 16 auf 6, damit die rechte Hand weiter oben
    ------------------------- am Griff ansetzt. Ist etwas Fummelei, bis es ingame passt.
    Daher habe ich mir das mal erspart...;-)

    FAQ: Warum kann ich das nicht gleich als x-File exportieren?
    A: Weil der Meshfaker die Skalierungsmatrix im .x-File nicht benutzt.

    Jetzt File/New und gerade exportiertes obj re-importieren! (s. 1).
    -----------------------------------------------------------------
    (Wenn's Probleme gibt, evtl. VOR dem obj-Re-Import "File-New" ausführen.)

    Dann

    3 exportDirectX.JPG: File/Export/DirectX "Export All", "Export DirectX"
    ------------------- "Flip z" abwählen!


    4 LEoX_sword_in_G3.JPG: für den Anfang nicht schlecht, oder? Man sieht auch schön, dass
    ---------------------- das Oblivion-Schwert von der Griff-Textur her irgendwie nicht
    in G3 passt...

    Auszug aus dem .x-File:

    Code:
    Frame RootFrame {
    
      FrameTransformMatrix {
        1.000000,0.000000,0.000000,0.000000,
        0.000000,1.000000,0.000000,0.000000,
        0.000000,0.000000,1.000000,0.000000,
        0.000000,0.000000,0.000000,1.000000;;
      }
      Frame LEoX_Schwert_scale_ro {
    
        FrameTransformMatrix {
          1.000000,0.000000,0.000000,0.000000,
          0.000000,1.000000,0.000000,0.000000,
          0.000000,0.000000,1.000000,0.000000,
          0.000000,0.000000,0.000000,1.000000;;
        }
    Mesh {
    1680;
    -1.252900; -0.856400; -9.157000;,
    -1.380600; -0.691900; -3.900500;,
    -1.999300; 0.000000; -3.900500;,
    ...
    560;
    3; 0, 1, 2;,
    3; 3, 4, 5;,
    3; 6, 7, 8;,
    ...
      MeshMaterialList {
        1;
        560;
        1,
        1,
        1,
    ...
      Material Material__8 {
        0.800000; 0.800000; 0.800000;1.0;;
        0.500000;
        0.450000; 0.450000; 0.450000;;
        0.0; 0.0; 0.0;;
      }  //End of Material
        }  //End of MeshMaterialList
      MeshNormals {
    1680;
        -0.672719; -0.731162; 0.113071;,
        -0.402570; -0.915281; 0.012268;,
        -0.966094; -0.257912; -0.010895;,
    ...
    560;
    3; 0, 1, 2;,
    3; 3, 4, 5;,
    3; 6, 7, 8;,
    ...
    }  //End of MeshNormals
    MeshTextureCoords {
    1680;
    0.204242;-0.284822;,
    0.202084;-0.553181;,
    0.223100;-0.553181;,
    ...
    }  //End of MeshTextureCoords
      }  // End of the Mesh LEoX_Schwert_scale_ro 
      }  // SI End of the Object LEoX_Schwert_scale_ro 
    }  // End of the Root Frame
    +++++++++++++++++
    MeshFaker-Part:
    +++++++++++++++++

    • xshmat_ohne_CR_LF.txt und xcmsh_make_Banner_07_Normals7_Muster.bat
      in den MeshFaker-Ordner kopieren.
    • MeshFaker aufrufen und erzeugtes .x-File konvertieren.
    • Batch-File (*.bat) aufrufen -> bins werden zu xcmsh "gebunden"


    ++++++++++
    G3-Part:
    ++++++++++

    - Erzeugtes xcmsh in folgenden Ordner kopieren:
    Data\_compiledMesh\G3_Items_Weapons_Melee_Swords_01\G3_Weapon_2H_Sword_ShaksMust er_01.xcmsh

    Die folgenden 2 Files kopieren:

    Data\_compiledMaterial\G3_Weapons_Musterschwert_01_A.xshmat

    Data\_compiledImage\items\G3_Weapons_Musterschwert_01_Diffuse_S1.tga

    So könnte man das Schwert schon in einer lrentdat verwenden (fortgeschrittenes modding!).

    Um das Schwert ingame einfach im Marvin mode mit

    spawn It_2H_Musterschwert_01

    spawnen zu können (oder per info-spawn) müssen in

    Data\Templates\Items\Items\Items_Story

    _Weapons_2H_Story.lrtpldatasc
    _Weapons_2H_Story_It_2H_Musterschwert_01.tple

    enthalten sein.

    Have fun,
    shak-otay, 23.1.2011

    PS: Wer ein eigenes Schwert bastelt, muss das tple klonen (Anleitung siehe WoG-Forum)
    und das xshmat (ab 0x67A tga-String mit führendem Längenword). Der neue Name muss
    dann natürlich in xshmat_ohne_CR_LF.txt eingetragen werden.

    Für's Testen kann man natürlich einfach das obj austauschen.

    PPS: seit eben gibt's auch den TemplateCreator von DWI.
    ---------------------------------------------------------

    Mit 3ds als Input-File geht's so:

    • 3ds-Import in blender
    • mit size constraint auf 0
    • Skalierungen/Rotationen
    • obj-Export
    • obj-Re-import
    • ggf. Median z anpassen
    • Direct-X-Export
    • MeshFaker verwenden wie gehabt


    link

  3. View Forum Posts #23
    Provinzheld Ska-Ara's Avatar
    Join Date
    Nov 2010
    Location
    Bayern
    Posts
    247
     
    Ska-Ara is offline

    EEK! Editing Tutorials

    Sodala hier nun mein lang versprochenes Tutorial zum Meshes in Gothic 3 einbinden.


    WICHTIG: Aufgrund vieler Tests ist es unabdingbar das man GMAX mit seinen OBJ tools (nachher näher beschrieben) nutzt, anonsten sind Fehler 100% sicher, daher Blender=OBJ, GMAX Objekt imporiteren exportieren und dann zu blender zurück.
    Wenn man bei GMAX oder 3ds max anfängt läuft man ja sowieso über gmax)

    Benötigte Zeit ( nach 2 mal machen) max. 10 min


    Hier mal eine Auflistung aller benötigen Tools:


    Wenn man mit Blender arbeitet:

    Meshfaker
    Template Creator

    Wenn man mit Gmax arbeitet:
    Meshfaker
    Template Creator
    Renx-Objektools


    Wenn man mit 3dsmax/Cinema4d/Lightwave oder anderen arbeitet:

    Meshfaker
    Template Creator
    Gmax
    Renx-Objektools


    Alle benötigten Tools hab ich hier zu Verfügung gestellt (Inklusive 2 Maßwaffen) zaxE6JgmybkbkMA9Gothic_tut.rar



    Sprich 3ds&co>Gmax>Blender>Meshfaker>Templatecreator>Ingame

    Start 1.: 3dsmax, Cinema4d, Lightwave oder andere Programme:
    Hier starten wir beim Modellingprogramm deiner Wahl, quasi in dem Programm wo du deine Meshes erstellst.
    Wichtig ist hier das du in diesem Programm alles machst, sowohl das Mesh, als auch die Texturen und das Icon. (Icon und Textur in ...Gothic3/Data/_compiledImage in die jeweiligen Ordner)
    Info: Der Pivot sollte immer grob über dem Griff sein(siehe Mittelpunkt im Screen, da der Held den Griff kurz darunter greift)
    Wenn dies erledigt ist erstellen wir irgendwo einen Ordner mit einem Beliebigen Namen.
    Ich nehme einfach mal Ordner Klaue.
    Dort speichern wir nun das Mesh ab, aber ganz wichtig , ALS .Obj.
    Beispielname: Klaue3.obj (3 da 3dsmax)

    Hierbei gibt es eig nix zu beachten, einfach nur als .obj speichern.
    Somit ist der Part dieses Programmes getan.

    Infos: Die kennzeichnung der Namen ist sehr hilfreich
    die klinge muss bei 2! Händern immer in die rechte Richtung zeigen da der Held mit dieser seite zuschlägt.



    Sprich 3ds&co>Gmax>Blender>Meshfaker>Templatecreator>Ingame


    Start 2.: Gmax
    Weiterführung von Start 1.


    Nun sind wir hier in Gmax, dieser dient eig als Vorbereiter um in Blender weiterzuarbeiten.

    Vorarbeit: In Gmax müssen die Renx-Tools installiert werden (C:/gmax/scripts/startup folder) und der Grabber geht in den Klaue Ordner.

    So nun öffnen wir Gmax und gehen sogleich auf Utilities und dann auf Maxscript.
    Dort klicken wir dann auf "Wavefront OBJ Import" und Importieren die OBJ aus 3ds&Co.

    Nachdem wir das gemacht haben müsste das ganze nun so aussehen


    Nun selektieren wir die Waffe und wählen nochmal Maxscript an, aber diesesmal auf "OBJ IMPORT/EXPORT" und exportieren.
    Nun sehen wir das unten links die zahlen vor sich hinrattern, das ist gut so und gewollt.
    Nun werdet ihr feststellen es ist NICHTS passiert, daher minimiert ihr nun Gmax und klickt doppelt auf den Grabber, nun öffnet sich ein DataFenster und ihr speichert die Gmax OBJ in den Klaue Ordner (Katanag.obj (g=Gmax))

    Wenn das erledigt ist können wir Gmax schließen




    Sprich 3ds&co>Gmax>Blender>Meshfaker>Templatecreator>Ingame


    Weiterführung von Start 1. und Start 2.

    So hier sind wir nun im eigentlichen 3D Programm, was den letzen schritt zum xmesh darstellt.

    Wir beginnen sogleich mit dem Löschen des Blocks und dem Anschließenden Importieren des obj
    Wichtig dabei sind die einstellungen vom Screen

    Sprich man muss -90 grad aktiviert lassen und 0 scale

    Nun kommt das mesh so in Blender


    Nun wählen wir per rechtklick das Schwert aus und gehen in den Edit Mode, sobald wir das getan haben drücken wir einmal W und wählen Flip Normals.
    Wenn dies getan ist exportieren wir das Modell als Klaueb.obj (b=Blender)
    mit folgenden Einstellungen


    Danach wieder Neue leere seite machen in Blender und den Würfel löschen nun wieder Importieren (wie oben beschrieben mit -90 und Scale auf 0)

    Nun sehen wir das Katan WIEDER wie oben im Screen.

    Nun gehen wir ein letzes mal auf Export dieses mal aber auf directx( .x)
    mit diesen einstellungen beenden wir den Blender teil


    Hinweis: Diese X datei funktioniert nur wenn die letze Blender Objekt folgenden aufbau hat

    Sprich erst viele viele v einträge dann vt dann vn und dann f einträge
    wenn vn nicht da ist hast du einen schritt übersehen beim Obj Export (da fehlt dann die auswahl von Normals)




    Sprich 3ds&co>Gmax>Blender>Meshfaker>Templatecreator>Ingame



    Weiterführung von Start 1. Start 2. und Start 3.


    Nun erstellen wir im Katana Ordner noch einen neuen Ordner, der name spielt dabei keine Rolle.
    Dort stecken wir die Inhalte des Meshfakers rein(Download im Gesammttoolpackt aus dem 1. Post)

    Nachdem wir das getan haben öffnen wir die Meshfaker.exe und wählen das Klaueb.x
    Nun erstellen sich automatisch weitere Dateien welche man mit der "xcmsh_make_Banner_07_Normals7_Muster.bat"
    zusammenfügt.

    Herzlichen Glückwunsch sie haben nun eine funktionierende xcmsh.



    Sprich 3ds&co>Gmax>Blender>Meshfaker>Templatecreator>Ingame

    Vorarbeit: Bitte Infos von hier beachten TemplateCreator

    So wir bennenen ihr die Waffe noch um. Von G3_Weapon_2H_Sword_ShaksMuster_01.xcmsh zu G3_Weapon_2H_Klaue_01.xcmsh.

    Nun verschieben wir dem TemplateCreator in den Gothic3\Data Ordner und öffnen ihn sogleich.

    Nun ist der rest eig selbsterklärend
    man wählt die Xcmsh, eine Textur und das Icon, dann geht man auf Create und gibt sowohl Waffen als auch Skillwerte ein.
    Links also Schaden, Insert Code (Hier würde ich es immer so handhaben It_2H_Klaue_01[2H als bezeichnung für 2 Händer, dann der Name des Items und die _01 als ausführung) und Preis.
    Links unten kann man Schutzwerde einstellen was aber nur bei Rüstungen und Helmen/Schilden sinnvoll wäre.
    Mittig werden oben die benötigen Attribute und Skills festgelegt und unten die Effekte die die Waffe hat.
    Rechts wird der Name und eine Kurze beschreibung eingefügt(Beschreibung sollte nicht zu groß sein sonst wird sie falsch angezeigt später)
    Wenn alles erledigt ist klickt man unten auf das Fertig dingens und es läd durch wenn dies erledigt ist solltet ihr nun ALLE dateien richtig liegen haben.

    Nun geht ihr einfach mal Ingame, startet ein neues Game und schaut ob alles geklappt hat
    Einfach per Spawn Cheat spawnen lassen (indemfall per "spawn It_2H_Katana_01")

    wenn alles gut ging sehr ihr nun das ingame









    Allgemeine Danksagung:
    Shak Otay für das die hilfe von ihm, den Tools und auch alles andere
    Meshfaker von hier
    Renx für diesen Im/Exporter
    Renx Object tools von hier
    DWI für die Template Hilfen und sein Revolutionäres Tool
    Template Creator von Hier



    Ergänzungen und Tipps bitte mir persönlich über PM melden.
    Fragen und Probleme kommen hier in den Tread
    Ich nutze 3Ds Max 2011 , wer hilfe im Gmax bzw 3dsmax sucht kann mir gerne schreiben, ich stehe gern zur hilfe



    How to bring a Mesh to G3 by Ska-Ara

Page 2 of 2 « First 12

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide