Add Impulse in Richtung Spieler

  • Hallo,

    ich benötige mal eine Anregung um als Programmieranfänger in die richtige Denkweise gesteuert zu werde.


    Zu meinem Anliegen:


    Ich habe mit meinem 3th-Person Char ein Gegenstand(Sphere) aufgenommen und per Socket an die Handgesetzt.

    Nun möchte ich diesen Gegenstand werfen. Im Moment wirft er den Gegenstand nur einfach in eine zufällige Richtung.


    Mir fehlt also die richtige Eingabe bei Add Impulse (Impulse). Ich habe bereits versucht die Kamera auszulesen über WorldRotation

    den ForwardVector des Chars usw... Ich möchte den Ball gern nach der Kameraausrichtung werfen.. also wenn ich leicht hoch schaue

    soll er die Sphere(Stein) auch hoch werfen.


    Wer total lieb wenn jemand mir mal einen Tipp oder einen Lösungsweg aufzeigen würde.

    Hänge hier einfach fest.

    Das "Cast to Third..." ist drin damit ich an den Char und Kamera komme..

    Wäre evtl. ein Linetrace von der Kamera zur Screenmitte ein weg ? Aber dürfte

    doch eigentlich nicht so schwer sein oder?


    Danke Olli

  • Hallo


    Deine Idee mit der Kamera funktioniert. Du nimmst einfach den Forward Vector von der Kamera und multiplizierst diesen mit der Stärke die dein Schuss haben soll. Diesen neuen Vector nutzt du als Startpunkt für den Impuls. Damit kannst du in alle Richtungen korrekt werfen.

    Du kannst die Kamera i.d.R. von deinem Pawn beziehen, den Pawn kannst du, fallsn nötig, mit GetPawn holen.


    Gruss

  • Lieben Dank,

    hatte das eigentlich schon ausprobiert.... aber irgendwie wollte es nicht klappen :)


    Habe jetzt noch ein BreakVector und Make Vector eingefügt, damit geht es plötzlich besser... ??

    Das Problem liegt aber noch darin das die Sphere in der Hand durch die CollosionCapsule des Chars.

    abgelenkt wird. Oder durch diese gleich wieder aufgefangen wird, da ich damit ein OverlapEvent auslöse.

    bei BeginOverlap wird die Funktion Sphere-Aufnehmen ausgelöst... Wenn ich diese ausschalte und nur als OverlapEvent nutze fällt der Char natürlich durch den Boden...


    Lieben Dank... war auf jeden Fall eine ganz tolle Hilfe und schon mal ein Lösungsansatz..


    Gruß Olli

  • Hey


    Also um das Problem mit dem Overlap zu lösen, würd ich ein boolean hernehmen, der definiert ob er im Moment ein Stein hält.

    Dein Overlap prüft dann mit dieser Variable, bevor ein Stein gefangen wird, ob er in überhaupt fangen kann oder eben nicht, nämlich dann nicht, wenn er bereits ein Stein hat. Wenn du dann den Stein wirfst, stellst du sicher, dass du erst wieder kurze Zeit, nachdem der Stein geworfen wurde, wieder einen neuen Stein fangen kannst.


    Alternativ könntest du dir auch merken, durch eine Variable, welcher Stein zuletzt geworfen wurde, und diesen für kurze Zeit "nicht fangbar" definieren, indem du das bei OnOverlap durch eine Branch prüfst.


    Warum das mit make und break besser funktioniert kann ich mir nicht erklären.

    Gruss


  • Hi,

    das mit dem 100 drauf addieren hat etwas geholfen... warum auch immer... zumindest wirkt alles etwas

    flüssiger... Das mit der Kameraausrichtung war der Tipp !!! Das mit dem Overlap habe ich wirklich mit einem Delay gelöst der 1 Sek. wartet bevor etwas wieder aufgenommen werden kann. Das ermöglicht jetzt auch ganz andere Spielkomponenten... Strafzeiten um wieder etwas aufzunehmen usw...


    Lieben Dank, dass Ihr Euch kurz die Zeit genommen habt :)


    Gruß Olli