Character folgt der Maus aber Camera wackelt ?

  • Hey,


    Hab schnell einen BP erstellt welcher bewirken soll das sich der Spieler mit dem Mauszeiger dreht also wie bei vielen Top Down Shootern auch.
    Bei mir funktionier das auch soweit nur wackelt bei schnellen Mausbewegungen die gesamte Camera ?!


    Hier mein BP:


    An was kann das liegen und wie entferne ich das wackeln am besten ?


    Danke! :)

  • Ich würde an deiner Stelle das Ue4 topdown tempmate nehmen, deinen Charakter mit dem Standart Charakter und die Standart Animationen mit deinen austauschen, dann hast du schon mal eine solide Basis. Danach versuch einfach das System ohne jeglichen Bezug auf die Kamera einzubauen.


    Ich kenne mich mit Blueprints aber wahrscheinlich noch weniger aus als du. Ich habe aber auch das Gefühl, dieser Psot ist ein bisschen untergegangen, dementsprechen dient dieser Beitrag auch als Push.

  • Einfach in den Project Settings in den Axis Bereich die Axis Turn erstellen.
    Dem Turn gibst du denn die Mouse X Achse.


    Danach gehst du ins Blueprint, öffnest dir den Input Turn und ziehst den mit dem Value auf die Funktion : Add Controller Rotation Yaw (Vielleicht musst du vorher den Haken bei der Vervollstädigung raus nehmen)


    Sind also nur 2 Boxen, und dein Player dreht sich nach der Maus

  • Einfach in den Project Settings in den Axis Bereich die Axis Turn erstellen.
    Dem Turn gibst du denn die Mouse X Achse.


    Danach gehst du ins Blueprint, öffnest dir den Input Turn und ziehst den mit dem Value auf die Funktion : Add Controller Rotation Yaw (Vielleicht musst du vorher den Haken bei der Vervollstädigung raus nehmen)


    Sind also nur 2 Boxen, und dein Player dreht sich nach der Maus

    Also so ? :



    Nur jetzt dreht sich ausschließlich die Camera und nicht der Player... Ne idee ?


    Danke aber :)

  • Schwer zu sagen ohne es zu sehen, es kann an den Scale Faktor von deiner Mouse X Achse liegen, er dreht sich schneller oder langsamer wenn du den Wert veränderst.
    Kann aber auch an anderen Einstellungen liegen, ist wie gesagt etwas schwierig ohne es zu sehen.


    Wenn du willst das die Figur sich immer genau zum Mauszeiger dreht, dann würde ich doch von den Controller Yaw Abstand nehmen (also wieder deaktivieren) denn so dreht sich der Char mit der Bewegung der Maus nicht zur Maus, das ist ein Unterschied.


    Willst du also das der Char immer zur Maus schaut, dann geht das so wie im Anhang.
    Dein erstes BP sah nämlich ungefähr danach aus.

  • Willst du also das der Char immer zur Maus schaut, dann geht das so wie im Anhang.


    Dein erstes BP sah nämlich ungefähr danach aus.

    Ja so wollte ich es, also der Char soll sich ganz normals mit "W,A,S,D" Bewegen können jedoch soll er sich unabhänging davon immer mit der Sicht zur Mausposition drehen.


    Hab alles wie bei deinem screen gemacht aber irgendwas stimmt nicht, da der Spieler sich jetzt GARNICHTMEHR zur Maus dreht.



    Ist da irgendwas falsch was ich grad nicht sehe ? ?(


    Danke!!! :D

  • Also get Hit-Result under Cursor kenne ich nicht wirklich, würde das persönlich durch folgendes ersetzen:


    Get Player Controller -> Get Mouse Position(https://docs.unrealengine.com/…tMousePosition/index.html) -> Convert Screen to World (https://answers.unrealengine.c…ation-to-world-space.html)


    Dann würde ich deine DeltaSeconds vom EventTick auch in das RInterpol tun und mit dem Interp Speed rumprobieren.


    Sonst müsste es eigentlich klappen =)


    Edit: Ähhhm evtl. auch den Sockelnamen in GetSocketLocation auch setzen (None sieht nach vergessen den Sockelnamen hereinzuschreiben) und auch überprüfen, ob der Sockel mit dem Namen definitv existiert und keine Schreibfehler aufgekommen sind.

  • Also ich habe das Skript angepasst (ein wenig entwirrt) da ich es dafür verwende den Turm meines Mechs auszurichten.


    So wie es dort steht sollte es funktionieren, habe kein Fehler erkennen können.


    Zunächst prüf bitte ob das "Use Controller Rotation Yaw" wieder deaktiviert ist, sonst klappt das nicht.
    Im Character Movement muss Orient Rotation to Movement anktiviert sein ... falls du es dort nicht findest schau auf die Defaultwerte denke dort muss es aber sein.


    Dein Turn musst du wieder entfernen, ansonsten stören die sich gegenseitig.
    Die Maus muss aktiviert sein.


    Mit diesem Skript dreht sich der Char nicht mit der Camera sondern er dreht sich unabhängig zur Mausposition.
    Ansosnten fällt mir grad keine Fehlerquelle ein.