Multiplayer, Head rotation mit Kamera

  • Hallo liebe Leute,

    ich habe mir eine HeadRotatin mit der Kamera gemacht.

    Wenn ich die Kamera bewege bewegt sich der Kopf mit.

    Nun habe ich das Problem das, wenn der Client die Bewegung ausführt auf dem Client alles funktioniert und auch der Server sieht die Bewegungen. Alles wie gewünscht.

    Wenn der Server die Bewegung ausführt funktionieren auf dem Server alles auf dem Client wird es jedoch nicht angezeigt.

    Wie würde ich es hin bekommen so dass der Client auch die Bewegung des Servers mitbekommt?

    Für Hilfe wäre sehr dankbar.

    Liebe Grüße

    [Blockierte Grafik: https://unrealengine4.de/index.php?attachment/12225-aus-dem-character-blueprint-png/]

  • Auch wenn ich das genaue Problem noch nicht kenne, so denke ich, dass du vergessen hast die Animation zu replizieren (Siehe: Animation Replication). Also: Du machst ein Custom Multicast Event, wo du zu deinem Animation-Blueprint castest. Dann machst du ein weiteres Custom Event, mit "Executes on Server", was dein Multicast Event aufruft. Dann lässt du dein Axis Event zum Kopf drehen, das Server Event ausführen.


    So würde ich das machen, wenn ich dein Problem hätte.

    Look behind you! A three-headed monkey!

  • Hallo Janinus,

    danke für deine Antwort.

    Das hatte ich auch schon versucht. Habe das im Character blueprint gemacht, leider ohne Erfolg. Das gleiche habe ich im Anin-Character blueprint gemacht und im 0Base character, leider alles ohne Erfolg. Habe auch schon die Variable Headrotation auf Replikation gesetzt aber es will einfach nicht.

    Dem client wird nicht mitgeteilt das der Server seinen Kopf bewegt.

    Es wird eine Funktion ausgeführt. Diese kann ich aber nur auf Public setzen. Im EventGraph wird diese unter EventTrick ständig abgefragt und ausgeführt. Der Client macht das und leitet das auch an den Server weiter, der das dann auch sieht. Nur umgekehrt macht das der Server aber leitet das nicht weiter an den Client. Deshalb habe ich das auch schon mit den CustomEvents probiert, so wie es bei anderen Animationen ja auch funktioniert. Hat das was mit dem Funktion zu tun. Muss ich das irgendwie noch replizieren? Und wenn ja wie soll ich das machen.

    PS: Bin Anfänger


    Gruß

  • Sah das bei dir so aus?


    Statt dem ThirdPerson-AnimBP, dann halt dein RotateHead BP.


    Ich kann bei deiner Funktion nichts erkennen. Könntest du die bitte größer machen?


    Soweit ich weiß kann man nur Events replizieren. Funktionen selber nicht. Aber das kannst du ja machen, wie in dem Bild oben von mir.


    PS: Bin Anfänger

    Dafür sind wir ja hier:)

    Look behind you! A three-headed monkey!

  • Hallo Exaran,

    ich danke dir für deine Antwort. Leider hast du es hier mit einem eher dümmlichen Anfänger zu tun.


    Ich habe das falsch verstanden, da es bei mir nicht geht.


    Mein Character Tina:

    Dort habe ich die Variable Kopfrotation erstellt und auf Replicated gesetzt. und so eingefügt wie du es meiner Meinung nach geschildert hast.


    Meine Ausführung auch im Character. Die dort sehende Head Rotation stammt ja aus dem Tina_Anim_Blueprint




    In Meinem Tina_Anim_Blueprint

    habe ich eine Variable gesetzt (wie verstanden) (Set Tina) und die Kopf Rotation aus dem character Tina gemacht.



    irgendwie habe ich da was falsch.


    Client bewegt sich Server sieht das auch. /// Server bewegt sich Client sieht das nicht.

    Die sche.... Variablen bringen mich um den Verstand. Habe auch noch einen zweiten Tread offen wo die Variablen nicht für alle Repliziert werden.Das scheint für mich ein echtes Problem zu sein. Meine Logik kommt da einfach nicht hinter.


    Darf ich noch einmal so frech sein und dich noch einmal bitten mir das noch einmal zu erklären. Was habe ich an deinem Beispiel falsch gemacht. Musste ich eine Kopfrotation-variable einführen? und Set Tina? war das so gemeint:


    Gruß

    • Hilfreich

    So meinte ich das im Anim Graph


    Am besten KEINE Variablen im Animation Speichern, weil das führt nur zu Problem.

    Ich rufe alle meine Variablen genau so ab wie oben, immer über den MyCharacter -> get xyz



    Also im Anim Blueprint, wo du dein "CastToTina" hast, dort Set Tina, das Set Rotation danach löschen!

    Weil man ruft alle Variablen in den Animationen direkt vom MyCharacter (Tina) ab.




    In deinem MyCharacter (Tina) dort die Kopfrotation (Rotator) NUR über den Server laufen lassen, NICHT über MultiCast!

    Sonst führt das auch zu Fehlern.


    Ich hoffe das konnte dir weiterhelfen.

    Das KopfRotations Zeugs was ich verwende ist an die Körperrotation gebunden, also ein anderes System.