BlendShape Animation In-Game ändern / mischen

  • Moin,

    wäre es irgendwie machbar, per Blueprints und Widgets In-Game ein Blendshape für Animationen zu erstellen?
    Als Beispiel:
    Ich habe ein Interface mit 'ner Liste verschiedener Animationen. Jetzt möchte ich gerne aussuchen können, welche Animation ich mit einander mischen möchte, ähnlich wie von Idle zu Walk und zurück etc. Das ich zum Beispiel sagen kann, ich mische Sprunganimation mit einer Schlaganimation und kurz vor der Landung kommt nochmal ne Rolle oder so etwas. Ich wähle also Animationen "Sprung"+"Schlag"+"Rolle" aus und so führt der Char dann zukünftig die Animation für einen Skill aus. Jetzt möchte ich allerdings ungern für sämtliche, mögliche Konstellationen bereits im Voraus das nötige Animation BlendShape erstellen müssen. Was halt sehr viele werden könnten, je nach Anzahl an Animationen.
    Ich hoffe es wurde verständlich, wie ich das meine...
    Weiß da jemand etwas oder hat ne Idee, wie man das umsetzen könnte?

    Ich denke man müsste eine Art Basis-Blendshape(s) erstellen und dann die einzelnen Animation in diesem BS InGame auslesen können und gegen die Ausgewählten austauschen irgendwie.

    • Offizieller Beitrag

    Ich glaube es wichtig zu verstehen wie Blendshapes funktionieren:


    Bei einem Mesh hat jedes Vertex eine eigene Postleitzahl (eine ID oder ein Index) diese vertices werden im Mesh zwischen den Blendshapes interpoliert. Ein Vertex hat Position A und das selbe Vertex hat Position B. Dies beiden Positionen werden bei Blendshapes interpoliert. Kommt eine 3. Position dazu wird zwischen allen 3 Vertex Positionen interpoliert.

    Im Grunde hast du das selbe Mesh mit den selben vertices die die selbe ID haben und diese beiden Blendshapes werden dabei überblendet.

    Du kannst nicht ein Krokodil in ein Nashorn verwandeln sofern es sich um zwei komplett unterschiedliche Blendshapes handelt. Möglich wäre das wie gesagt nur, wenn sich sich um die selbe Anzahl vertices handelt, und die die selben IDs haben.

    Bei Animationen, kannst du die Animation auf anderes Charakter übertragen bei Blendshapes geht das nicht.

    Jetzt möchte ich allerdings ungern für sämtliche, mögliche Konstellationen bereits im Voraus das nötige Animation BlendShape erstellen müssen.

    Das ist auch nicht die Idee bei Blendshapes: Willst du zb ein Facial Rigg bauen, musst du nicht alle Konstellationen aller Buchstaben im Alphabet erstellen. Viele Buchstaben sind sich sehr ähnlich und letztlich überblendst du auch verschiedenen Zustände und schaffst so Übergänge und neue Kombinationen.
    Bei Mimiken zb könntest du aus einer Schreimimik, einen Lachmimik, einer verwundert Mimik, einen komplett neuen Gesichtsausdruck schaffen.

    Du musst nicht alle Zustände erstellen sondern nur die wo extremsten Zustand ausdrücken.

    Zwischen diesen zuständen könntest auch ohne Probleme Ingame überblenden.


    Es gibt hierfür übrigens viele Beispiele die beschreiben welche Mimiken und Gesichtsausdrücke wichtig sind. Für facial rigs gibt es sogar ein eigenes Alphabet das zeigt welche Buchstaben wichtig sind und welche nicht.


    Ich hab das vor jahren mal im Studium gelernt aber seit dem nichts mehr damit gemacht auf die schnelle keine besseren Ergebnisse gefunden:


    http://www.santhoshkoneru.com/facial-blendshapes

    https://www.freepik.com/premiu…nciation-set_11267459.htm


    Ich hoffe dadurch dass du jetzt besser verstehst wie Blendshapes funktionieren und was man technisch gesehen mit ihnen anstellen kann.

  • Hey Sleepy,

    danke für deine Antwort. Die Links werden auf jeden Fall nochmal nützlich sein, ich muss mich allerdings entschuldigen, ich hatte mich verlesen und den falschen Begriff benutzt. Was ich meinte waren die Animation Blendspace und nicht Blendshapes. :)
    Aktuell ist das noch in der Brainstorming-phase, nichts konkretes, ich schaue gerade nur, in wie weit sich meine Vorstellungen da eventuell umsetzen lassen. Ich glaube was ich gesucht habe, waren Animation Montages und ein Melee Combo System.
    Die Idee ist jetzt, dass ich halt die Animationen für abgespielten Combos austauschen/wechseln kann, wenn man z. Bsp. drei Attacken hintereinander macht.
    Was ich so gesehen habe, könnte man alle Animation Montages dafür in ein Array packen und dann einfach auslesen lassen später im Interface und durch die Ausgewählten ersetzen.