![Falcon Age landet morgen im Sturzflug auf PS4 und PSVR](https://blog.de.playstation.com/tachyon/sites/13/2019/04/unnamed-file-47.jpg?presign=X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Security-Token%3DIQoJb3JpZ2luX2VjEBEaCXVzLWVhc3QtMSJGMEQCIB4kHZzBxP77Yzo68u1YMXlRpfxNdgv3lGKHxyGDTBuyAiBJNa8oYmv49tIkV6X%252F6kPMdd8ZRvwW0tH2Jx9plvEMTCr9Awg6EAAaDDU3NzQxODgxODQxMyIMGFO%252Bly277vbTWYJWKtoDJOMilvsFiEUVqOKyeOBJbmw%252FhvEB85FAXKfyNRV0iDtpKTIkOcROTLpMm3sp%252Fhpt%252FNoQBHcv2c93aa7ilqoxkUG2MOy1EUedlRxkqv0MbRW2YyyuyX3i6gCdG%252B1AtdAHXLo8FTI9gjK2jnW%252B%252FnH7MoI0cJiZUzhFzuFcvlE362vj9EHfg1I4aoP9bR1AU5ibC3%252FNN3VkQty6V5YzRZOULG%252B4NgQ9GHys4HQ9oVPXMyie%252BYXT9yjQOzWi5TduB7kcFkpZjE9Mlyhcw14HckeKKfOoiAfvRIc8bB7zSd%252BLoMp%252BjU%252FKXfDGedp3SzSL1tFRnKywFuCp9CLrbPD011nPSExN6gvxJbiY31FwHNP8qK8XLCGbCTHYdmcPqqDN1mGJywPVmSbN4wRgFE1VK4lzdF3YZfjCPFtpOqKi2aHmCDXVtl1U6jM1Td6hQzv4IOI28duB6f7Dt5Y8f6aOkZ1dN6Pnd0kXVg0Uw4jXN6ggd3NvVGkdyvoFigBGaoYRd1O%252F6BPPO%252FRyaq27ZA9FZzz%252FcphSH4vAqvRLL7%252BjHICznPyVJhvmfEyNjOiLMPIoVu%252Bp2Oc7XhqTs5ZDvTGy67r6qOkBnB%252BtAzB6%252FobcGQ18oIAB3CBhQNEoPUpKMIvq87YGOqYBiLc2nj0Lw5gArojdjSyoWC9%252F%252BKaBgtNSnIzbanw3k8GZUrEPKv42M0XwEYu8EwwVF6FXM1woxl8n1WqsfLR3jjeGM9W2PLlN%252BvM4vkmi5HAjF5xy6j4hQaGfWJw%252FIvtMvWCZZD2Y7RLsEVZBkErMmMhKI8nbBGjQuSO1Cj3UCEG4xkta6IV%252F7eCYZbpELDINzQd6Vx76R44qKD9p%252FpOnuHqoj27Ptw%253D%253D%26X-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Credential%3DASIAYM4GX6NW3O3RMJHT%252F20240908%252Fus-east-1%252Fs3%252Faws4_request%26X-Amz-Date%3D20240908T005641Z%26X-Amz-SignedHeaders%3Dhost%26X-Amz-Expires%3D900%26X-Amz-Signature%3D2f82dba693f64a05c15c1480a1e7ff6030ce0e95ce351899107f6e755714056a&resize=1088%2C500&crop_strategy=smart)
Ein detaillierter Einblick, wie dem namensgebenden Falken Leben eingehaucht wurde
Chandana Ekanayake, Creative Director, Outerloop Games
Falcon Age ist ein Spiel über Ara, die eine tiefe Bindung aufbaut, jagt, kämpft und ihr Land aus den Klauen automatisierter Kolonisatoren befreit. Es ist ab morgen im PlayStation Store für PS4 ohne VR verfügbar – falls ihr aber PS VR-Besitzer seid, könnt ihr euch in virtueller Realität um einen Falken kümmern und ihn streicheln.
Wir haben viel Zeit damit verbracht, den Falken so zu gestalten, dass er wie ein wahrheitsgetreuer Jagdvogel aussieht und auch so wirkt. Lasst uns euch einen tiefen Einblick in das Design des Falken sowie seine Animation, das Rig-Setup und die Federtechnik gewähren.
Das Design des Falken
Unser Falkendesign kombiniert mehrere Greifvogeltypen miteinander. Sie ist so groß wie ein Goldadler, kämpft wie ein Habicht, ähnelt einem Keilschwanzadler, hat teilweise eulenartige Gefiederbüschel und besitzt die Neigungen eines Falken. Sie ist eine der letzten ihrer Art in unserer Welt, daher wollten wir ihr ein einzigartiges Aussehen für die Geschichte verpassen. Gleichzeitig sollte sie sich auch optisch während des Gameplays vom Himmel und den Wüstenlandschaften abheben.
Eine der frühen Inspirationen zu Falcon Age hatten wir aus Videos, in denen Goldadler große Bergziegen jagen. Das führte uns zu Recherchen über die Falknerei und schließlich zu der Idee, einen Falken als Haustier zu haben. Um diese Kernidee herum haben wir dann die Mechaniken und das Gameplay gebaut. Wir hatten früh einen groben Prototyp entwickelt, um unsere Ideen auszuprobieren.
Als wir zum ersten Mal erfolgreich in virtueller Realität nach dem Vogel gepfiffen und gesehen hatten, wie sich von seinem Anflug aus der Ferne bis zur Landung auf unserer Hand sein Maßstab verändert hat, wussten wir, dass wir dabei waren, etwas zu erschaffen, was der Kern eines einzigartigen Spiels werden könnte.
Animation und Rig
Tracking der Falkenfüße
Es gibt sehr viele Möglichkeiten für Animationen, aber keine stellte eine Musterlösung für die Probleme dar, die sich durch die spezifischen Bedürfnisse unseres Falkenfuß-Trackings ergaben. Inverskinematik-Einstellungen, Root-Motion und andere komplexe Plug-ins hätten den Job erledigen können … wenn wir ein größeres Team und mehr Zeit gehabt hätten. Wir wollten, dass das Ergebnis möglichst vorhersehbar ist, daher haben wir uns für eine auf mehreren Posen basierende Lösung mit 3ds Max entschieden.
Allerdings war der ausschlaggebende Grund, warum wir keine IK verwendet hatten, der, dass dies die beste Möglichkeit war, die uns in den paar Tagen eingefallen ist. Zu Beginn des Projekts hatten wir den Prototyp so schnell entwickelt, dass wir einfach keine Zeit hatten, nach anderen Lösungswegen zu suchen. Das war der zuverlässigste und am wenigsten unansehnliche Weg, den wir finden konnten und bei dem wir auch geblieben sind.
Was nicht kaputt ist, muss auch nicht repariert werden.
So haben wir uns vorgestellt, wie der Übergang der Klauen eines Vogels im echten Leben abläuft. Die Kugel ist die Faust, die an den Motion-Controllern von VR angebracht ist. Bei dieser Methode gibt es Einschränkungen. Die Klauen müssen einen großen Teil der Faust umschließen können und die Faust-Pose muss so kugelförmig wie möglich sein.
Kurz gesagt: Die Faust ist eine Kugel und die Füße des Vogels rotieren mit 30 Übergangsposen und Neupositionierungs-Animationen um sie herum, um die Füße wieder auf sie zu zentrieren, wenn sich die Kugel (die bewegende Hand) zu weit gedreht hat.
30 Blend-Posen um die Kugel
Durch eine Neupositionierungs-Animation können sich die Füße wieder zentrieren.
Und nach dieser schnellen Animation durch die neue Handbewegung beginnen neue Übergänge. Laut unserem Programmierer Justin ist das nichts weiter als einfache Quaternionen- und lineare Algebra. Und ich nehme drei Gleitkommawerte, die ich von ihm bekomme, und führe sie diesen Animationsübergängen zu.
Beim Babyvogel wird der zweite Knöchel des Zeigefingers als Kugel behandelt.
Der eine Sonderfall, bei dem das Kugelkonzept nicht funktioniert, ist wenn der Handschuh direkt nach unten zeigt. Wie unten abgebildet.
Wir hätten dieses Problem auf verschiedene Arten angehen können. Eine Möglichkeit war, dem Teil des Handschuhs, der den Unterarm bedeckt, eine Kollisionsabfrage hinzuzufügen. Der Vogel würde dann wegfliegen, wenn er sie auslöst. Letztendlich haben wir aber beschlossen, alles so zu lassen. So ist es besser für die Spieler, denn man kann sich in VR an der linken Hüfte kratzen, ohne dass der Vogel gleich wegfliegt. Außerdem würden die meisten Leute ihre Hände beim normalen Spielen nicht in dieser Position haben.
Es sei denn, sie spielen aus irgendeinem Grund im Handstand. Alle möglichen Animationen sehen im Handstand seltsam oder fehlerhaft aus.
Head-Tracking des Falken
Die Kurzfassung: Der Kopf (bone_Head) ist dem höchsten Objekt in der Skeletthierarchie des Vogels (bone_Root) direkt untergeordnet.
Die Position (nicht Rotation) von bone_Root folgt der Position des Motion-Controllers. bone_Head wirkt dieser Bewegung entgegen. Im Grunde handelt es sich um eine Hierarchie aus zwei Objekten, bei der ein Positionsübergang benutzt wird, um Bewegungen des übergeordneten Objekts zu begegnen und das untergeordnete Objekt in derselben globalen Position zu halten. Der restliche Vogelkörper nutzt eine Kombination aus 27 Posen, damit der Vogel so natürlich wie möglich aussieht.
Bei der Größe des erwachsenen Vogels erschien uns eine Translation von 12 cm in allen Achsen (24x24x24-Würfel) ideal, um den Stabilisierungseffekt zu erzielen, ohne den Hals zu sehr zu dehnen. Der Kopf bewegt sich am Rand dieses möglichen Bereichs, und wenn die bewegende Hand anhält, ist diese neue Position das neue Zentrum, an dem ein weiterer 24-cm-Würfel entsteht.
Vom mathematischen Standpunkt aus gesehen ist die Kopfsperre nur eine Vektortransformation mit ein paar Extras, um die Geschwindigkeit zu begrenzen, bei Überleitungen zu helfen und den Sperrpunkt zu bewegen, wenn er sich zu weit vom Körper entfernt, der Vogel aber noch in der Nähe ist.
Federn und Rendering
Die kleinen Körperfedern – oder Konturfedern – unserer Vögel flattern im Wind und reagieren auf die Hände des Spielers, wenn er über sie streicht, um das Gefühl der Tastinteraktivität zu verstärken. Um es kurzzufassen: Jede kleine Feder des Vogels wird wie viele Gras- oder Vegetations-Shader behandelt.
Durch mehrere sich überlappende Sinuswellen wird Rauschen berechnet, das durch die Federn flattert und sie lebendig wirken lässt. Das Timing ist durch einen zufälligen Wert pro Feder versetzt, der in der Vertex-Farbe gespeichert wird. Auch die Flatterbewegung wird mithilfe der Vertex-Farbe skaliert. Das heißt, der untere Teil der Feder bewegt sich nicht, die Spitze aber schon. Es bedeutet auch, dass sich längere Federn mehr bewegen als kürzere.
Anders als bei den meisten Gras-Shadern sollen sich die Federn aber nicht in zufällige Richtungen bewegen, wir können also keine globalen oder lokalen Raumrichtungen nutzen. Außerdem handelt es sich hierbei um ein komplettes Modell mit innerem Rig, was die Richtung noch dynamischer macht. Stattdessen verwenden wir eine Kombination der Vertex-Normalen und -Tangenten der Feder.
Dadurch bewegen sich die Federn hin und her und von einer Seite zur anderen im Verhältnis zu ihrer Ausrichtung. Das ist zwar nicht ganz akkurat, aber für so kleine Bewegungen auch nicht ganz verkehrt.
Für die Handinteraktionen hat die Hand des Spielers ein Skript, das den Knochen folgt und eine Liste von Kapseln erstellt, die die Form jedes Fingers nachbilden, sowie eine Kugel für die Handfläche. Ist die Hand in Reichweite, iteriert der Vertex-Shader die Liste der Kapseln, um die kürzeste Entfernung zu einer davon zu finden.
Dann reduziert er das Flattern, wenn es eine Überschneidung mit einer Kapsel gibt. Die Federn werden auch nach unten in Richtung des Körpers gedrückt. Die Kapseln sind übergroß, da die überlappenden Tests „weich” sind – es kommt zu keinem unmittelbaren ein-/aus-Effekt, sondern zu einem stufenweisen Wechsel. Es ist grob so eingestellt, dass sobald ein sichtbarer Finger die Federn berührt, die Bewegung komplett gestoppt wird und sie nach unten gedrückt werden.
Hier ist ein früher Test dieses Systems in Aktion. Ihr könnt sehen, wie die Federn auf die Kugel reagieren, bevor eine eigentliche Berührung erfolgt. Trotzdem ist die Interaktion überzeugend.
Das war eine kleine Kostprobe der Arbeit, die wir investiert haben, um den Falken visuell glaubwürdig zu gestalten. Wir hoffen, dass ihr Spaß haben werdet, euren Falken zu streicheln, hübsch zu machen, mit ihm zu jagen und zu kämpfen.
Kommentare sind geschlossen.