[WIP] Howto: neue Objekte erstellen und ins Spiel integrieren

  • Hoi,

    Update:
    Eine weiterentwickelte Version der gs_tool von eis_os findet sich hier: http://www.bytetransfer.de/projects/cim/tools/

    bin jetzt soweit dass ich das datei format von CiM so halbwegs verstehe* und neue Objekte erstellen kann. Ist alles noch sehr work-in-progress, relativ umständlich und fehleranfällig.
    aber da ich in den nächsten Wochen vorraussichtlich nicht dazu kommen werde daran weiter zu basteln, schmeiss ich das einfach so halbfertig schon unters Volk ;)


    *) es fehlen allerdings noch so einige Sachen - wer also spass daran hat im hexeditor rumzustöbern ist herzlich eingeladen :)
    ich hab versucht meine bisherigen erkenntnisse in src\gs.h zu dokumentieren
    mutige können auch versuchen dem restlichen Quellcode zu folgen, der ist allerdings ... uh ... nicht ganz so hübsch :p


    Kurze anleitung:
    Anmerkungen:
    - als übergangsdateiformat hab ich Wavefronts OBJ Format benutzt. Getestet ausschließlich mit Blender.
    - ggw nur eine Texture pro Objekt unterstützt(und auch nur die Textur - sonstige Material eigenschaften werden ignoriert)
    - als Textureformat scheint nur DDS zu funktionieren
    - etwas mehr Zeit und die Bereitschaft etwas rumprobieren zu müssen mitbringen ;)


    1) gs_tools.zip runterladen(siehe Anhang) und entpacken


    2) Modell von Blender nach OBJ exportieren( Optionen siehe Bild)
    man erhält dann eine .obj und eine .mtl Datei
    ShadowRock_20120909_0010.jpg


    3) mittels gsobj_import.exe ins CiM Format konvertieren.
    man erhält dann zwei dateien: output.object und output.material
    ShadowRock_20120909_0006.jpg


    4) im addon ordner einen neuen Ordner erstellen(als bsp hier 'tvtower') und darin zwei unterordner anlegen: 'scripts' und 'objects'
    output.object nach addons\tvtower\objects kopieren (in einen sinnvollen Namen umbenennen: hier tvtower.object)


    5) output.material nach addons\tvtower\objects kopieren und umbenennen:
    ! Der Name der material datei muss dem Name entsprechen den Blender beim exportieren dem Material gegeben hat
    - Um den herauszufinden die bei Schritt 2 erstellte mtl datei in einem texteditor öffnen - die Zeile 'newmtl xxxxxx' gibt den Namen des Materials an(Dateiname also: xxxxx.material)
    (wer mag kann diesen auch vor schritt 3) ändern, muss dann allerdings die 'usemtl' Anweisungen in der obj Datei entsprechend anpassen)


    nicht vergessen die textur ebenfalls nach addons\tvtower\objects kopieren


    6) in addons\tvtower\objects eine .script datei anlegen mit dem gleichen Namen wie die .object Datei (hier also tvtower.script)
    in diese kommt dann


    $displayName und $price können beliebig angepasst werden
    Größenangaben(width, height, length) errechnen scheint mit folgender Faustformel zu klappen:
    man suche sich die Dimensionsangaben des Modells in Blender und dividiere durch 3 (aufrunden)
    ShadowRock_20120909_0007.jpg


    ( in dieser script datei können auch noch diverse andere Sachen angepasst werden. Für inspiration einfach bei den mitgelieferten Objekten stöbern ;) )


    7) in addons\tvtower\scripts eine datei 'environment.script' anlegen


    8.) spiel sparten und hoffen das alles klappt :)
    ShadowRock_20120909_0009.jpg


    wenn es nicht funktioniert:
    - erster anlaufspunkt ist log_metro.txt
    - .mtl/.obj dateien überprüfen ob alle namen/Dateinamen stimmen
    - mit gs_dump.exe die erstellten .object/.material dateien inspizierenn ob alle Namen/Dateinamen korrekt sind


    auf ein fröhlichen basteln :)
    Erfahrungsberichte sind ausdrücklich erwünscht.

    Einmal editiert, zuletzt von immi () aus folgendem Grund: hinweis auf die gs_tools von eis_os

  • Ich muss echt mal modellieren lernen. Dann kann ich ein schönes "ordentliches" Wien bauen :thumbsup:
    @ Mods: Könnte es eventuell einen Tutorial-Breich geben, dann müsste man nicht suchen :whistling:

  • Ich muss echt mal modellieren lernen. Dann kann ich ein schönes "ordentliches" Wien bauen :thumbsup:
    @ Mods: Könnte es eventuell einen Tutorial-Breich geben, dann müsste man nicht suchen :whistling:


    genau meine worte ich muss auch modellieren lernen wenn alles reif ist wäre ein nettes how to/tutorial vom modellieren bis zum implentieren cool :thumbsup:


    edit: also habe zwar nur Java und PHP aufm Kasten aber das scheint schon zu reichen um diese Quellcodes zu verstehen :thumbsup:
    sobald ich wieder zu hause bin beschäftige ich mal mit Modellieren, wie lang dauert es bis man große Gebäude erstellen kann?

  • Also ich hab vor einem Jahr auch aus Spaß mal angefangen mit modellieren, ich kann da Cinema4d empfehlen. Sehr einsteiger freundlich und leicht zu bedienen. Am Anfang war ich ein totaler Modelnoob, wenn man sich aber ein Ziel setzt das man erreichen will, lernt man im Prozess eigentlich alles notwendige. Nach ca. 50 Arbeitsstunden war dann mein Tigerpanzer fertig:


    Wenn man bedenkt wie simpel ein Haus ist, sollte man das in ca. 20 Stunden eigentlich locker hin kriegen! Es gibt wie ich gehört habe aber auch einige online Sammlungen von 3d-Moddels, wenn man die einfach importiert ginge das um einiges schneller! ^^



    t1.jpg


    t2.jpg

  • Welche Dateien sind genau notwendig? Und was steht in den Dateien drin? Meine beiden Häuser bekomme ich nämlich über die Addon-Funktion garnicht und überhaupt nicht ins Spiel! Allerdings können die präziesen Dateipfadangaben innerhalb der Datei arg hinderlich sein.
    Für deinen Objekt.Im- und -Exporter sind laut deiner .c-Dateien noch jede Menge .h-Dateien notwendig. Welche Versionen brauche ich und wo genau lege ich die hin?

  • @Fragi
    Tutorials zum Modelling gibts es schon zuhauf. das rad brauchen wir nun wirklich nicht neu zu erfinden.


    Welche Dateien sind genau notwendig? Und was steht in den Dateien drin?


    hmpf, genau um die Frage zu beantworten hab ich mir den ganzen Text im ersten Post aus den Fingern gesogen


    Meine beiden Häuser bekomme ich nämlich über die Addon-Funktion garnicht und überhaupt nicht ins Spiel!

    da wirst du wohl etwas genauer beschreiben müssen wie du versuchst deine beiden Häuser einzubinden. ansonsten können wir auch nur raten


    Für deinen Objekt.Im- und -Exporter sind laut deiner .c-Dateien noch jede Menge .h-Dateien notwendig. Welche Versionen brauche ich und wo genau lege ich die hin?


    die liefert dein Compiler mit.

  • Wie ich lese, hast du 4 Dateien im Objekt-Ordner (.object; .material; .script; .dds), und das addonscript im Script-Ordner. Richtig?
    Bei meinen umgemoddeten Häusern sind's ja 17 Stück pro Haus. Wenn ich mal ein fertig texturiert habe, werd ich es dann online stellen, zum Weiterprobieren.

  • Wie ich lese, hast du 4 Dateien im Objekt-Ordner (.object; .material; .script; .dds), und das addonscript im Script-Ordner. Richtig?


    korrekt.


    Bei meinen umgemoddeten Häusern sind's ja 17 Stück pro Haus. Wenn ich mal ein fertig texturiert habe, werd ich es dann online stellen, zum Weiterprobieren.


    ja alle mitgelieferten Objekte haben immer noch .scene,.properties & .skeleton Dateien. (die sind allerdings nicht zwingend notwendig anscheindend). Dazu dann meist mehrere Texturen pro Objekt(u.a. bump texture/specular texture)
    Plus die Sache mit den Farbpaletten die hier öfters mal erwähnt wurden, hab da allerdings noch überhaupt nicht reingeschaut. Insofern warte ich da gespannt auf deine Ergebnisse :)

  • Plus die Sache mit den Farbpaletten die hier öfters mal erwähnt wurden, hab da allerdings noch überhaupt nicht reingeschaut. Insofern warte ich da gespannt auf deine Ergebnisse :)

    Habe ich in dem Thread zu Anfrage neuer Gebäude beschrieben. Eine externe .bmp ist zu erstellen und eine Scriptzeile beim Haus zu ändern.

  • ich pack mal das Modell dazu anhand dessen ich obiges Tutorial erstellt habe.
    vielleicht hilft das ja dem ein oder anderen sich da reinzufuchsen ;)


    im zip sind die ursprünglichen blender dateien & exportierten objekte - sowie das fertige addon

  • hat es jetzt schon jmd geschafft arbeitet noch jmd dran oder interessiert es auf einmal keinen mehr eigene gebäude einzufügen?

    Es interessiert mich auf jeden Fall noch. Aber man hat als treu sorgender Familienvater auch noch mehr um die Ohren.
    Aber ich bin bereits ein Stück weitergekommen, ich habe die Addonscripts jetzt an richtiger Stelle und Anordnung. Und es ist so gekommen, wie es kommen musste, mein ein und dasselbe Haus wird als nagelneues angezeigt. Also alle bereits bei mir gesetzen Häuser sind weg, und ich muß sie neu überarbeiten und wieder setzen. Aber ein Anfang ist getan, jetzt kann ich geordnet arbeiten. Das fängt schon beim Dateinamen an. Da sollte jeder sein Kürzel einarbeiten, damit es keine ungewollten Dopplungen gibt.
    Und jetzt schaue ich mir immi sein Addon an. :)

    Zitat

    ... dasselbe Haus wird als nagelneues angezeigt.

    Bin jetzt dahinter gekommen, warum es so ist. Ich hatte meine Häuser diagonal gesetzt. Und der neue Addon-Script lässt keine diagonalen Zusatzobjekte zu. Bei den spieleinternen Objekten wird stets eine "Name".datei und dazu eine "Nameb".datei geladen.
    Während beim Blockhaus nur eine *b.bmp und *b.script fehlen; sind beim 45°Haus auch ein *b.object nicht dabei.

    2 Mal editiert, zuletzt von ArkenbergeJoe () aus folgendem Grund: Neue Erkenntnisse

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!