Real First Person Animation mit nur einem 3D file

  • Hey Leute könntet ihr mir vllt helfen...


    Ich hab da ein paar 3D Modelle noch aus einer anderen Engine, und würde diese gern benutzen.


    Jetzt zu meinem Problem also ich hab ein 3D Modell mit 1 Animation wo alle anderen Animationen enthalten sind.

    Frame 1-23 idle

    Frame 24-66 take

    Frame 67-88 fire

    Frame 89-134 Melee

    Usw usw usw


    Jetzt würde ich gerne wissen wie ich diese einfüge und wie ich jetzt genau dafür sorge das wenn ich zb. Eine Taste drücken eine Animation abgespielt wird oder sich eine variable ändert und dann auch ein anderes Set an Animation umgeschaltet wird welches auch in der 1 Animation enthalten ist zb. Wenn eine Pistole leer geschossen ist und der Schlitten hinten ist braucht Mann ja andere Animationen

    Frame 678-700 empty_idle

    Frame 701-703 empty_fire

    Usw


    Oder iff ammunition größer als 0 verwende reload Animation von frame x bis y und wenn sie gleich 0 ist reload Animation von frame z bis a


    Wie ich eine Projektillaufbahn hinzufügen kann

    Also das die Kugel je nach Kaliber eine unterschiedliche Reichweite hat und Kurve fliegt


    Wie ich generell einen Ammoncount hinzufügen kann


    Und wie verdammt ich ein Offset erstellen kann so das die Kamera nicht immer direkt der Maus folgt sondern mit einer Art Verzögerung erst wenn man in die nähe des Bildschirmrands kommt, die Waffe muss hier schon via der Projektillaufbahn immer direkt aus dem Lauf feuern und nicht wie in manchen spielen plump in die Mitte des Bildschirms


    Ich wäre so froh wenn wir so etwas zusammen verwirklichen könnten und sag schonmal danke Gruß Benjamin

    • Offizieller Beitrag

    Die Schuss Frage

    Du kannst Animationen mithilfe eines Animation Composite aufteilen.

    Im Content Browser:


    Rechtsklick → Animation → Animation Composite auswählen.



    Ganz grob (Angaben ohne Gewähr):

    1. Wähle z. B. Frame 24–66 aus

    2. Drücke den Shortcut S, um die Animation zu splitten

    3. Wiederhole das für alle Abschnitte, die du aufteilen möchtest

    4. Speichere jede Aktion einzeln (z. B. als AnimMontage oder separate Animation)


    Ich nehme an, du möchtest das über Blueprints und nicht per Code machen?


    Aus dem Kopf:


    Dafür brauchst du drei Variablen:

    1. CurrentAmmo (Integer)

      → Speichert die aktuelle Menge an Munition.

      Bei jedem Schuss: -1

      Beim Einsammeln von Munition: z. B. +10

    2. MaxAmmo (Integer)

      → Gibt an, wie viel Munition maximal möglich ist. Du rechnest intern immer deine Aktuelle Munitionszahl + was zu einesammelst hast. Ist diese Zahlt Größer als MaxAmmo ziehst du dieses Ergebniss vom Count ab.

    zb:

    1.Du hast 20 Schuss (Current Ammo) (B)

    2.(MaxAmmo) 30 Schuss (C)

    3. Du Sammelst 30 Schuss ein. (D)


    B = 20

    C = 30

    D = 30



    B + D = F

    F ist Größer als C (Branch)

    Dann F - C = G

    F - G = F


    20 (B) + 30 (C) = 50 (F)

    50 (F)ist Größer als Erlaubt 30

    Dann 50 (F) - 30 (C) = 20 (G)

    50 (F) - 20 (G) = 30 (F)


    Du hast also ein volles Magazin.


    Bei jeder Schuss kannst du abfragen ob du ausreichend Schuss hast. Über einen Boolean:

    1. IsReloading (Boolean)

      → Wird true, wenn CurrentAmmo <= 0.

      → Wird wieder false, sobald CurrentAmmo > 0 (z. B. nach einem Pickup).

    Verständlich: Bei jeder Schuss Prüfst du ob der Current Count = 0 ist. ( oder 0 oder kleiner)

    Ist der Count = 0 oder kleiner dann wird der Boolean "IsReloading" auf false gesetzt.


    Schießen ist jetzt nicht mehr möglich. Erst wenn du wieder Munition einsammelst wird der Boolean wieder auf True gesetzt.

    Schussabfrage per Branch

    Bei jedem Schuss fragst du mit einem Branch ab, ob du überhaupt noch Munition hast:

    • Wenn CurrentAmmo > 0:

      → Animation "Fire" abspielen

      CurrentAmmo - 1

    • Wenn CurrentAmmo <= 0:

      → z. B. Animation "EmptyFire" abspielen

      → ggf. Nachladevorgang starten

    Hier hab ich auch ein Video gefunden:

    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.


    PS.: Ich hab leider kein Vieo gefunden welches alle deine Fragen beantwortet.


    Die Frage bzw Kamera Offset:


    1.zb Einen Event Tick du fragst Get Mouse Position ab. ( Die Position deiner Maus X und Y)

    2.Du Fragt die Monitor Größe ab X und Y

    3.Über "VInterTo" Du werte Interpolieren. Dadurch wird die Bewegung Smoother.


    Das mal ganz grob. ich weiß nicht wie ich das im Detail zeigen soll.