{"id":11445,"date":"2020-04-09T08:32:16","date_gmt":"2020-04-09T06:32:16","guid":{"rendered":"https:\/\/www.centigrade.de\/?post_type=blog&#038;p=11445"},"modified":"2020-11-02T12:19:39","modified_gmt":"2020-11-02T11:19:39","slug":"charakter-design-fuer-games","status":"publish","type":"blog","link":"https:\/\/www.centigrade.de\/de\/blog\/charakter-design-fuer-games\/","title":{"rendered":"Charakter Design f\u00fcr Games am Beispiel von MightyU"},"content":{"rendered":"<p>In diesem Blogartikel wollen wir zeigen, welche Schritte notwendig sind, um einen Charakter in einem Spiel zu entwerfen. Als Beispiel dient das Forschungsprojekt MightyU, welches sich mit der Entwicklung einer spielerischen Anwendung zur Therapieunterst\u00fctzung von Kindern und Jugendlichen mit infantiler Cerebralparese (ICP) besch\u00e4ftigt.<\/p>\n<p><!--more--><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11446\" src=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Fuch-Scribble-Referenzzeichnung.jpg\" alt=\"Fuchs Scribble Referenzzeichnung\" width=\"900\" height=\"506\" srcset=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Fuch-Scribble-Referenzzeichnung.jpg 900w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Fuch-Scribble-Referenzzeichnung-300x169.jpg 300w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Fuch-Scribble-Referenzzeichnung-768x432.jpg 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<h2>Referenzzeichnung und die Auswahl des Tools<\/h2>\n<p>Das Tool unserer Wahl ist Blender. Es ist eine verbreitete 3D Software, die eine umfangreiche und sehr komfortable Werkzeugpalette bietet. Begonnen haben wir mit einer Referenzzeichnung des Fuchses. Hier ist der Charakter in der Regel in einer T-Pose zu sehen, die das \u201eNachbauen\u201c vereinfacht.<\/p>\n<p>Mit den Sculpting-Funktionen von Blender haben wir dann, zun\u00e4chst grob und dann immer feiner, die Proportionen der Figur ausgearbeitet. Man kann sich diesen Arbeitsschritt tats\u00e4chlich wie das Formen von virtueller Knetmasse vorstellen. Hier geht es in erster Linie darum, die richtigen Proportionen und die Silhouette der Figur zu treffen. Der Vorteil bei diesem Ansatz ist, dass man die Struktur und Aufl\u00f6sung des Polygonnetzes v\u00f6llig au\u00dfer Acht lassen kann und sich auf das Wesentliche konzentriert. Ist die grundlegende Form der Figur gefunden, k\u00f6nnen noch beliebig viele Details ausmodelliert werden.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11450\" src=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Fuchs-Knete-3D-Blender-Polygonnetz.jpg\" alt=\"Fuchs Knete 3D Blender mit Polygonnetz\" width=\"900\" height=\"506\" srcset=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Fuchs-Knete-3D-Blender-Polygonnetz.jpg 900w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Fuchs-Knete-3D-Blender-Polygonnetz-300x169.jpg 300w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/Fuchs-Knete-3D-Blender-Polygonnetz-768x432.jpg 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<h2>Aufl\u00f6sung des Polygonnetzes<\/h2>\n<p>Da unser Charakter in einer Echtzeitanwendung und nicht in einem vorberechneten Animationsfilm Verwendung findet, ist es nach der kreativen Ausarbeitung mit virtueller Knete anschlie\u00dfend noch notwendig, auf eine realistische und berechenbare Aufl\u00f6sung des Polygonnetzes zu kommen. Daher wird das hochaufgel\u00f6ste Polygonnetz (Knete) jetzt reduziert. F\u00fcr diesen Schritt gibt es unterschiedliche Methoden und Hilfswerkzeuge, die den Prozess vereinfachen und schon fast automatisieren k\u00f6nnen. In unseren Fall haben wir manuell auf der Oberfl\u00e4che der Knete ein zweites Netz definiert, das Form und Konturen des Modells aufgreift.<\/p>\n<p>Bei diesem Schritt wird im Idealfall auch schon an die sp\u00e4tere Animation des Charakters gedacht, indem man versucht, die Topologie des neu entstandenen Polygonnetzes entlang der sich sp\u00e4ter stark verformenden Regionen zu ber\u00fccksichtigen. Zu diesen Regionen z\u00e4hlen z.B. Schultern, Ellbogen, Knie und auch die H\u00fcften.<\/p>\n<p>Als n\u00e4chstes kann man sich entscheiden, ob man sich erst um die Texturierung der Figur oder doch um die Vorbereitungen f\u00fcr die Animation k\u00fcmmert. Wir wollten uns zun\u00e4chst sicher sein, dass das Polygonnetz genug Aufl\u00f6sung f\u00fcr Animationen bietet und fokussierten uns somit auf die Animationen.<\/p>\n<p>&nbsp;<\/p>\n<p><div class=\"MediaEmbedContainer\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/rdntCfSXy9I\" width=\"780\" height=\"450\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">?<\/span><\/iframe><\/div><\/p>\n<h2>Die Figur bewegbar machen<\/h2>\n<p>Um der Figur Bewegung einzuhauchen, ist ein wenig Vorbereitung notwendig. Man kann sich den Aufbau eines Animationssystems f\u00fcr Charaktere in etwa wie in der echten Anatomie vorstellen, nur stark abstrahiert. Die \u00e4u\u00dfere H\u00fclle der Figur wird von einem inneren Skelett getragen. Bewegt sich das Skelett, folgt der K\u00f6rper. Hierzu wird ein Rig bestehend aus Knochen in das Polygonnetz eingezogen. Ein Knochen repr\u00e4sentiert dann eine bewegte Region, zum Beispiel Hand, Unterarm oder Oberarm. Der Prozess dieser Konstruktion wird im Video veranschaulicht.<\/p>\n<p>&nbsp;<\/p>\n<h2>Die Verkn\u00fcpfung von H\u00fclle und Skelett<\/h2>\n<p>Nun schauen wir uns an, wie Skelett und H\u00fclle verbunden werden, so dass sich durch Bewegung der Knochen auch die H\u00fclle mitbewegt. Hierzu ordnet Blender jedem Kochen im Skelett eine Gruppe an Oberfl\u00e4chenpunkten zu. Das Besondere dabei ist, dass die Punkte gewichtet zugeordnet werden. Das bedeutet, dass die Transformation des Knochens nur zu einem gewissen Prozentsatz die Transformation des Oberfl\u00e4chenpunktes beeinflusst. So kann sich das Polygonnetz beispielsweise an den Gelenken elastisch verhalten. Blender versucht initial die Gewichtung weitestgehend automatisch zu berechnen. Es muss aber an bestimmten Stellen manuell nachgebessert werden. Das passiert mit dem Weightpainting.<\/p>\n<p><div class=\"MediaEmbedContainer\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/LePJlVtIxCw\" width=\"780\" height=\"450\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">?<\/span><\/iframe><\/div><\/p>\n<p>Beim Weightpainting werden die Gewichte der Oberfl\u00e4chenpunkte durch einen virtuellen Pinsel zugeordnet. Dabei symbolisiert Blau kein Gewicht und Rot volles Gewicht. Gelb und Gr\u00fcn sind dann Zwischenwerte. Mit dieser Methode ist es anschlie\u00dfend m\u00f6glich ungewollte Verformungen der H\u00fclle zu gl\u00e4tten oder gewollte Verformungen aufzubauen.<\/p>\n<p>&nbsp;<\/p>\n<h2>Das waren die Grundlagen des Charakter Designs, so geht es weiter<\/h2>\n<p>Die bis hier beschriebenen T\u00e4tigkeiten bilden die Grundlage f\u00fcr die weiteren Entwicklungsschritte eines Game-Charakters, welche wir in einem folgenden Blog-Beitrag weiter beleuchten werden. Als kleiner Teaser gibt es im letzten Video-Clip einen Vorgeschmack, wie der Charakter sich in Zukunft bewegt und innerhalb einer Gameengine dargestellt wird.<\/p>\n<p><div class=\"MediaEmbedContainer\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/0xS7-b-hiEo\" width=\"780\" height=\"450\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">?<\/span><\/iframe><\/div><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"author":21,"featured_media":0,"template":"","tags":[492,794,793,760,782,608],"class_list":["post-11445","blog","type-blog","status-publish","hentry","tag-3d","tag-blender","tag-charakter-design","tag-game-design-de","tag-gamification-de-2","tag-mightyu"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/blog\/11445","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/users\/21"}],"version-history":[{"count":12,"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/blog\/11445\/revisions"}],"predecessor-version":[{"id":11732,"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/blog\/11445\/revisions\/11732"}],"wp:attachment":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/media?parent=11445"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/tags?post=11445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}