1. Dashboard
  2. Forum
  3. Filebase
  4. Lexicon
  5. Articles
  6. Rating system
  7. Members
    1. Recent Activities
    2. Users Online
    3. Team
    4. Search Members
  8. Zur Transport Fever Community
  • Login
  • Register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • Lexikon
  • Article (Rating System)
  • More Options
  1. WiSim Welt
  2. Forum
  3. Spiele
  4. Cities in Motion
  5. Modding und Erweiterungen
  6. Tools & more

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

  • immi
  • March 25, 2011 at 2:23 AM
1st Official Post
  • immi
    Guest
    • March 25, 2011 at 2:23 AM
    • #1

    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

    Code
    this.width = 5;
    this.height = 45;
    this.length = 5;
    this.flags = GRID_ITEM_COVER | GRID_ITEM_LOCK_GROUND | GRID_ITEM_ENABLE_BASE;
    this.diagonals = 0x0000;
    this.type = GRID_ITEM_BUILDING;
    
    
    this.displayName = "TVTower";
    
    
    $price = 1234500;
    Display More


    $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

    Code
    // get addon path 
    $BasePath = extractFilePath(extractFileDir(this.scriptFilename));
    $ObjectPath = $BasePath + "objects/";
    
    
    function loadBuilding($category, $name, $model)
    { 
        MAIN.$grid.loadGridObject($name, $model+".object");
        if (defined MAIN.$level.$buildings[$category]) {
            MAIN.$level.$buildings[$category][] = $name;
        } else {
            MAIN.$level.$buildings[$category] = [$name];
        }
    }
    
    
    loadBuilding("landmarks", "tvtower", $ObjectPath+"tvtower");  // lädt objects/tvtower.object
    Display More

    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.

    Edited once, last by immi: hinweis auf die gs_tools von eis_os (May 27, 2012 at 8:59 AM).

    • Quote
  • liechti
    Guest
    • March 25, 2011 at 9:12 AM
    • #2

    Hallo Immi,

    Genial! Weisst du ob man die Dateien dann auch in eine GS Datei packen kann und dann verteilen?

    • Quote
  • Bennhardt
    Student
    Posts
    94
    Filebase Entries
    1
    • March 25, 2011 at 9:48 AM
    • #3

    Abgefahren!
    Wenn das alles funktioniert, sollten wir vielleicht eine Liste (oder Datenbank) erstellen, welche Objekte erwünscht sind und wer was baut oder gebaut hat.

    • Quote
  • Yangvarr
    Guest
    • March 25, 2011 at 10:21 AM
    • #4

    Das ist wirklich Spitze. Gute Arbeit. Du wirst dich in Zukunft nicht mehr vor Aufträgen retten können... ;)

    • Quote
  • immi
    Guest
    • March 25, 2011 at 10:21 AM
    • #5
    Quote from liechti

    Genial! Weisst du ob man die Dateien dann auch in eine GS Datei packen kann und dann verteilen?


    habs zwar nicht ausprobiert, aber ich sehe nicht warum es nicht funktionieren sollte

    • Quote
  • Schoolisoutfan
    Guest
    • March 25, 2011 at 12:38 PM
    • #6

    Super, dann kann Maze sich ja wie bei RCT3 voll austoben :D

    • Quote
  • V-Fan
    Guest
    • March 25, 2011 at 2:48 PM
    • #7

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

    • Quote
  • Fragi
    Guest
    • March 25, 2011 at 4:23 PM
    • #8
    Quote from V-Fan

    Ich muss echt mal modellieren lernen. Dann kann ich ein schönes "ordentliches" Wien bauen :thumbup:
    @ 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 :thumbup:

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

    Edited once, last by Fragi (March 25, 2011 at 6:52 PM).

    • Quote
  • PingPong
    Intermediate
    Posts
    237
    • March 25, 2011 at 8:26 PM
    • #9

    Gefällt mir sehr gut. :thumbup:
    Das ganze dann bitte als Addon verpacken, wenns soweit ist. :)

    Wer zuletzt lacht, hat den höchsten Ping...

    • Quote
  • Eich
    Guest
    • March 25, 2011 at 9:38 PM
    • #10

    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

    • Quote
  • Fragi
    Guest
    • March 25, 2011 at 11:22 PM
    • #11

    wow das war dein erstes 3d model? nicht schlecht

    • Quote
  • Speedy
    Master
    Posts
    2,067
    Filebase Entries
    21
    • March 25, 2011 at 11:37 PM
    • #12

    Na super. :thumbup: Dann fahren bald Panzer unsere Fahrgäste spazieren oder zur Arbeit. Preis: 100 WE. :D

    Gefällt mir gut, was ich hier sehe. Hoffe doch auch bald auf Addons. ;)

    • Quote
  • ArkenbergeJoe
    Guest
    • March 26, 2011 at 12:17 AM
    • #13

    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?

    • Quote
  • immi
    Guest
    • March 26, 2011 at 12:46 AM
    • #14

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

    Quote from ArkenbergeJoe

    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

    Quote from ArkenbergeJoe

    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

    Quote from ArkenbergeJoe

    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.

    • Quote
  • ArkenbergeJoe
    Guest
    • March 26, 2011 at 8:48 AM
    • #15

    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.

    • Quote
  • immi
    Guest
    • March 26, 2011 at 12:22 PM
    • #16
    Quote from ArkenbergeJoe

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


    korrekt.

    Quote from ArkenbergeJoe

    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 :)

    • Quote
  • ArkenbergeJoe
    Guest
    • March 27, 2011 at 12:56 PM
    • #17
    Quote from immi

    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.

    • Quote
  • Fragi
    Guest
    • April 1, 2011 at 12:17 PM
    • #18

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

    • Quote
  • immi
    Guest
    • April 1, 2011 at 4:23 PM
    • #19

    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

    • Quote
  • ArkenbergeJoe
    Guest
    • April 1, 2011 at 6:41 PM
    • #20
    Quote from Fragi

    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. :)

    Quote

    ... 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.

    Edited 2 times, last by ArkenbergeJoe: Neue Erkenntnisse (April 1, 2011 at 11:15 PM).

    • Quote

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login

Twitch

  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™