Signal-BP für Industrietor zweckentfremden: Problem mit Animation


Abonniere unseren Kanal auf WhatsApp (klicke hier zum abonnieren).
  • Hallo,


    TrailDogRunner1909 hat ein animiertes Industrietor gebastelt, welches auch ingame benutzbar sein soll. Ich habe versucht, das Ganze ins Spiel einzubringen und stehe nun vor einem Problem.


    Und zwar soll das Tor als Signal im Spiel einzubinden sein, sprich Tor platzieren, Link 0 vor dem Tor und Link 1 danach setzen, sodass das in der 2d-Karte als Signal zu finden ist.
    Dank der Hilfe von Schuster hat das auch soweit funktioniert, sprich man kann das Tor bereits platzieren und in der 2D-Karte sieht man, dass das "Signal" von Grün auf Rot springt, wenn man das Tor überfährt, außerdem kann man per TAB-Taste auch das Tor von Rot auf Grün wechseln lassen. Jetzt ist das Problem, dass die Animation des Tores nicht funktioniert. Rot soll bedeuten: Tor zu, Grün Tor auf. Im Kuju-Formsignalscript habe ich auch einige Einträge bezüglich der Animationen gefunden (ANIMSTATE_Hp0, ANIMSTATE_ANIMTOCLOSE etc.), aber wie ändere ich das auf die Animation vom Tor ab? TDR hat mir eine .ia-Datei mitgegeben, aber damit kann ich nichts anfangen.


    Es wäre toll, wenn mir jemand helfen könnte.


    Gruß alias203

  • Die *.ia Datei musst du in eine *.ban Datei konvertieren, das machst du in dem du die *.ia
    über das Programm IAOptimiser(findest du im RW-Hauptordner) ziehst.

    Mein System: Win 11 Pro CPU: AMD Ryzen 7 5800X3D 4.5GHz RAM: 32GB DDR4 3200MHz GraKa: Asus RX 7800XT 16GB , TSC auf 1TB M.2 SSD, Win11Pro auf 500GB M2.SSD.

  • Hier fehlen dir eindeutig Grundlagen im Umgang mit dem TS. Die .ia ist eine Source Datei und für den BP-Editor bestimmt. Dort wird diese .ia als AnimationName irgendwo eingetragen (wo man es eben grad braucht) und wenn man exportiert wird daraus dann eine .ban Datei für den TS. Du hast doch sicher das Signal-BP auch als Source vorliegen? Wenn nicht, würde ich vorschlagen nochmal von vorn zu beginnen und sich mit den Methodiken des Erstellens von neuen Assets für den TS zu beschäftigen. Das Script sollte dann an letzer Stelle in Angriff genommen werden, also wenn das Objekt an sich erst mal funktioniert. Ob eine Animation im Objekt auch funktioniert, kann man relativ einfach testen. Es gibt ja verschiedene automatische Animationsabläufe. Da wählt man dann ein AnimScenery BP und trägt die Animation in das AnimSet ein und exportiert den Kram. Dann sollte man das Obejkt hinstellen und das Spiel starten. Das Tor in deinem Falle müsste sich dann ununterbrochen auf und zu bewegen. Sollte das damit nicht gehen, muss man leider im Script die Animation selbst steuern per Zeit. Das macht man dann mit *:Reset(string animID) *:AddTime(string animID,float deltaTime*calculatedFactor). Man muss das natürlich in eine Schleife packen und paar Werte generieren und prüfen. So eine Animation läuft im Zweifel 1 Sekunde, also ist der min Wert für AddTime() dann 0 und der max Wert 1. Reset stellt die Animation auf 0 und wenn man direkt danach AddTime mit einem addierten Wert aufruft dann wird draraus eine lineare Bewegung. Da man dies im Update() macht hat man ja die deltaTime und die addiert man immer auf die aktuelle animTime (leider lässt sich der Wert der aktuellen Animationsposition nicht auslesen, also muss man sich um dessen Berechnung selbst kümmern).

  • Hier fehlen dir eindeutig Grundlagen im Umgang mit dem TS.


    Möglicherweise. :D


    Zitat

    Du hast doch sicher das Signal-BP auch als Source vorliegen?


    Ja sicher, ich habe das BP auch erstellt. ;)


    Zitat

    ... also wenn das Objekt an sich erst mal funktioniert.


    Tut es doch. Es wird im Editor angezeigt und lässt sich auch platzieren. Die Funktion als Signal ist auch in Ordnung.


    Zitat

    Das Tor in deinem Falle müsste sich dann ununterbrochen auf und zu bewegen.


    Ja, das tut es.


    Gruß alias203

  • Hallo TrailDog


    was ist den das für ein Tor?
    und außerdem möchte ich mich mal für die Modelle von Dir bedanken.


    Gruß Andreas (alter eep'ler)

    Wer Tippfehler findet darf sie behalten. Auf diesen Fehlern liegt kein (C).
    Auch ist das Repainten derartiger Fehler erlaubt und sogar erwünscht. *closed*

  • Wo ist dann jetzt genau das Problem? Du musst im Script des Signals die Zustände des Signals auswerten und die Animation steuern. Das ist was dir fehlt. Dazu muss man natürlich wissen wie das geht. Da schaut man sich die alten Kuju Formsignalscripte an. Da werden die Flügen ja auch abhängig vom Signalzustand bewegt. Ist das selbe Prinzip. Bei so einem Tor kann man dann noch ein math.pow() benutzen damit es langsam anfängt zu bewegen. Das ist dann aber zusätzlicher Kram den man nicht unbedingt braucht (oder man hat die Animation schon mit Easing versehen, dann kann man sich das sparen).

  • @alias203 du kannst natürlich das Kuju Script nur als Lereffekt benutzen. Für dein Tor benötigst du schon was eigenes. Das Tor hat nur eine Anumation, da helfen dir die Animstates der Signale nicht weiter. Du sollst in dem Script das Prinzip erlernen, nicht copy and paste machen, denn das wird nicht funktionieren. Von allein wird dir die Lösung nicht entgegenspringen. Da muss man Eigenarbeit leisten für.

  • Die beiden Pfosten:1_1000_Industrietor_01
    Torflügel1 mit Animation:1_1000_Industrietor_02
    Torflügel2 mit Anmation: 1_1000_Industrietor_03


    Muss man die Namen die einzelnen Bauteile irgendwie ins Script packen, damit sie ansteuerbar werden für den TS?


    Gruss Schmiddi

  • Denkanstöße gab es doch genug. Er muss sich schon intensiv mit der Sache beschäftigen, sonst wird das nichts. Wie die Signalscripte funktioneren und welche Möglichkeiten man dort hat, das steht alles in den RS Dev Docs drin. Man muss das natürlich verstehen wollen. Für so ein Tor benötigt man nur 2 elementare Dinge aus den Signalscripts: OnConsistPass() und OnSignalMessage(). Der Rest ist da nicht wichtig. Und natürlich muss man sich die Animationssteuerung per Script erarbeiten.


    Es gibt nix schlimmeres als wenn Wissende mit ihrem Wissen hinterm Berg halten.

    Den Wissenden ist das Wissen aber auch nicht in den Schoß gefallen. Warum sollte man es also großherzig kostenlos verteilen?? Wissen kostet Geld meine liebe Sandra. Heute mehr denn je. Jeder will immer alles sofort gemacht haben, aber es nie selbst machen. Dafür benötigt man Fremdwissen und das kann man sich einkaufen. Will man es nicht einkaufen, dann muss man es sich eben selbst erarbeiten. Das ist ne ziemlich einfache Rechnung. Vor allem wenn es um spezielle Dinge geht.