Parklife Dev Diary #5: Modding und Menüfilterung

    • Offizieller Beitrag

    Hallo zusammen! Wir freuen uns wieder einige neue Modding-Features ankündigen zu können, die mit der Parklife-Erweiterung erscheinen und alle Teil des kostenlosen Updates sein werden.


    Objekt-Editor

    Sub-Meshes

    Einige integrierte Gebäude und Fahrzeuge verwenden bereits sogenannte Sub-Meshes, um ihr Aussehen während des Spiels zu verändern. Sub-Meshes sind zusätzliche 3D-Modelle, die unter bestimmten Bedingungen (de-)aktiviert werden. Um einige Beispiele zu nennen: Vielleicht ist euch aufgefallen, dass eure Mülldeponie zwischen mehreren Müllbergmodellen wechselt, wenn sich das Gebäude füllt, und viele Dienstleistungsfahrzeuge verwenden bei Linksverkehr ein gespiegeltes Modell. Wir haben das Sub-Mesh-System jetzt im Objekt-Editor freigeschaltet.


    Das Editor-Fenster enthält nun bei der Bearbeitung von Gebäuden und Fahrzeugen ein neues, ausklappbares Menü für Sub-Meshes. Klickt einfach auf die Schaltfläche "Add New" [todo], wählt euer eigenes Modell aus dem Import-Menü, passt Position und Rotation an, legt in den Dropdown-Menüs "Required Conditions" und "Forbidden Conditions" fest, wann das Sub-Mesh angezeigt oder ausgeblendet werden soll, und schon seid ihr startklar. Ihr könnt das Sub-Mesh im Editor mit dem "Toggle Preview"-Button ein- und ausschalten, um eine Vorstellung davon zu bekommen, wie sich euer Objekt verhält, wenn ihr es endlich auf eure Stadt loslasst.


    Um euch eine Vorstellung davon zu geben, wie die Bedingungen funktionieren, lasst uns mal schauen, wie die Mülldeponie aufgebaut ist. Zuerst importieren wir das Objekt mit eingeschaltetem "Bestehende Requisiten & Dekorationen laden", damit die Sub-Meshes erhalten bleiben. Der Übersichtlichkeit halber schalten wir nun alle Vorschauen für Sub-Meshes aus.




    Das Haupt-Mesh der Mülldeponie besteht nur aus den Zäunen ringsherum. Insgesamt gibt es drei Sub-Meshes mit unterschiedlich hohen Müllbergen, welche die Bedingungen "First Half Filled" und "Second Half Filled" verwenden, die nur für bestimmte Gebäudetypen wie Mülldeponie und Friedhof gelten. Beim ersten Sub-Mesh sind beide Bedingungen als "Forbidden Conditions" festgelegt, d.h. wenn irgendeine dieser Bedingungen erfüllt ist, wird das Sub-Mesh ausgeschaltet. Beim zweiten Sub-Mesh ist die Einstellung "Required Conditions" auf "First Half Filled" gesetzt und "Forbidden Conditions" auf "Second Half Filled", und beim dritten müssen beide Bedingungen erfüllt sein. Schlussendlich wird immer genau eines dieser Sub-Meshes gerendert.



    Es gibt eine Menge an verfügbaren Bedingungen, einige davon nur für bestimmte Gebäudearten, wie z.B. "Abandoned" ("Verlassen") für Zonengebäude. Einige allgemeine Bedingungen wie "Active" sind für alle Gebäudearten verfügbar, die ihr beispielsweise so einstellen könnt, dass das Sub-Mesh nur dann gerendert wird, wenn das Gebäude ausgeschaltet ist. Fahrzeuge haben ihre eigenen Bedingungen, mit denen ihr auch festlegen könnt, wann das Haupt-Mesh ausgeblendet werden soll.


    Scripting API

    Wir haben auch zwei neue Schnittstellen fürs Scripten zu ICities.dll hinzugefügt. Diese sind hauptsächlich für erfahrene Modder gedacht, jedoch könnte die Cinematic Camera API auch für diejenigen interessant sein, die mit Scripting experimentieren wollen. Die API-Referenz und Dokumentation wird später im Community-Wiki verfügbar sein, sobald Parklife veröffentlicht wird.


    Asset Data API
    Die neue Asset Data API ermöglicht es fortgeschrittenen Objekt-Erstellern und Moddern, eigene Daten direkt in ihre eigenen Objekt-Pakete zu speichern und eine Rückmeldung mit diesen Daten zu erhalten, wenn das Objekt geladen wird. Diese Funktion wurde gewünscht, um komplexere Objekte leichter einstellen zu können und sollte den Bedarf an externen Xml-Dumps und Detour/Harmonie-Hooks beim Laden von Objekten verringern.


    Die selbsterstellten Daten werden als Byte-Arrays in einem Wörterbuch gespeichert. Dabei werden String-Keys verwendet, um die Daten zu organisieren. Beim Speichern eines Objekts ruft das Spiel die OnAssetSaved-Methode in eurer IAssetDataExtension-Implementierung auf. Die Parameter enthalten den Namen des gespeicherten Objekts, das Prefab des eigentlichen Objekts als gepacktes Objekt (welches ihr in den spielinternen Typ umwandeln könnt, falls ihr zusätzliche Dinge damit anstellen wollt) und das Daten-Wörterbuch als Ausgabeparameter. Ebenso wird OnAssetLoaded beim Laden aller selbsterstellten Objekte aufgerufen. Beachtet, dass diese nur für das Haupt-Objekt aufgerufen werden, damit z.B. erhöhte Straßen oder Prop-Variations, die im selben Paket verpackt werden, nicht zusätzlich aufgerufen werden.


    Cinematic Camera API
    Die Cinematic Camera API bietet eine zuverlässige und bequeme Möglichkeit, schöne Kamerafahrten eurer Stadt zu skripten, vielleicht für ein Vorführungsvideo oder einfach, um eure Kreation zu bewundern. Eine neue Schaltfläche wurde neben der vorhandenen Schaltfläche Freilaufende Kamera hinzugefügt, um selbsterstellte Kameraskripte zu aktivieren, zusammen mit einer integrierten Filmkamera, die zufällig Einwohner, Verkehr oder Gebäude in eurer Stadt präsentiert.


    Das API bietet einige Low-Level-Steuerelemente wie Drehen und Bewegen der Kamera, Ein- und Ausblenden und Blendenwechsel, um die Tiefenschärfe zu steuern, sowie Hilfen, um Einwohner, Gebäude, Fahrzeuge usw. mit bestimmten Parametern in eurer Stadt zu finden. Das Kamerasystem verwendet Unity Coroutine -style Scripting, das besonders für diese Art von Frame-to-Frame-Aufgaben geeignet ist und es euch ermöglicht, euer Kameraskript in mehrere Sequenzen aufzuteilen, diese Sequenzen von anderen starten zu lassen und einige Sequenzen anzuhalten, während sie darauf warten, dass andere enden.


    Wenn ein Spieler die Filmkamera aus dem Spielmenü auswählt und aktiviert, startet das Spiel die OnStart Coroutine in eurer ICameraExtension-Implementierung. Das an OnStart übergebene ICamera-Handle enthält alle Kamerasteuerungsmethoden und ICameraExtensionBase verpackt diese Methoden für zusätzlichen Komfort auch in der Basisklasse. Wenn das Skript die Steuerung der Kamera für ein Bild beendet hat, verwendet einfach eine Yield-Anweisung, um auf das nächste Bild zu warten, und das Skript wird dann dort weitermachen, wo ihr aufgehört habt.


    Cinematic Cameras werden wie alle anderen Mods erstellt, aber die Implementierung der ICameraExtension oder ICameraExtensionBase führt dazu, dass die Mod in der Inhaltsverwaltung und im Steam-Workshop unter Cinematic Camera Scripts aufgelistet wird. Da es sich um skriptgesteuerte Assemblies handelt, gelten für Cinematic Camera-Scripte dieselben Sicherheitsvorkehrungen wie für alle anderen Mods, und das Aktivieren jeglicher Kameraskripte deaktiviert die Errungenschaften.


    Menüfilterung


    Wir haben einen echten Leckerbissen für alle Spieler, unabhängig davon, ob ihr Parklife kauft oder nicht, kommt jeder in den Genuss der Menüfilterfunktion. Wie einige vielleicht bemerkt haben, sind mit all den zusätzlichen Inhalten aus den zuvor veröffentlichten Erweiterungen einige der Menüs im Spiel und im Editor etwas überfüllt. Anstatt es einfach so zu lassen, haben wir eine Menüfilterung eingebaut, damit das Durchsuchen der Menüs nicht mehr so lange dauert wie früher. Menüfilterung ist eine neue Funktion, die den Spielern hilft, die Objekte in den Menüs zu filtern und das Durchsuchen der Menüs erleichtert.


    Also, lasst uns schnell die grundlegenden Funktionen durchgehen:


    • In jedem der Menüs im Spiel und im Editor, in denen Filter verfügbar sind, erscheinen die Filter als kleine Schaltflächen beim Menü.
      • Wenn ein Menü mehrere Reiter hat, werden die Filter im jeweiligen Reiter festgelegt.
    • Durch Anklicken (linke Maustaste) der Filterschaltfläche aktiviert der Spieler den Filter und das Menü zeigt nur Elemente an, die die vom Filter vorgegebenen Bedingungen erfüllen.
    • Wenn mehrere Filter ausgewählt werden, müssen alle Bedingungen der Filter erfüllt sein, wodurch die Auswahl der im Menü verfügbaren Objekte eingeschränkt wird.
    • Die Filter können durch erneutes Anklicken deaktiviert werden.

    Es gibt viele verschiedene Arten von Filtern, einige Menüs können mehr und andere weniger Filter zur Auswahl haben. Ein paar der Menüfilter, die ihr vorfinden werdet, sind "Kleine Gebäude", "Große Gebäude" und "Netzstrukturen". Der Filter Netzstrukturen zeigt euch alle Straßen, Wege, Wasser- und Stromleitungen.


    Der Objekt-Editor ist ein Sonderfall, es wird ein Suchfeld anstelle von Filterschaltflächen geben, welches ähnlich der Suchfunktion der Inhaltsverwaltung funktionieren wird. Ich begrüße diese Änderung mit offenen Armen. Das Finden von Objekten wird so viel einfacher.


    Werfen wir einen Blick auf alle kleinen Gebäude im Park-Menü.


    Tschüss,

    die Entwickler von Cities: Skylines


    Quelle: https://forum.paradoxplaza.com…d-menu-filtering.1098504/

  • Also das klingt alles sehr toll, bin echt gespannt

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
    • Offizieller Beitrag

    Ja. seht interessant!

    Die Menüfilterung ist schon mal ein großes Plus!

    "Gib jeden Tag die Chance, der schönste deines Lebens zu werden".
    (Mark Twain)


    :pc6344:System:


    MB MSI Z170A Gaming M5 Intel Z170 CPU Intel Core i7 6700K 4x 4.00GHz Z! - COSCORSAIR Venegance LPX DDR4 64GB (2x 32GB) l - VGA 8192MB Gainward GeForce GTX 1080 Phoenix Goes Like Hell Aktiv PCIe

    1x M.2 SSD 970 EVO Plus 1TB - 2x SSD 256GB Samsung PM961 M.2 - M.2 HDSA 2000GB Seagate Desktop HDD - Windows 10 - Dell-Monitor G3223 WQHD 32 Zoll

  • Ja das ist schon seltsam das er im Objekt-Editor enthalten ist aber nicht innerhalb des Spiels selber, aber wenn viele das Anfragen werden, denke ich das CO das in einem Patch nachholen

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
  • Anagro

    Hat das Label Parklife hinzugefügt.