Rasengleis Strassenpaket mit CommonAPI2

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community



  • Mein Wunsch sähe so aus. Das Schwarze ist der Gehweg, das rote ist ne Parkspur und das gelbe sind die Tram- und Fahrspuren. Und die scvhwarze Fläche mit gelbem H wäre der Haltestelleneinschnitt in die Parkspur.

    Solche Spuren gibts öfters in Tramnetzen und würde wirklich viel flair geben, wenn die Parkspur auch nur so 2m oder so breit ist, gerade so genug, dass dort Autos parken können :D also ja, wie deine Baumspur der Allen, nur halt mit parkenden Autos :D und ggf wäre es nice, die Alleen auch ohne Tram zu bekommen. Die könnten auch ohne Tram gut aussehen.

    Mach weiter so, ich feiere deine Arbeit sehr.

    sowas fände ich mega nice.

    Gruß

    "You're a sneaky, litte imposter! Are'nt you?"

  • Parkstreifen für Autos hatte ich vor kurzem in dem bereich Modanfragen angesprochen. Leider geht das mit den Vanillastraßen nicht, weil die Art wie die Anzahl der Landes und die Breite der Straßen berechnet wird, dies verhindert. Wenn dein Mod das könnte würde das optisch sehr viel für TPF2 bringen. Denn Städte ohne Straßen mit Parkstreifen gibt es nicht. Ich möchte mich deshalb der Bitte von IbisCitea anschließen. :)

  • Wenn man sich anschaut, wie er es gebaut hat, kann man ggf. es nachbauen mit eigenen Breitenwünschen.
    Oder andersgesagt: Mad Hatter hat für

    Parkstreifen für Autos hatte ich vor kurzem in dem bereich Modanfragen angesprochen. Leider geht das mit den Vanillastraßen nicht, weil die Art wie die Anzahl der Landes und die Breite der Straßen berechnet wird, dies verhindert. Wenn dein Mod das könnte würde das optisch sehr viel für TPF2 bringen. Denn Städte ohne Straßen mit Parkstreifen gibt es nicht. Ich möchte mich deshalb der Bitte von IbisCitea anschließen. :)

    bereits eine Lösung gefunden.

    13! ≠ 13

  • @wunder99

    Das habe ich bereits getan.

    Ich beziehe mich mahl auf den kleinen Austausch zwichen Pluesch, WernerK und mir selber. Meine kleine Bastelecke post nr: 415 bis 426


    Im ergebis kam das dabei heraus:

    Zitat von Ulli@23

    Verstehe ich das richtig das die Lanes an die Breite der Straße, und nich an die Mitte der einzelnen Fahrspuren gebunden ist? Ich meine, wenn die Straße z.B. 6m Breite ist, die Anzahl der Lanes beträgt "numLanes = 2" , dann verteilen sich die Lanes auf je 3m und wenn " numLanes = 4 " auf je 1,5m? Und den abstand der Lanes kann ich nicht auf z.B. 3m festsetzen egal wie breit die Straße ist?


    Zitat von WernerK

    Yep! Und alle Fahrspuren sind immer gleich breit. Nur die Breite der Gehwege/Seitenstreifen kannst du unabhängig davon verändern, aber auch immer nur beidseitig. Du kannst auch die Straße oder beide Gehwege entfernen, indem du die Breite auf Nullkommanullirgendwas setzt; glatt Null ist nicht erlaubt, und Fußgänger werden immer auftauchen. Ach ja, und Masten für die Straßenbahn stehen immer am äußeren Rand der Gehwege. Gelegentlich ist das doof. ;)





    2 Mal editiert, zuletzt von Ulli@23 ()

  • Das bedeutet das mit den Vanillastraßen wie im Car Parks nur die eine Einbahnstraße mit paralen Parkstreifen möglich ist. Weil ansonsten die Lanes immer in der Mitte der jeweiligen Spur laufen.


    Es brauch also eine Spur mit abgeschaltetten oder ungenutzen Lanes für die Parkstreifen.


    Wenn sowas möglich währe währe das echt super.

    Einmal editiert, zuletzt von Ulli@23 ()

  • Es bringt halt nichts wenn eine Lane bei einem deaktivierte CommonAPI2 keine Verbindung mehr hat.


    Technisch erlaubt CommonAPI2 auch andere Lane Breiten, das führt aber zu anderen Problemen.

    1. Kreuzungen können nicht mehr verbunden werden (könnte ich teilweise reparieren)
    2. Ein Savegame ohne CommonAPI2 funktioniert nicht mehr richtig, da dann alle Kreuzungen wieder mit TPF2 Algorithmus erstellt werden beim Laden
    3. Fahrzeuge können dadurch fest hängen oder komplett Crashen.


    Da die Seitenteile wohl als streetBorder gebaut sind, muss man schauen, die Alleen haben das selbe technische Problem, deswegen hab ich da viel herumprobiert.


    Ich versuche mich aber gerade mit anderen Reparaturen:



    Und ja, das wird wohl auch ins Paket kommen, sprich ne Allee ohne Gleise, da könnt Ihr Marktstände oder was auch immer bauen und nur mit einem bestückten Gleis. Nun suche ich halte die Funktion, die entscheidet welche Strasse an Kreuzungen dargestellt werden... bzw. was der hauptsächliche Strassentyp ist... Naja, mal schauen.

  • Bei Strassenkreuzungen nimmt UG immer die Strasse die bei der Kreuzung am meisten vorkommt.


    Ansonsten gibt es im Wiki in der Anleitung eine Priorisierung, aber ob das wirklich nutzbar ist, müsste man austesten.


    Code
      = 10  --                               Priorisierung für die Visualisierung von Kreuzungsmarkierungen

    so steht das im Wiki, aber ich weiss nicht was davor kommt wenn überhaupt. Obs funktioniert, keine Ahnung hab das noch nie wirklich ausgetestet.

  • Ich kenne den Absatz und den Render Code, es benutzt da einen Hauptstrassentyp aus einer procedural::AttributeMap

    Zitat von eis_os — heute um 12:49 Uhr (via Discord)

    Kann ich bitte für TPF3 den Straßenrendercode schreiben? Trotz priority = 1000 der Allee will es unbedingt Grass anzeigen
    [bild entfernt]

    " If an intersection consists of different street types, the one that is used most for the street segments meeting at the intersection node is used for the paving and other materials. If several types are used equally often, there is no guranteed order, but usually the type with smaller index in the street type repo is used." das ist so etwas von unzureichend und hinderlich...

  • Verwechsele bitte nicht StreetType Id (abhängig von Ladereihenfolge, das was auch als id via api.res.streetTypeRep.get genutzt wird) und StreetType->priority


    Nochmals, ich kann den Code halbwegs lesen beim erstellen des Mesh, die Priority wird für die Materialien crossingLane und streetPaving definitiv nicht ausgewertet, deswegen gibt es halt dieses verhalten.

    Darüber hinaus wäre es sinnvoll wenn auch bei anderen Strassen ggf. die Strasse mit dem höchsten Bürgersteig eine höhere Priorität bekommen würde.-


    Aber diese Entscheidung, ich sag mal Salop den Straßentyp der Kreuzung, wird schon beim erstellen der Nodes gewählt und in der AttributeMap für das Teil hinterlegt. (Und im Spielstand dann abgespeichert)


    Ich kann das temporär die Daten ändern beim Rendern, dann sieht es zumindest richtig aus, aber es muss ja eine haltbare Lösung werden...

  • Ich hab da mal vor einiger zeit ein Kreuzungsmuster angelegt.... man beachte das die vierspurigen aus dem Raster fallen.

    Wenns einem nicht passt, einfach mal Kopf zu und Leine ziehen !!!

    Win7 Pro, Amd FX 8150 (Bulldozer), Mainboard Gigabyte 970A-DS3P, 32gb Corsair Ram DDR3-1666, AMD Radeon Rx 5700x (8gb VRam, Treibervers. 21.5.2)

  • Ja, im Meshbuilder für CreateCrossing wird es definitiv verwendet, aber erst nachdem das material für crossingLane und streetPaving von einem Namen in eine Textur Id konvertiert wurde, davor wurde der Materialnamen bestimmt, durch die HauptId des Teils, es ist die StrassenId in der AttributeMap, die so auch bei normalen Straßen genutzt wird.



    Wie genau das TPF2 bei einer Kreuzung bestimmt ist mir noch ein Rätsel, aber da ist halt schon der "falsche" Wert drin. Denn kann ich im Speicher ändern und dann hab ich das Ergebnis...


    Die Textur Id wird danach nicht mehr angefasst und später einem MeshConstructor zu geführt, der den Boden dann als Mesh als Untergrund nutzt. Dieses wird für alle Lod Level genutzt. (Sieht man auch wenn man rauszommt und dann nur nur StreetPaving hat)


    Sollen wir eine nahe Lod haben, dann wird die höchste StreetType - Priority errechnet, indem es einen vector<ints> mit ids durchsucht, und dann die priority vergleicht.


    Dann gibt es eine

    Code
    If ( AnzahlHauptIdsInVektor != 2 ||  GetStreetType(StreetRep, HauptId)->priority < maxPriority)  { 
    HauptId = -1 }


    Danach verhält sich der nachfolgende Code anders, wenn der HauptId -1 ist.

    (Das ist halt ne Optimierung im Code)




    StreetGeometry::TransitionUtil::GetNodeStreetType war wohl die richtige Funktion


    Da löst man halt nun ein Problem und hat natürlich direkt wieder ein neues, nun ist das Problem mit Assets der Alleen natürlich immer gegeben :(





    -edit 2-

    So Linux und Window Version verdrahtet, es sollte nach dem Bau auch keine Probleme mehr mit Bäumen auf der Fahrbahn geben, dafür gibt es nun auch ein Flag. Über kurz oder lang werde ich versuchen die Pfeil, Fahrbahnmarkierungsmods und den Flag ob Assets bei Kreuzungen gebaut werden sollen auch für alle anderen Mod Autoren zur Verfügung zu stellen... Die Sortierung braucht auch noch ein paar Verbesserungen, vielleicht kann ich das so machen das dieses leidige Problem bei UG Strassen auch repariert wird.


  • Und das passiert mit laneWidth Änderungen, nichts brauchbares und es ist ohne CommonAPI2 auch nicht mehr ladbar:




    Keine Ahnung, den kompletten Code neu schreiben und ein Teil der Strasse mit überbreiten Bürgersteig Nutzen (damit die Sims nicht durch die Autos rennen) und gewissermaßen einen Teil des Bordsteins /Fußgängerwegs abgesenkt als Radweg/Autostellplatz nutzen.

    Also diese Straße in der Mitte hier als Basis:


    https://www.transportfever.net…eis-stationsbeispiel-jpg/


    :/

BlueBrixx