Die Biped-Gruppe ist eine spezielle Gruppensimulation, die durch die komplexen Bewegungsabläufe von zweibeinigen Tieren bedingt ist. Die Fortbewegung eines Bipeds legt eine komplexe Dynamik an den Tag und erfordert sehr genaue IK-Beschränkungen der Füße. Daher sind die sich sanft krümmenden Bewegungsbahnen, die aus den Bewegungsparametern der Vertreter berechnet werden, zwar für Vögel, Fische, Insekten und Schlangen geeignet. Sie sind jedoch nicht ausreichend für die Animation der mikrostrukturellen Bewegung zweibeiniger Figuren. Folglich sind einige Funktionen in Crowd speziell auf die Animation zweibeiniger Figuren ausgerichtet.
Animierte Motion-Clips bilden die Grundlage für das Repertoire an Biped-Bewegungen. Damit lässt sich der erforderliche Detaillierungsgrad erzeugen. In anderen Worten: Während einer Biped-/Crowd-Simulation haben die Vertreter keine Auswirkung auf die Bewegungen des Bipeds. Sie dienen lediglich dazu, mithilfe von Clips im Bewegungsflussdiagramm Ziele zu setzen, die zu erreichen sind. Mit diesem Ansatz, der sogenannten Bewegungssynthese, ist der Animator in der Lage, die Einzelheiten der Bewegung genau zu steuern. Dies erfolgt entweder über Handanimation oder durch Motion Capture, um einen Satz an Motion-Clips zu erstellen, die das Verhalten eines Mitglieds in der Gruppe genau beschreiben.
Wenn Sie z. B. eine Gruppe von Marathonläufern animieren möchten, die sich ihren Weg durch die Straßen einer Stadt bahnt, benötigen Sie Motion-Clips für verschiedene Arten von Gehen, Ausführen, Jogging, Ausruhen, Wasser trinken, Jubeln, usw. Im Endeffekt wird jede Bewegung, die Sie bei einem Marathonlauf erwarten würden, durch einen Clip repräsentiert. Bewegung sollte jedoch mehr sein als eine unzusammenhängende Sammlung von Clips. Sie müssen auch die Reihenfolge beachten, in der die Bewegungen ablaufen könnten. Welche Bewegungsübergänge sind in einem bestimmten Motion-Clip möglich?
Damit Sie diesen Vorgang so gut wie möglich verstehen, sollten Sie sich eingehend mit diesem Thema befassen und sich die Vorgehensweise unter Verwenden von Bipeds in Crowd-Simulationen ansehen.
Der Bewegungsfluss eines Bipeds dient dazu, separate Bewegungen zu einer flüssigen Animation zusammenzuführen. Das Bewegungsflussnetzwerk beschreibt also, welche Bewegungen auf andere Bewegungen folgen können. Sobald das Bewegungsflussnetzwerk definiert ist, ist aufgrund der unterschiedlichen Pfade im Netzwerk eine breite Palette an animierten Aktionen möglich. Ein Pfad durch das Netzwerk wird in Biped Bewegungsfluss-Skript genannt.
Das Beispiel unten zeigt ein Bewegungsflussnetzwerk.
Dies ist ein recht einfaches Netzwerk möglicher Bewegungen, da die Figuren nur in der Lage sind, ihre Bewegungen zu beginnen und zu stoppen, sich um 90 Grad nach links und rechts zu drehen (walk_L90 und walk_R90) und eine Kehrtwendung zu machen (walk_180). Um nun in einer Gruppe natürlicherer Bewegungsabläufe zu erzielen, sollten Sie kürzere und feinere Bewegungsvarianten in das Bewegungsflussnetzwerk aufnehmen, z. B. das Drehen in Intervallen von 45 Grad, das Bewegen in unterschiedliche Richtungen bei gleichbleibender Blickrichtung, schlendernde Bewegungen und Bewegungen mit unterschiedlichen Geschwindigkeiten. Die Biped-Bewegungsbibliothek umfasst eine Vielzahl von Clips, mit denen Sie experimentieren können.
Ideale Bewegungsflussdiagramme enthalten sehr feine Übergänge. Zur Überprüfung der Bewegungsflussübergänge erstellen Sie während der Erzeugung des Diagramms Testskripts: Fügen Sie dem Diagramm Clips hinzu, fügen Sie die nötigen Übergänge hinzu, und optimieren Sie diese anschließend. Zu Beginn bietet sich die Funktion zur Optimierung der Übergänge an, die in den meisten Fällen reibungslose Übergänge erzeugt. Dann erstellen Sie ein neues Skript, in dem die Übergänge verwendet werden. Verfeinern Sie den Bewegungsfluss anschließend mithilfe des Skripts, bis die Füße nicht mehr schleifen.
Durch die Möglichkeit der gemeinsamen Verwendung von Bewegungsflussnetzwerken können mehrere Bipeds auf ein und dasselbe Bewegungsflussnetzwerk zugreifen. Daher können große Bewegungsflussnetzwerke erstellt werden, ohne dass der Arbeitsspeicher des Computers belastet wird.
Sie können einem Biped ein Verhaltensziel zuweisen, indem Sie es mit einem Vertreter im Crowd-System verknüpfen und dem Vertreter anschließend Verhaltensweisen zuordnen.
Die Verhaltensziele der einzelnen Biped-Vertreter im Beispiel oben sind beispielsweise folgende:
Während einer Biped-Crowd-Simulation versucht Character Studio, für jedes Biped-Mitglied der Gruppe das beste Bewegungsfluss-Skript zu berechnen, das die Verhaltensziele der mit dem Biped verknüpften Vertreter erfüllt. In anderen Worten:
So wird die Simulation im Beispiel immer den am besten geeigneten Geh-Clip im Netzwerk auswählen, der den Biped-Vertreter zur Kugel führt. Jedes Biped-Skript entwickelt sich, während es von der Crowd-Operation "Lösen" berechnet wird. Dies ähnelt einer Spiel-Engine in Echtzeit insofern, als die Auswahl des nächstbesten Clips für einen bestimmten Biped durch den aktiven Clip begrenzt ist.
Da die Bipeds in einer Gruppe immer Bewegungsfluss-Skripts folgen, zeigen Bipeds ein anderes Ausweichverhalten. Im Gegensatz zu normalen Vertretern können Biped-Vertreter sich nur entlang von Bewegungsfluss-Skriptpfaden fortbewegen. Wenn also eine Kollision erfolgt, führt Character Studio eine Rückverfolgung zum vorherigen Clip im aktuellen Skript durch und sucht einen anderen Pfad. Die Berechnung kann bei komplexen Gruppenbewegungen einige Zeit in Anspruch nehmen, da eine einzige Rückverfolgung möglicherweise nicht ausreicht. Bei der Berechnung werden von einem bestimmten Rückverfolgungs-Clip aus alle Pfade untersucht. Falls dies fehlschlägt, wird eine Rückverfolgung zum vorherigen Clip durchgeführt, bis eine Lösung gefunden ist.
Angenommen, das aktuelle Skript eines Bipeds lautet folgendermaßen:
walk_start walk walk_L90
Falls nun während des Clips walk_L90 eine Kollision erfolgt, wird der Biped bis zum Ende des Clips walk zurückverfolgt, und es wird versucht, einen anderen Clip an Stelle der fehlgeschlagenen Linksdrehung auszuführen. Wenn dies auch fehlschlägt, wird die nächstbeste Auswahl ausprobiert usw.
Damit die Berechnung der Rückverfolgung bewältigt werden kann, werden die Pfade der einzelnen Mitglieder der Biped-Gruppe nacheinander nach Priorität berechnet. Somit entsteht die Interaktion der Gruppe durch Hinzufügen der einzelnen Bipeds zur Animation. Anders ausgedrückt, für jeden einzelnen Biped wird die gesamte Animation berechnet, wobei die bereits berechneten Bipeds umgangen werden. Daraus ergibt sich, dass der Biped mit der niedrigsten Priorität normalerweise mit den meisten Kollisionen zu kämpfen hat, da er allen Bipeds mit höherer Priorität ausweichen muss.
Für die Erstellung von Biped-Crowd-Simulationen benötigen Sie mehrere Bipeds. Da die Crowd-Simulation bei der Zuweisung von Clips zum Biped die Beinlänge der einzelnen Bipeds einberechnet, ist Ihre Simulation genauer, wenn die Bipeds von Anfang an die richtige Größe haben.
Ein möglicher und unkomplizierter Arbeitsablauf wäre z. B. der folgende:
Auf diese Weise lassen sich die Figuren einfach in der Crowd-Szene zusammenführen. Beim Zusammenführen der Figuren sind die Netze selbst ausgeblendet, was der Arbeitsgeschwindigkeit des Systems zugute kommt.
Die Clips, die Sie für eine Biped-Crowd-Simulation verwenden, können aus den 3ds Max beiliegenden Beispielen geladen, aus Motion Capture-Dateien importiert oder vollkommen neu erstellt werden.
Die Integrität der Übergänge zwischen den Clips im Bewegungsflussnetzwerk ist für die Erstellung von Biped-Crowd-Simulationen von großer Bedeutung. Werden Übergänge für einen einzelnen Biped erstellt, lassen sich die einzelnen Übergänge problemlos korrigieren, nachdem das Bewegungsfluss-Skript erstellt wurde. Bei Crowd-Simulationen aber wäre die Korrektur der Übergänge für jeden einzelnen Biped nach Fertigstellung der Simulation äußerst zeitaufwendig. Daher ist es wesentlich effizienter, dafür zu sorgen, dass die Übergänge schon vor Beginn der Simulation alle korrekt sind.
Dieser Prozess lässt sich erleichtern, wenn Sie alle Bewegungen so einrichten, dass jede einen idealen Übergang mit genau derselben Anzahl der Frames, z. B. 10 oder 15, hat. Anschließend können Sie die Übergänge für diese Länge optimieren. Dann werden alle oder fast alle Übergänge fehlerfrei funktionieren.
Erstellen Sie zur Überprüfung der Übergänge ein einfaches Skript für einen Biped, und verwenden Sie dabei verschiedene Übergänge im Diagramm. Überprüfen Sie die Bewegung, und bearbeiten Sie die Übergänge einzeln so lange, bis sie ordnungsgemäß funktionieren. Auch wenn diese Methode nicht immer alle problematischen Übergänge zutage fördert, kann auf diese Weise doch der größte Teil ausfindig gemacht werden. Ein problematischer Übergang ist z. B. einer, bei dem die Füße nicht laufen, sondern eher springen oder hüpfen. Auch alle anderen unerwünschten Änderungen im Laufe eines Übergangs können dazugezählt werden. Weitere Informationen finden Sie unter Anpassen von Übergängen.
Überprüfen Sie die Simulation nach dem Lösen der ersten Crowd-Simulationen erneut auf eventuell noch unentdeckte problematische Übergänge. Nach einigen Simulationen haben Sie dann wahrscheinlich alle oder fast alle problematischen Übergänge gefunden.
Einige Funktionen des Crowd-Systems sind nicht für den Einsatz mit Biped-Gruppen ausgelegt. Diese Verhaltensweisen und Parameter haben keinen Einfluss auf die Bewegungen der Gruppen, wenn in der Simulation Bipeds verwendet werden.
Die folgende Verfahrensbeschreibung enthält die Grundschritte, mit denen Sie ein Bewegungsflussdiagramm erstellen und speichern, Vertretern mehrere Bipeds zuweisen und dann das Bewegungsflussdiagramm gemeinsam von den Bipeds verwenden lassen, sodass Character Studio automatisch basierend auf den Verhaltensweisen des zugehörigen Vertreters separate Bewegungsflussskripts für die einzelnen Bipeds erstellt.
Als Erstes erstellen Sie ein geeignetes Bewegungsflussdiagramm und speichern es auf der Festplatte.
So erstellen Sie einen gemeinsamen Bewegungsfluss:
Dadurch wird ein Dialogfeld zum Öffnen angezeigt, in dem Sie beliebig viele BIP-Dateien aus dem gleichen Verzeichnis auswählen können, die dem Bewegungsflussdiagramm gleichzeitig hinzugefügt werden. Wählen Sie durch Umschalt-Klicken (Klicken bei gedrückter Umschalttaste) mehrere zusammenhängende Dateien aus. Wählen Sie durch Klicken bei gedrückter Strg-Taste mehrere nicht zusammenhängende Dateien aus.
Die Dateien werden dem Diagramm als Clips hinzugefügt. Jeder Clip wird automatisch nach der Datei benannt, aus der er abgeleitet wird.
Als Nächstes fügen Sie Übergänge zwischen den Clips hinzu, damit Character Studio weiß, in welcher Reihenfolge die Aktionen durchgeführt werden sollen. Wenn Sie diesen Schritt manuell ausführen, haben Sie bessere Kontrolle über den Vorgang; für diese Erklärung reicht es jedoch aus, wenn Sie die Übergänge automatisch von Character Studio hinzufügen und optimieren lassen.
Das Diagramm enthält nun Pfeile von Clips zu anderen Clips sowie von jedem Clips zu sich selbst. Wenn Sie möchten, können Sie Übergänge löschen, die offensichtlich unsinnig sind, z. B. die von den End- und Ausgangsclips zu sich selbst.
Stattdessen können Sie auch mit (Übergang erstellen) ein eigenes Diagramm einrichten.
Wenn Sie die Simulation lösen, generiert Crowd basierend auf diesem Diagramm automatisch ein Bewegungsflussskript für den Biped. Wenn Sie wie in diesem Fall ein Diagramm mit mehreren Clips haben, wählt es den Ausgangsclip für das Skript aus einem oder mehreren Clips aus, die Sie als zufällige Ausgangsclips festgelegt haben.
Wenn Sie vor dem Fortfahren die Integrität der Übergänge überprüfen möchten, können Sie dies jetzt tun. Weitere Informationen finden Sie unter Anpassen von Übergängen.
Dadurch teilen Sie Character Studio mit, dass das Skript mit diesem Clip beginnen soll, wobei die Wahrscheinlichkeit, dass der Clip gewählt wird, als Vorgabe 100 % beträgt.
Wenn verschiedene Bipeds mit unterschiedlichen Clips beginnen sollen, wählen Sie mehrere zufällige Ausgangsclips aus, indem Sie beim Klicken die Strg-Taste gedrückt halten. Die Vorgabeeinstellung für "Wahrscheinlichkeit für Zufallsstart" beträgt für alle Clips 100, was bedeutet, dass Character Studio für das Skript jedes Bipeds willkürlich einen Anfangsclip unter ihnen auswählt.
Um die Wahrscheinlichkeit, mit der ein Clip als Anfangsclip eingesetzt wird, zu ändern, klicken Sie mit der rechten Maustaste auf den Clip und ändern seine Einstellung "Wahrscheinlichkeit für Zufallsstart". Angenommen, das Skript jedes Bipeds soll mit einem von drei Clips starten: Clip A, B oder C. Dabei soll Clip A doppelt so häufig wie Clip B oder C gewählt werden. In diesem Fall klicken Sie mit dem Hilfsmittel "Zufällige Ausgangsclips auswählen" zunächst auf Clip A und dann bei gedrückter Strg-Taste auf Clip B und C. Klicken Sie dann nacheinander mit der rechten Maustaste auf die Clips, und weisen Sie für Clip A einen Wahrscheinlichkeitswert von 60 und für die Clips B und C einen Wahrscheinlichkeitswert von 30 zu.
Als Nächstes müssen Sie eine Simulation erstellen.
So richten Sie eine Crowd-Simulation ein:
Sie müssen das Massenmittelpunkt-Objekt des Bipeds auswählen (das normalerweise den Namen "Bip0#" hat); der Mauszeiger verwandelt sich in ein Fadenkreuz, wenn er im aktiven Ansichtsfenster über dem Massenmittelpunkt liegt.
So weisen Sie einen gemeinsamen Bewegungsfluss zu:
Als Nächstes wenden Sie mit der Funktion "Gemeinsamer Bewegungsfluss" das gespeicherte Bewegungsflussdiagramm auf die Bipeds an.
Dadurch wird ein neuer gemeinsamer Bewegungsfluss erstellt, dem ein Vorgabename zugewiesen wird. Sie können diesen Namen nach Wunsch ändern.
Als Nächstes laden Sie eine Bewegungsflussdatei.
Als Nächstes geben Sie die Bipeds an, die diesen Bewegungsfluss gemeinsam verwenden sollen.
Zur einfacheren Auswahl werden im Dialogfeld "Auswählen" nur die Massenmittelpunkt-Objekte für die Bipeds in der Szene angezeigt.
Nachdem Sie auf "Auswählen" geklickt haben, werden die Bipeds im Dialogfeld in der Liste unter "Bipeds mit gemeinsamem Bewegungsfluss" angezeigt.
Im Dialogfeld "Gemeinsamer Bewegungsfluss" muss noch ein weiterer Schritt ausgeführt werden: Sie müssen den Bewegungsflussmodus für alle Bipeds aktivieren, die den Bewegungsfluss gemeinsam verwenden. Diese Aktion können Sie über eine spezielle Schaltfläche im Dialogfeld in nur einem Schritt durchführen.
Dadurch wird der Bewegungsflussmodus für alle Bipeds aktiviert, die den Bewegungsfluss gemeinsam verwenden.
So versetzen Sie die Vertreter und testen die Simulation:
Von Vertretern gesteuerte Bipeds können ihre Animation mit dem ersten Clip des Bewegungsfluss-Skripts (sofern vorhanden) oder mit einem zufälligen Motion-Clip beginnen. Wenn Sie jedoch eine Bewegungsflussdatei in das Dialogfeld "Gemeinsamer Bewegungsfluss" laden, werden alle Skripts in der Datei ignoriert. Deshalb stehen mit Vertretern verknüpften Bipeds, die einen Bewegungsfluss verwenden, in einer ungelösten Crowd-Simulation keine Skripts zur Verfügung, und Sie müssen angeben, dass Sie den zufälligen Ausgangsclip verwenden sollen, den Sie im Bewegungsfluss festgelegt haben. Diese Angabe nehmen Sie über die Vertreter vor.
Lassen Sie die Simulation berechnen.
Crowd löst die Simulation.
So nehmen Sie eine Feinabstimmung der Simulation vor:
Wahrscheinlich sind einige Anpassungen notwendig. Es gibt eine Reihe von Methoden zur Problemlösung: Ändern Sie die Einrichtung des Verhaltens und/oder des Bewegungsflusses, die Vertreterparameter usw.
Wenn Sie feststellen, dass Bipeds zusammenstoßen und sich durchdringen, können Sie die speziellen Crowd-Funktionen für Prioritäten und Rückverfolgung nutzen. Für die meisten Crowd/Biped-Simulationen wird die Verwendung beider Optionen dringend empfohlen.
Wenn Crowd nun die Simulation löst, wird die Lösung nacheinander für alle Bipeds und Vertreter berechnet, wobei mit dem Biped/Vertreter mit der niedrigsten Priorität begonnen wird. Bei der Lösung der nachfolgenden Bipeds/Vertreter sucht das Programm jeweils nach Kollisionen; wenn diese auftreten, wird die Lösung bis zum Ende des vorherigen Clips (oder wenn nötig um mehrere Clips) zurückgenommen, bevor das Programm verschiedene Pfade durch das Bewegungsflussdiagramm ausprobiert. Da diese Methode länger dauern kann, ist die Rückverfolgung als Vorgabe deaktiviert; es ist jedoch oft die beste Methode zur Lösung von Problemen mit zusammenstoßenden Bipeds.