DasMatze's Fahrzeuge (ICE 3)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • DasMatze's Fahrzeuge (ICE 3)

      Seit gestern arbeite ich an dem Triebwagen der Baureihe 628 als U-bahn. Der vordere Wagen in roter Lakierung ist bereits fertig:
      [gallery]2701[/gallery]

      Da ich vorher (bis auf ein paar ersetzte Soundeffekte) nichts für das Spiel erstellt habe, habe ich derzeit noch Probleme damit, es ins Spiel zu bekommen. Dank der Tutorials von Goya sind das Modell und die Texturen im richtigen Format, aber das Fahrzeug taucht einfach nicht im Spiel auf. Die meisten Dateien sind im Ordner "addons\BR628\vt_br_628\" und meine environment.script im Ordner "addons\BR628\scripts" schaut so aus:

      Quellcode

      1. $grid = MAIN.$grid;
      2. $level = MAIN.$level;
      3. $level.loadPlayerVehicle(„FrontRed“, „/addons/BR628/vt_br_628/FrontRed“, mkdate(05,08,1975), mkdate(31,12,9999));


      Ich habe auch andere Pfade ausprobiert, aber es erscheint einfach nichts im Spiel. :(

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von DasMatze ()

    • Jepp. Ich habe die metro04.script genommen und erst einmal nur das Nötigste geändert, um zu sehen ob Modell und Texturen im Spiel richtig erscheinen. Die FrontRed.script sieht daher so aus:

      Quellcode

      1. this.length = 3;
      2. this.frontOffset = 6.55;
      3. this.rearOffset = 6.55;
      4. this.frontAnchor = 5.5;
      5. this.rearAnchor = 5.5;
      6. this.displayName = MAIN.$strings.$vehicle_metro04;
      7. this.capacity = 12;
      8. this.acceleration = 2.5;
      9. this.braking = 0.3;
      10. this.speed = 0.8;
      11. this.turning = 2.0;
      12. $objectinfoPattern = MAIN.$strings.$objectinfo_timesLastMonth_pattern;
      13. $objectinfoText = MAIN.$strings.$objectinfo_metro;
      14. $objectinfoRange = [3, 20];
      15. this.addPath("doorR0-enter", GRID_PATH_END, vector(2.0, 0.0, -2.1), QUAT_IDENT, vector(-0.5, 0.0, -2.1), QUAT_IDENT);
      16. this.addPath("doorL0-enter", GRID_PATH_END, vector(-2.0, 0.0, -2.1), QUAT_IDENT, vector(0.5, 0.0, -2.1), QUAT_IDENT);
      17. this.addPath("doorR0-exit", GRID_PATH_START, vector(-0.5, 0.0, -2.1), QUAT_IDENT, vector(2.0, 0.0, -2.1), QUAT_IDENT);
      18. this.addPath("doorL0-exit", GRID_PATH_START, vector(0.5, 0.0, -2.1), QUAT_IDENT, vector(-2.0, 0.0, -2.1), QUAT_IDENT);
      19. this.addPath("doorR1-enter", GRID_PATH_END, vector(2.0, 0.0, 2.1), QUAT_IDENT, vector(-0.5, 0.0, 2.1), QUAT_IDENT);
      20. this.addPath("doorL1-enter", GRID_PATH_END, vector(-2.0, 0.0, 2.1), QUAT_IDENT, vector(0.5, 0.0, 2.1), QUAT_IDENT);
      21. this.addPath("doorR1-exit", GRID_PATH_START, vector(-0.5, 0.0, 2.1), QUAT_IDENT, vector(2.0, 0.0, 2.1), QUAT_IDENT);
      22. this.addPath("doorL1-exit", GRID_PATH_START, vector(0.5, 0.0, 2.1), QUAT_IDENT, vector(-2.0, 0.0, 2.1), QUAT_IDENT);
      23. this.addPath("doorR2-enter", GRID_PATH_END, vector(2.0, 0.0, 5.7), QUAT_IDENT, vector(-0.5, 0.0, 5.7), QUAT_IDENT);
      24. this.addPath("doorL2-enter", GRID_PATH_END, vector(-2.0, 0.0, 5.7), QUAT_IDENT, vector(0.5, 0.0, 5.7), QUAT_IDENT);
      25. this.addPath("doorR2-exit", GRID_PATH_START, vector(-0.5, 0.0, 5.7), QUAT_IDENT, vector(2.0, 0.0, 5.7), QUAT_IDENT);
      26. this.addPath("doorL2-exit", GRID_PATH_START, vector(0.5, 0.0, 5.7), QUAT_IDENT, vector(-2.0, 0.0, 5.7), QUAT_IDENT);
      27. this.doorOpenStart = 0.0;
      28. this.doorOpenLen = 2.0;
      29. this.doorCloseStart = 4.0;
      30. this.doorCloseLen = 2.0;
      31. this.doorOpenStart2 = 14.0;
      32. this.doorOpenLen2 = -2.0;
      33. this.doorCloseStart2 = 10.0;
      34. this.doorCloseLen2 = -2.0;
      35. $price = 260000;
      36. ];
      37. $icon = MAIN.$window.video.new_texture("/metro/objects/vehicles/metro-04/metro04-icon.dds");
      38. $rendering = "metro/objects/vehicles/metro-04/metro04-render.dds";
      39. $reliability = 0.90;
      40. $fuelConsumption = 0;
      41. $electricityConsumption = 80;
      42. $attractiveness = 0.75;
      43. $speed = 80;
      44. $type = 2;
      45. $infoText = MAIN.$strings.$vehicle_metro04_info;
      46. with (this.doorOpenSound = new_sound(this)) {
      47. .load("/metro/sounds/4. Bus door opening1 (hiss clank short).wav");
      48. .volume = 1.0;
      49. .minDistance = 50.0;
      50. .maxDistance = 350.0;
      51. }
      52. with (this.doorCloseSound = new_sound(this)) {
      53. .load("/metro/sounds/4. Bus door closing2 (short) .wav");
      54. .volume = 1.0;
      55. .minDistance = 50.0;
      56. .maxDistance = 350.0;
      57. }
      58. with (this.bellSound = new_sound(this)) {
      59. .load("/metro/sounds/4. Subway horn2.wav");
      60. .volume = 1.0;
      61. .minDistance = 50.0;
      62. .maxDistance = 350.0;
      63. }
      64. with (this.moveSound = new_sound(this)) {
      65. .load("/metro/sounds/4. Subway train run1 - ground (pitch2).wav");
      66. .volume = 0.5;
      67. .minDistance = 50.0;
      68. .maxDistance = 450.0;
      69. }
      70. with (this.moveTunnelSound = new_sound(this)) {
      71. .load("/metro/sounds/4. Subway train run1 - tunnel (pitch2).wav");
      72. .volume = 0.5;
      73. .minDistance = 50.0;
      74. .maxDistance = 450.0;
      75. }
      76. with ($brokenEffect = new_particleEmitter(this)) {
      77. .direction = vector(0.0, 1.0, 0.0);
      78. .minParticleSpeed = 2.0;
      79. .maxParticleSpeed = 3.0;
      80. .minParticleAngle = 0.0;
      81. .maxParticleAngle = 1.0;
      82. .minParticleLife = 2.0;
      83. .maxParticleLife = 4.0;
      84. .maxDistance = 400.0;
      85. .particleSize = 0.5;
      86. .setParticleScale(1.0, 0.1, 6.0);
      87. .particleAirResist = 0.5;
      88. .gravitation = vector(0.0, 3.0, 0.0);
      89. .density = 40.0;
      90. .addColorRange(0x80333333, 0x00333333);
      91. .setTexture("effects/particles/lightsmoke.dds");
      92. .conditions = GRIDVEHICLE_BROKEN;
      93. .sortParticles = true;
      94. .autoemit = true;
      95. .visible = true;
      96. }
      97. event this.onLoaded::() {
      98. $brokenEffect.position = vector(0.0, 0.0, -2.0);
      99. }
      Alles anzeigen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DasMatze ()

    • DasMatze schrieb:

      Quellcode

      1. $price = 260000;
      2. ];
      3. $icon = MAIN.$window.video.new_texture("/metro/objects/vehicles/metro-04/metro04-icon.dds");

      Die dritte Zeile aus dem zitierten Code muss noch entfernt werden. (Wahrscheinlich ein Überbleibsel der Trailer Definition)

      Falls das den Fehler nicht behebt:
      Gibt es Fehlermeldungen in der log_metro?
      Abgesehen davon, dass das Modell nicht im Spiel auftaucht funktioniert alles ganz normal?

      PS: Das Modell sieht gut aus :thumbup:
    • Achja, der Log, den vergesse ich ständig. Laut dem Log waren die deutschen Anführungszeichen in der environment.script ungültig. Den Text habe ich aus dem Tutorial heraus kopiert. Ich weiß nicht ob es beim Erstellen des Tutorials automatisch umgeändert wurde, aber ich würde es berichtigen. ;)

      Nach einigem hin und her habe ich es endlich ins Spiel bekommen:
      [gallery]2703[/gallery]

      Wie man sieht, ist die Normal map noch nicht ganz an Ort und Stelle und die Alpha map an den Rädern ist verloren gegangen. Ich mache nun mit dem anderen Wagen sowie der Mintgrün-Lakierung und der Firmenfarben-Lakierung weiter.
      Nebenbei eine kleine Umfrage: Schaut ihr euch die Modelle genauso nah an wie ich in diesem Beispiel (weshalb ich die Textur bei 1024x1024 belassen würde) oder beachtet ihr die Details gar nicht (weshalb ich die Textur auf 512x512 schrumpfen und einige Details entfernen würde)?
    • Also ich nutze 2048x2048 Pixel große Texturen und komme bei meinen Modellen selten unter 1000 respektive bei Trams 3000 Polygone, und bisher habe ich keine Klagen über Leistungseinbrüche gehört. Ich komme allerdings auch aus einem anderen Metier, da hängt man für gewöhnlich noch eher eine Null an den Polycount dran, entsprechend tue ich mich noch immer schwer, den Detailgrad runterzudrehen. Wenn du das schaffst, dann gönn dir ruhig die 1024 Pixel. :D

      Und meine Tutorials werde ich wohl nie ändern. Ich nehme es mir immer vor, aber mei... Ein bisschen eigene Leistung neutralisiert die Fehler dann ja. :D
      “If this song was a sandwich....it would be an amazing sandwich.” - FuZeDreaMz101
    • Also die Details, die ich meinte, wären die "Boxen" unter dem Fahrzeug, die sieht man so gut wie gar nicht. Dessen Textur würde ich dann einfach auf einer einzelnen Fläche an der Seite projizieren. Auch die Radgestelle sieht man nicht wirklich. Insgesamt hat der Frontwagen ca. 295 Polygone und ist damit selbst mit Details nicht wirklich performancefressend. Ich komme eher aus der Low-Poly-Gemeinde (ich habe viel für RollerCoaster Tycoon 3 erstellt). ;)
    • Bei der Größe der Textur würde ich es auch davon abhängig machen, welche Details denn überhaupt verloren gehen würden.
      Ich bin bei meinen Modellen zum Beispiel dazu übergegangen die Texturen lieber nur 512*512 Pixel groß zu machen, sie dafür aber ohne Kompression zu speichern.

      Die Größe der Textur sollte auch keine große Auswirkung auf die Leistung haben (nur auf den Speicherverbrauch). Ich glaube das CiM selbst bei meinen Texturen ohne Kamera-Mod nie die eigentliche Textur sondern eher die Mipmaps nutzt.

      Der limitierende Faktor bei CiM ist ja in der Regel auch der Prozessor und nicht die Graka.

      EDIT:
      Bei weniger als 300 Polygonen würde ich am 3D-Modell nichts mehr ändern, da haben selbst die Standardfahrzeuge deutlich mehr.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Merk ()

    • Ja gut, dann hau die Boxen und Radgestelle auf niedrigste ... DIE sind nun wirklich nich' relevant [für mich] ... den Detailreichtum, den ich so mag, beziehe ich auch eher so auf das Fahrzeug an sich, nich' den kleinen Popel unten drunter ... :D
      Und ich bin leider kein Modder, deswegen bin ich mir auch nicht ganz klar ob 1024er Texturen die Leistung senken würden oder nich' ... gut zu wissen, dass sie es scheinbar nicht tun ... :P

      //OffTopic: Jop, DasMatze, von dir habe ich einige Mods im RCT3 ... ^^
    • Richtig, eine Doppeltraktion wäre das Maximum. Eine einzelne Traktion würde aber auch ausreichen, da die Kapazität im Vergleich zu den Kapazitäten des Spiels mit 48 Personen pro Wagen genauso viel hergeben, wie ein langer U-Bahn Zug.

      Der hintere Wagen ist erstellt, jedoch erhalte ich beim Laden einer Stadt einen "System memory allocation failed" Fehler. Der Log spuckt nichts ungewöhnliches aus. Ich wüsste nicht, was ich falsch gemacht haben könnte. Die Script Datei des hinteren Wagens enthält nur das nötigste und in der Environment.script ist er auch als grid-object eingetragen.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DasMatze ()

    • Der Fehler tritt normalerweise auf, wenn irgendwas am 3D-Objekt selbst nicht stimmt. Bei mir ist er manchmal mit einer alten Version der gstools aufgetreten, wenn in der Obj-Datei mehr als ein Materialeintrag vorhanden war.
      Mein Lösungsvorschlag ist daher, die Materialdefinitionen zu überprüfen und die neueste Version der gs_tools zu nutzen (falls du das nicht schon tust).
    • Danke für die Hilfe! Merkwürdigerweise funktionierte der zweite Wagen später einfach so ... obwohl ich nichts änderte.

      Leider sind die Wagen etwas zu lang für die winzigen Kurvenradien:
      [gallery]2705[/gallery]

      Alte Leute finden diesen Triebwagen zum sterben schön:
      [gallery]2704[/gallery]
      ^ Wie man sieht habe ich noch nicht ganz verstanden, welche Positionen ich für die Türpfade angeben muss. Irgendwie ist alles vertauscht.
    • Egal, wie ich es einstelle, entweder ragt ein großer Teil über die Innenseite der Kurve hinaus oder die Enden schwenken sehr stark aus. Wenn jedoch jemand größere Radien hinzufügen würde ...

      Die anderen beiden Versionen sind fertig:
      [gallery]2707[/gallery]

      Jetzt noch die Türpfade angeben, die aus Railworks geklauten Sounds wieder durch die normalen ersetzen (da sie im Spiel "abgeschnitten" werden), herausfinden warum mein Render Icon nicht erscheint und dann ist es bereit für den Release. Ich weiß nicht, ob ich Doppeltraktionen erstellen werde, da ich dann, wie ich festgestellt habe, die Frontwagen erneut als Anhänger importieren muss und es etwas unübersichtlich wird.

      Edit: Es besteht nun nur noch das Problem, dass Züge manchmal ineinander fahren und stecken bleiben:
      wisim-welt.de/index.php/Attach…512d50828c5d2c0ac1e777a81
      Ich habe schon versucht this.length zu ändern, weil ich vermutete, dass das Spiel vielleicht denkt, es sei noch Platz am Bahnhof für ein zweites Fahrzeug. Ich habe auch die Bremskraft geändert, weil der Wagen vielleicht nicht schnell genug abbremsen konnte, wenn er plötzlich sieht, dass der Bahnhof besetzt ist. Aber beides half nicht.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von DasMatze ()

    • Ich vermute, dass da irgendein Offset (oder auch mehrere) falsch eingestellt ist. Normalerweise entsprechen die Offsets den Abständen des vordersten bzw. hintersten Teils des Fahrzeugs zum Koordinatenurspung (Das Modell sollte auch am besten so positioniert werden, das beide Offsets ungefähr gleich sind).

      Zu den Türpfaden:
      Der erste Eintrag ist die Achse die in das Fahrzeug rein führt, da muss man nichts ändern.
      Der zweite Eintrag wäre dann die Höhe über der Gleisoberkante, entspricht der z-Achse in Blender.
      Und der letzte Eintrag entspricht bei mir der negativen y-Achse in Blender (Position parallel zur Fahrtrichtung).

      PS:
      Für eine Doppeltraktion muss man das Hauptfahrzeug nicht nochmal als GridObject laden, man kann auch das Objekt nutzen, das man als PlayerVehicel geladen hat:

      Quellcode

      1. $trailers = [
      2. ["br628b", false],
      3. ["br628", false],
      4. ["br628b", false]
      5. ]

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Merk ()