1. Dashboard
  2. Forum
  3. Filebase
  4. Lexikon
  5. Artikel
  6. Spieletest
  7. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  8. Zur Transport Fever Community
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Filebase-Eintrag
  • Lexikon
  • Artikel (Bewertungssystem)
  • Erweiterte Suche
  1. WiSim Welt
  2. Forum
  3. Spiele
  4. Cities in Motion 2
  5. Modding und Erweiterungen für CiM2
  6. Modding-Allgemein

Modifizierbarkeit von CiM2

  • lukiono
  • 3. April 2013 um 15:17
  • immi
    Gast
    • 5. August 2013 um 19:12
    • #161

    hmm, da waren noch so ein paar sporadische Probleme, vom verhunzten Objekt bis zum Blenderabsturz, denen ich eigentlich noch auf den Grund gehen wollte ...
    Aber vermutlich ist jetzt, wo ich so halbwegs durchblick, eher der Zeitpunkt da, den ganzen Spaghetti-Code wegzuschmeißend und das ganze nochmal sauber zu schreiben ;)

    ich hatte zwar schon angefangen Code zu schreiben um nur direkt die Meshblobs einzulesen, aber das lieferte momentan nur Müll, also Vorgehensweise immer noch wie hier beschrieben

    • Zitieren
  • mediziner
    Administrator
    Reaktionen
    2
    Beiträge
    1.924
    Filebase Einträge
    10
    Einträge
    4
    • 5. August 2013 um 19:34
    • Offizieller Beitrag
    • #162

    Wie kann ich das Script integrieren? In den addons-Ordner werfen? Dann taucht es unter den Einstellungen nicht auf. :(
    Können auch die mit dem Bundle-Codec separierten Meshes geladen werden oder nur komplette Bundle-Files?

    Einmal editiert, zuletzt von mediziner (5. August 2013 um 19:34)

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
    • Zitieren
  • immi
    Gast
    • 5. August 2013 um 19:37
    • #163

    lässt sich nur über die Python-Console in Blender benutzten, siehe Screenshot hier

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 5. August 2013 um 20:12
    • #164
    Zitat von mediziner

    Wie kann ich das Script integrieren? In den addons-Ordner werfen? Dann taucht es unter den Einstellungen nicht auf. :(
    Können auch die mit dem Bundle-Codec separierten Meshes geladen werden oder nur komplette Bundle-Files?

    Nein, immi baut sein eigenes Tool:
    Modifizierbarkeit von CiM2 - Seite 7 - Modding-Allgemein - Cities in Motion - Fanpage

    Ich möchte ein Frankenstein Bundle erstellen um ein externe DLL laden zu können, so haben wir andere Prioritäten.
    Wobei die Nson Daten von BundleCodec immer mehr kompatibles JSON werden, das man bestimmt auch durch das Python Script jagen könnte.

    • Zitieren
  • McDougal
    Anfänger
    Beiträge
    1
    • 5. August 2013 um 20:43
    • #165

    Hi Leute! :)

    Wollte euch einfach mal sagen, dass ihr unglaublich seid. :D
    Ich verfolge euren Thread jetzt seit ca. 2 Monaten (eine der wenigen "Quellen" bezüglich Unity modding) und habe das Gefühl, dass ihr momentan zu den Leuten gehört, die sich am besten mit Unity auskennen (bezüglich Modding ;) ).

    Als Teil einer internationalen Gruppe von Moddern, die versucht, Shadowrun Returns (ebenfalls Unity) zu "knacken", muss ich eingestehen, dass ihr uns um einiges voraus seid. ^^

    Es wäre toll, wenn ein paar von euch uns mal auf IRC besuchen könntet und uns dabei auf die Sprünge helft, die Meshes und Texturen in SRR zu finden und mod-bar zu machen.

    Wir sind auf freenode.net #SRR-modding zu finden. Danke. :)

    • Zitieren
  • immi
    Gast
    • 7. August 2013 um 11:56
    • #166
    Zitat von McDougal

    Es wäre toll, wenn ein paar von euch uns mal auf IRC besuchen könntet und uns dabei auf die Sprünge helft, die Meshes und Texturen in SRR zu finden und mod-bar zu machen.


    das klingt jetzt ein wenig nach: "bitte tragt uns die die Informationen hinterher die wir brauchen" :p
    Schreib doch einfach was ihr bisher wisst, wo ihr Probleme habt und wo wir eventuell weiterhelfen könnten.(im Hinterkopf behalten, dass ich zumindest das Spiel nicht besitze).
    Ein Forum hat im Gegensatz zum IRC immer den Vorteil das die Informationen archiviert und auch für andere auffindbar sind. Was, wie du ja selber festgestellt hast, immens hilfreich sein kann.
    Und ich glaub die Administration/Moderation wird da auch nicht böse sein, wenn wir hier den Informationsaustausch bzgl Unity nicht nur auf CiM2 beschränken.
    (und wenn doch gäbe es immer noch nen Off-Topic Bereich im Forum)

    • Zitieren
  • ArkenbergeJoe
    Gast
    • 8. August 2013 um 17:11
    • #167
    Zitat von immi

    Natürlich ist eine Schnittstelle vorhanden. Was glaubst du, wie die Objekte ins Spiel kommen? :p Das Problem ist nur, dass die Schnittstelle a) eher ungeeignet für 3rd-Party-Content ist und b) uns keinerlei Informationen über die Schnittstelle vorliegen ;)


    Vielleicht habe ich mich da etwas unglücklich ausgedrückt.
    Natürlich muß es div. Schnittstellen geben. Ich meinte aber so wie in CIM1, wo es neben der gs.Dateien/Datenbanken auch möglich ist, externe Windows-Dateistrukturen ins Spiel zu bringen (Addon-Ordner). Funktioniert ja bei SimCity ähnlich, da gibt es ja auch neben den *.dat auch div. *.SC4Lot und *.SC4Modell-Dateien (Plugin-Ordner). Allerdings verwendet Maxis fast nur eigene Dateiformate, statt z.B. dds-Grafiken wird dort ein *.fsh-Dateiformat verwendet.

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 8. August 2013 um 20:31
    • #168

    CIM2 ist ein Monolithischer Block. Unity hat kein fertiges Konzept für Plugins/Addons per Runtime. Man kann zwar per Code ein Plugin System bauen (das machen teilweise andere Projekte) indem man der Engine direkt sagt, mach dies oder das. D.h. der Entwickler hat sich darum zu kümmern.

    Ich verweise hierbei nochmals auf Modding and Unity - Possible?

    Ein AssetBundle ist ein Unity internes Format. Damit ein AssetBundle kompatibel ist muss es aus dem ursprünglichen Unity Projekt erstellt werden. Das müsst Ihr euch so denken, man geht auf Export, Unity Build Scripts werden ausgeführt und man bekommt ein Verzeichnis mit seinem Spiel. Einer Player.exe/XYZ_Data, Engine, Shared Assets, usw.

    Was machen Immi und Ich nun?
    Immi hat ein Python Script geschrieben um das Format zu analysieren und nutzt es nun in Blender.

    ich habe ein allgemeines C Programm geschrieben, das das Unity3/4 Bundle Format versteht, es entpacken und packen kann. In dem sind direkte blobs der Objekte und Beschreibungen der Blobs der Unity Engine enthalten.
    Eine Übersicht findet man hier:
    Unity - YAML Class ID Reference Ein MonoBehaviour ist ein vom Spielentwickler erstelltes Objekt mit einem Subtype.

    Wie soetwas aufgebaut ist, kann man hier schön sehen (ohne Querverweise in andere Dateien):
    building07.svg

    BundleCodec schreibt eine art JSON Datei pro Objekt, diese kann man mit einen Texteditor editieren. Ein Bild oder Mesh aber im internen Format oder in einer JSON Repräsentation zu editieren ist aber unmöglich, daher werden zum Beispiel die Texturen als dds Dateien konvertiert. (Die Bilder im Wiki für die nicht veröffentlichen Sachen sind so entstanden)
    Nun brauchen wir für CIM2 Modding:
    a) Konverter für Meshes usw.
    b) die erweiterten Informationen damit ein Bundle auch geladen wird. Das sind zum einen eine Liste mit allen Objekten dann noch richtige Preload Informationen usw.

    CO kann hierbei auch nicht weiterhelfen, das Bundle Format kennen nur die Unity Entwickler
    -edit-
    Ok, Sie könnten ein Addon System schreiben, aber CO hätte keine Vorteile, danach wurde sie auch schon gefragt.

    4 Mal editiert, zuletzt von eis_os (8. August 2013 um 20:39)

    • Zitieren
  • DrMilzbrand
    Anfänger
    Beiträge
    14
    Filebase Einträge
    1
    • 10. August 2013 um 23:27
    • #169

    "Ok, Sie könnten ein Addon System schreiben, aber CO hätte keine Vorteile, danach wurde sie auch schon gefragt."

    Nur ein kleiner Einwurf von mir, weil ich die Haltung des Entwicklers von CIM2 immer noch nicht ganz nachvollziehen kann.

    Ich fand die Lösung, die Auran (der Entwickler von Trainz) gewählt hat äußerst gut gelungen. Wer es nicht kennt, bei Trainz werden nahezu alle zusätzlichen Inhalte über eine Auran-Interne Platform gehandelt. User, die gerne Addons oder Mods downloaden möchten, sind gehalten eine kostenpflichtige Premiummitgliedschaft zu kaufen. Das kostet ein paar Euro im Monat. Aber auch freie Entwickler, Designer etc. von Fahrzeugen, Mods, Karten, Objekten, Tools usw.. können dort ganz einfach ihre Kreationen anbieten. Auran klammert sich da natürlich aus der Haftung (kann man verstehen) aber steuert oft passende Tools dazu - perfekt!!!

    Auran verdient jeden Monat ein paar Euro an jeder einzelnen Mitgliedschaft. Die direkte Folge davon...selbst alte Programmteile wie Trainz 2004 sind heute noch weit verbreitet und erfahren noch heute täglich Erweiterungen! So gründet man sich eine über Jahre tragfähige Community (an der man nebenbei sogar noch etwas verdient).

    Ich denke, es geht weniger darum, dass man das Problem bei CO nicht lösen KANN, sondern man WILL es einfach nicht. Vielleicht kann man sich darauf noch gut ausruhen, mit den DLCs aus eigenem Haus lässt sich ja noch(!) gut verdienen. Aber spätestens wenn sich erste Ernüchterung darüber breit macht oder wenn es viel mehr bald mal einen ähnlich gelagerten Titel zu CIM2 gibt, geht das schnell nach hinten los.

    Nichts für ungut ;)
    Wünsche nen schönes Wochenende!

    • Zitieren
  • Stepke
    Administrator
    Reaktionen
    99
    Artikel
    31
    Beiträge
    2.074
    Filebase Einträge
    114
    Einträge
    31
    • 12. August 2013 um 16:19
    • Offizieller Beitrag
    • #170

    Wobei Auran als Anmerkung das ganze übertreibt. Trainz an sich vegetiert seit langer Zeit vor sich hin, Fehler werden gar nicht korrigiert, meist nur verschlimmert aber trotzdem kassiert Auran/N3V an jedem bisschen ab ohne einen vernünftigen Gegenwert zu bieten - die Newsletter von denen sind auch nur noch reine Werbeplätze und dienen nicht wie einst als Informationsquelle...

    Achso und der Ersteller von Objekten verliert seine Rechte am Objekt - Auran darf damit alles machen was sie möchten, auch Verkaufen...

    @immi Gerne richten wir einen allgemeinen Unity-Bereich ein um auch über andere Projekte auszutauschen.

    Edit: So schnell kann es gehen, Bereich ist unter Offtopic zu finden: Unity-Modding - Cities in Motion - Fanpage

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
    • Zitieren
  • mediziner
    Administrator
    Reaktionen
    2
    Beiträge
    1.924
    Filebase Einträge
    10
    Einträge
    4
    • 13. August 2013 um 00:12
    • Offizieller Beitrag
    • #171

    @immi:

    Code
    >>> bundle.import2blender(0x2f4ebb88)
    <Blender> loading "VehicleObject": ID:0x2f4ebb88 VehicleObject<MonoBehaviour> ''
    examining gameobj v2 0x9fab1e3 "Bus 03"
     .. has Transform
     .. ignored asset type: 0x6f
     .. ignored asset type: 0x72
     .. ignored asset type: 0x52
    examining gameobj v2 0x48db6e53 "bus03"
     .. has Transform
     .. has SkinnedMeshRendere
     ..loading material: 02 - Default id:0x45f6dd37---
     ..used shader program: default CarShader:0x1bef1458
       .. _MainTex id:0x870d0e4a saved as:C:\cim\bus03.dds
    
    
    Traceback (most recent call last):
      File "<blender_console>", line 1, in <module>
      File "C:\Users\Martin\AppData\Roaming\Blender Foundation\Blender\2.65\scripts\addons\cim2.py", line 961, in import2blender
        export_obj(self._File, self, self.asset(id) )
      File "C:\Users\Martin\AppData\Roaming\Blender Foundation\Blender\2.65\scripts\addons\cim2.py", line 520, in export_obj
        export_gameobj(File, Bundle, GameObj)
      File "C:\Users\Martin\AppData\Roaming\Blender Foundation\Blender\2.65\scripts\addons\cim2.py", line 499, in export_gameobj
        export_gameobj(File, Bundle, x)
      File "C:\Users\Martin\AppData\Roaming\Blender Foundation\Blender\2.65\scripts\addons\cim2.py", line 495, in export_gameobj
        mat, image = export_material(File, Bundle, Materials[0] )
      File "C:\Users\Martin\AppData\Roaming\Blender Foundation\Blender\2.65\scripts\addons\cim2.py", line 269, in export_material
        image.use_alpha = False
    AttributeError: 'Image' object has no attribute 'use_alpha'
    Alles anzeigen

    Leider produziert das Script immer noch Fehler :(

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
    • Zitieren
  • Merk
    Fortgeschrittener
    Reaktionen
    1
    Beiträge
    407
    Filebase Einträge
    18
    • 13. August 2013 um 00:51
    • #172

    Nachdem ich mich durch die Blender API Dokumentation gelesen habe, bin ich zu dem Schluss gekommen, dass es an der verwendeten Blender Version liegt.

    "bpy.types.Image" hat erst seit Version 2.66 das Attribut "use_alpha", in den vorherigen Versionen gibt es das nur bei "bpy.types.ImageTexture".

    Mein Lösungsvorschlag: überall im Script "image.use_alpha" durch "bl_tex.use_alpha" ersetzen, dann sollte es zumindest bei allen Blender Versionen ab 2.60 funktionieren (möglicherweise auch bei noch älteren).

    Meine Mods für Locomotion
    Adventskalender 2011

    • Zitieren
  • mediziner
    Administrator
    Reaktionen
    2
    Beiträge
    1.924
    Filebase Einträge
    10
    Einträge
    4
    • 13. August 2013 um 05:05
    • Offizieller Beitrag
    • #173

    Und die Resultate lassen sich sehen! Jedes Fahrzeug hat jetzt ein eigenes gerendertes Bild. ;)

    Einmal editiert, zuletzt von mediziner (13. August 2013 um 05:05)

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
    • Zitieren
  • immi
    Gast
    • 13. August 2013 um 13:31
    • #174

    hübsch :)

    Merk hat den Fehler ja schon treffend analysiert. Alternativ kannst du auch einfach dein Blender updaten :p. Oder die betreffende Zeile 269 auskommentieren/löschen.

    • Zitieren
  • ArkenbergeJoe
    Gast
    • 10. September 2013 um 17:49
    • #175
    Zitat von eis_os

    CIM2 ist ein Monolithischer Block. Unity hat kein fertiges Konzept für Plugins/Addons per Runtime. ....

    Nacheinander kommen div. Erweiterungen per DLC dazu. Wie funktioniert eigentlich die Eingliederung der neuen Objekte? Alle können nicht bereits seit Anfang an im deaktivierten Zustand dabei gewesen sein (Brandenburger Tor). Theoretisch, wenn ich es richtig verstanden habe, muß letzlich der gesamte monolitische Block neu geupdatet werden und der alte kommt weg?
    Im Unity-Forum raucht mir mein Kopf, und es ist dazu auch alles in Englisch....
    ....Da bin ich nun mal nicht so bewandert.... ?(

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 10. September 2013 um 18:27
    • #176

    Du bekommst per Steam Updates zum Spiel, alle DLCs sind dann in den X*.bundles enthalten, es gibt also nur freischalten.

    • Zitieren
  • ArkenbergeJoe
    Gast
    • 10. September 2013 um 19:43
    • #177

    Ja, die hab ich gefunden. Wenn also STEAM dem monoliten Block diverse X*.bundles hinzufügen kann, sollte es doch auch für Modder so gehen? Diese bräuchten natürlich nicht freigeschaltet werden, sondern wären so da. Allerdings gäbe es da wohl den Big-Crash im MP, oder gar bereits im Onlinemodus.....
    Muß also nur eine Zentraldatei aktualisiert werden, damit die zusätzlichen X*.bundles erkannt werden?

    • Zitieren
  • immi
    Gast
    • 10. September 2013 um 19:58
    • #178
    Zitat von ArkenbergeJoe

    Muß also nur eine Zentraldatei aktualisiert werden, damit die zusätzlichen X*.bundles erkannt werden?

    Nein, CiM2 lädt einfach alle *.bundle Dateien, die es in den entsprechenden Ordnern vorfindet.

    • Zitieren
  • Xanos
    wcf.user.rank.superModerator
    Reaktionen
    3
    Beiträge
    1.018
    Filebase Einträge
    5
    • 18. Oktober 2013 um 10:38
    • #179

    Auch wenn so etwas noch ewig dauern könnte, ein klitzekleiner Hoffnungsschimmer am Horizont in Form einer Nachricht von gestern im offiziellen Forum:

    Zitat von co_martsu

    I'm very sorry the modding hasn't been as easy in Cities in Motion 2 as it was in CIM1. Unfortunately we don't have time at the moment to start implementing usermade models to the game :( But I'll check with Paradox how they feel about this!


    Übersetzung:
    Es tut mir sehr leid, dass Modding in Cities in Motion 2 nicht so einfach ist wie in CiM1. Leider haben wir im Moment keine Zeit selbstgemachte Modelle in das Spiel zu integrieren :( Aber wir werden mit Paradox sprechen, wie sie dazu stehen!

    Anmerkung: Das ist die Antwort auf die Frage eines Users, ob CO nicht seine selbstgebauten Fahrzeuge in CiM2 integrieren könnte.

    Xanos Let's Play

    Einmal editiert, zuletzt von AlexanderN (18. Oktober 2013 um 15:23)

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 18. Oktober 2013 um 12:42
    • #180

    Quellenangabe wäre nett:
    New vehicles

    Meine Einschätzung:
    Paradox und CO merken das Sie nicht genügend substantielles für CIM2 für die Langzeitmotivation bzw. Überbrückung bringen können.<spekulation>Auch scheinen Spieler mit Kaufverweigerung von DLCs abzustimmen</spekulation>
    Die Modding Szene hat für CIM1 die Zeit zwischen den großen DLCs überbrückt.
    Die früheren Aussagen das ja das einbauen von Fremdcontent so viel Arbeit für CIM2 machen würde und das eigentlich alles mit Unity nicht gehen würde, weicht nun einen Paradox soll das bitte richten und effektiv auch bezahlen.
    Vielleicht gibt es ja doch irgendwie eine Richtungsänderung bei Paradox und CO bezüglich was die Spieler wünschen. Wenn es ein lohnenswertes Addon für CIM2 gibt würde es eine Motivation meinerseits bezüglich Mods förderlich sein, da CIM2 seit langen nicht mehr von mir gespielt wurde.

    • Zitieren

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Twitch

  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™