Gravity Gun

  • Ich möchte eine Gravity Gun entwickeln und überlege wie ich das genau umsetzen soll. Ich will das man auf die Objekte, die man anziehen kann nicht exakt genau zielen muss, sondern auch dann anziehen kann wenn man leicht daneben zielt. Sobald ein Objekt innerhalb eines bestimmten Einflussbereichs der Gravity Gun ist soll es abhängig von der Entfernung angezogen werden.


    Wie würdet ihr das umsetzen? Ich denke an eine Trigger Box die unsichtbar vor der Gravity Gun angebracht ist, sobald ein Objekt sich innerhalb des Trigger Box befindet, wird es über Add Impulse Richtung Gravity Gun beschleunigt.

  • Evtl sonst noch nen ShapeTrace wie z.b. CapsuleTraceByChannel


    https://docs.unrealengine.com/…ts/index.html#shapetraces


    Entfernung lässt sich ja einfach einfach messen. Vector-Vector das Ergebnis zu "vectorlength" was die Entfernung als float ausgibt.



    Bei Unity gab es sonst noch ne Funktion wo man direkt Objekte im ScreenSpace abfragen konnte.
    Kann mir gut vorstellen dass die funktion auch in UE4 vorhanden ist.
    Dann könntest du z.b. angeben sowas wie (geb mir alle items in Radius X von Mitte des Displays)
    Oder halt ScreenSpace to WorldSpace und dann halt das ergebnis filtern.


    Das wären so meine ideen :)

  • Es gibt ein Beispielprojekt wo es schon die Funktion einer solchen Gravitygun geben soll.
    Letzten Endes kann man in dem Projekt Gegenstände aufnehmen und wegwerfen, ist aber ja eigentlich das gleiche Prinzip nur das man bei der Gun noch ein paar Effekte und die Waffe dazu zaubern muss.


    Ich kann das Projekt gern mal raussuchen wenn du willst, drin suchen musst du aber selber und ich weiß das nur von hörensagen, habs selber in dem Projekt nicht ausprobiert.
    Ist in nem Beispielprojekt für KI Verhalten.