String direkt an IP senden

  • Ich habe eine Frage und nach langem Suchen im Web noch keine Antwort gefunden:

    Wir haben hier in unserem Studio zwei Workstations, eine als Editor für XR und eine als Render-Node für die LED-Wall. Ich möchte gern auf dem Editor mir einem Tastaturbefehl auf beiden Workstations den selben Befehl (Level wechseln) auslösen.

    Gibt es eine Möglichkeit, im Blueprint einen string direkt an die Ip-Adresse der Render-Node zu schicken und dort zu empfangen? Kann jemand von euch ein Beispiel machen?

  • Sleepy

    Hat das Thema freigeschaltet.
    • Offizieller Beitrag

    Hey und herzlich willkommen im Forum. Ich kann leider kein Beispiel für dich erstellen, aber vielleicht kann ich dir ein paar Hinweise geben, die dich in die richtige Richtung bringen.

    Um Nachrichten über das Netzwerk an einen anderen PC zu senden, kannst du sogenannte RPCs (Remote Procedure Calls) verwenden.


    Hier sind ein paar Links, die dir helfen könnten:


    RPCs
    Designating function replication across the network
    docs.unrealengine.com


    RPC Handshakes sind keine spezifische Funktion von Unreal, sondern die Daten können auch über ein beliebiges Programm gesendet, empfangen, bearbeitet oder konvertiert werden. Somit wäre es auch möglich, die Daten in eine Textdatei zu schreiben und durch Eure Render-Node wieder auszulesen (ohne Unreal als Empfänger).


    Ich bin mir nicht sicher, ob das verlinkte Video nützlich ist:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Um die empfangenen Daten zu verarbeiten, brauchst du auf jeden Fall eine "Call Remote Function". Es gibt im Netz einige Beispiele im Bezug auf die Unreal Engine. Auch diese Funktion ist nicht Unreal-spezifisch.


    In Unreal bräuchtest du einen Event Dispatcher, der bemerkt, wenn Daten ankommen, und daraufhin reagiert.


    Bitte beachte auch, dass die Firewall hierbei eine wichtige Rolle spielt und auf beiden Rechnern entsprechend konfiguriert sein muss.


    Das ist alles nur Theorie. Wenn jemand eine andere Idee hat, die widersprüchlich zu meinen Aussagen ist, solltest du lieber auf ihn hören. 8o

  • Hast du dir "ClientTravel" oder "ServerTravel" mal angesehen und der Empfänger sollte auch eien String empfangen können.


    Ist auch alles nur Theorie :) bin absoluter Anfänger...

  • Hallo zusammen


    Danke für eure Antworten. Hat mir leider beides nicht weiter geholfen.

    Ich suche eine Lösung, die im Blueprint extrem vereinfacht folgendes tun soll:


    Editor: When press Key "1" send String "1" to Ip: 1.1.1.1.1.

    RenderNode: When receive String "1" from IP: 1.1.1.1.2 then load Level XY

  • Müsste das nicht theoretisch auch mit Replication gehen? Ich habe ja nicht viel Erfahrung mit Multiplayer Spiel programmieren oder so, weil ich leider nur an einem Singleplayer arbeite, aber im Laufe des Lernens mit der Engine war ich eigentlich irgendwann der Meinung, dass alles was mit Host/Server/Client Kommunikation zu tun hat, über die Replication von Variablen, Zuständen (und Events?) geht.


    Ist aber leider alles schon ne Weile her. Aber wenn du nach Tutorials suchst, würde ich empfehlen mal nach Unreal und Replication zu suchen.


    Das hier ist das, was ich schnell noch spontan gefunden habe:

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Habe es mir jetzt nicht komplett angeschaut, weil ich ja mit meinem Projekt tief am Verzweifeln bin, aber der Anfang klang eigentlich passend zu deinem Problem.

  • Hallo


    Verstehe dein Setup nicht ganz.

    Falls du Unreal Engines Listen oder Dedicated Server nutzt kannst ein ein Multicast Event erstellen und dort drin dann dein Level wechseln. Wenn dein Editor nicht der Server ist musst du zuerst mittels run on Server zum Server.

    Das ist ganz einfach und geht in Blueprint.


    Wenn nicht kannst du die Remote Control API verwenden, dann kannst du es mittels Webanwendung die Funktion Level wechseln aufrufen.


    Gruss

  • Zu unserem Setup:

    wir haben ein Virtual Production Studio für Filmproduktionen.

    Wie bereits erwähnt sind zwei Rechner im Einsatz: Der eine (RenderNode) Für NDisplay bringt das Bild auf die LED Wand, der Andere (Editor) rechnet über das von der Kamera erzeugte Videobild einen virtuellen Vordergrund.

    Beide Rechner laden das selbe Unreal Projekt von einem NAS.

    Wir wollen an einer Messer das ganze ausstellen und verschiedene Levels per Tastendruck auf einer Tastatur (am Editor angeschlossen) wechseln können. Wir möchten kein zusätzliches Interface mehr dazwischen schalten.