Entwurf einer glaubwürdigen 3D-Persönlichkeit
Diplomarbeit von Guido Grottendieck
Motivation
Das Ziel meiner Diplomarbeit ist es, Konzepte einer modernen, anthropomorphen Benutzerschnittstelle zu entwickeln. Bei dem heutigen Fortschritt der dreidimensionalen Computergraphik, sowohl der theoretischen Grundlagen als auch der zunehmenden technischen Leistungsfähigkeit sowie einer großen Anzahl von Werkzeugen, ist mittlerweile eine Schnittstelle möglich, die auf dreidimensionaler Graphik basiert und auf den neusten PCs im Heimbereich annehmbar flüssig läuft.
Eine künstliche, aber lebensnahe bzw. glaubwürdige virtuelle Person ist daher ein interessanter Aspekt um den Anwender einfacher und besser mit dem Computer zusammenarbeiten zu lassen. Eine solche virtuelle Person soll im Kontext dieser Arbeit als ein Hilfeassistent verstanden werden, der die Funktion hat, den Anwender bei komplexen Aufgaben zu unterstützen. Deshalb muß der Avatar* auf Ereignisse oder Eingaben von außen reagieren können, und bei Bedarf mit dem Anwender in Kontakt treten können.
Forschungsrichtungen, die sich mit der Entwicklung von intelligenten virtuellen Agenten und lebensecht animierten Charakteren befassen, sind Grundlage meiner Arbeit. In der Fachliteratur spricht man von auch einem künstlichen Aktor ("synthetic actor") oder von einem glaubwürdigen Agenten** ("believable Agent"). Wie man es auch nennt: mein Anliegen ist es, eine scheinintelligente, möglichst natürlich anmutende 3D-Figur darzustellen, mit der Fähigkeit sich sprachlich gegenüber seinem menschlichen Gesprächspartner zu artikulieren und auf dessen Eingaben zu reagieren. Des weiteren soll er auch auf Ereignisse reagieren können, die durch andere Agenten ausgelöst werden.
Mit Hilfe eines Agentensystems*** wird auf abstrakter Ebene die Arbeit und Funtionalität der visuellen Person definiert. Der visuelle Avatar stellt die vom Agenten beauftragten Akte in Szene. Der abstrakte und im Hintergrund laufende Agent, der den visuellen Teil steuert, stellt im übertragenden Sinne das menschliche Gehirn dar. So bewirkt ein einfacher Akt wie z.B.:"Gehe zur Tür", daß der Avatar zu der nächsten Tür in seiner virtuellen Umgebung geht. Die Bewegungen bzw. die Animation des Avatars in dieser Szene sind dabei auf Natürlichkeit und Glaubwürdigkeit ausgelegt, sie sind dem natürlichen menschlichen Bewegungsapparat entliehen. Hierbei sei festgestellt, daß das Aussehen der Charaktere auf den simulierten Bewegungsapparat abgestimmt sein muß, d.h. daß ein Hund auch von der Körperstruktur her ein Hund sein sollte. Entscheidet man sich dafür ein Tier zu animieren, muß dessen spezielle Knochenstruktur, sofern vorhanden, adaptiert werden. In erster Linie soll hier aber von einer antropomorphe Gestalt ausgegangen werden. Insgesamt soll eine glaubwürdige 3D-Persönlichkeit entstehen, die mit einem eigenen Charakter behaftet ist.
Ein nächster, schon angesprochener Punkt sind Sprechakte, die vom Avatar ausgehen. Die möglichst natürliche Interaktion mit dem glaubwürdigen Avatar erfordert es, daß natürlichsprachige Ein- und Ausgaben angeboten werden. Dadurch, daß die Programmierung modulartig erfolgt, ist es möglich, Spracherkennungssoftware für die Spracheingabe und Sprachsynthesizersoftware für die Sprachausgabe einzusetzen. Daher ist die Ein- und Ausgabe zweigleisig: die Standard Ein- und Ausgaben, sprich Tastatur und Bildschirm in textueller Form, werden weiterhin angeboten. Für die Sprachausgaben ist vorgesehen, daß ein zu sprechender Satz des Avatars als Untertitel erscheint. Gleichzeitig wird eine simple Lippenanimation synchron zu der synthesierten Sprachausgabe abgespielt. Für Spracheingabe ist jede Software denkbar, die aus einem vom Anwender gesprochenen Satz einen Textstring bildet.
Ein weiterer Punkt, der implizit angedeutet wurde, ist der, daß sich der Avatar in einer virtuellen Umgebung befindet. Diese Umgebung soll ihm bekannt sein, damit er sich darin bestens auskennt. Es ist nicht Gegenstand dieser Arbeit, auf Veränderungen innerhalb dieser künstlichen Welt zu reagieren. Kollision mit anderen Objekten sollen auch nur beschränkt beachtet werden. Wichtig ist vor allem, daß die virtuellen Umgebung keine Phantasiewelt darstellt wie in vielen Spielen. Vielmehr soll eine alltäglicher Ort dargestellt werden, der die Glaubwürdigkeit der virtuellen Person unterstreicht.
* Ein Avatar ist eine dreidimensionale Spielfigur.
** Agenten sind Prozesse oder Programmfäden, die eine genau spezifizierte Aufgabe bzw. ein festgelegtes Verhalten haben. Dabei können sie autonom arbeiten, wenn sie keine Einflüße von außen zulassen, oder reaktiv arbeiten, wenn sie Ereignisse von außen wahrnehmen und diese in eine Aktion umsetzen oder sie können proaktiv sein, wenn zum reaktiven auch eigene Initiative ergreifen bzw. eigene Entscheidungen fällen können. Ein sozialer Agent ist in der Lage mit anderen Agenten zu kommuniziern. Die Verhaltenregeln, denen jeder Agent gehorcht, können dabei mehr oder weniger komplex sein. Im komplexen Fall, benutzt man Verhaltensmuster aus der Psychologie oder Methoden der künstlichen Intelligenz(KI). Ein virtueller Agent ist demnach eine dreidimensionale Person(Avatar), die verhaltensgesteuert ist.
*** Ein Agentensystem ist die Plattform, auf der ein oder mehrere Agenten generiert werden. Das Agentensystem stellt oft eine eigene Skriptsprache bereit, mit der die Verhaltensregeln aufgestellt werden können.
Szenarium
Die Umgebung soll ein Ausschnitt aus einem Büro sein. Die 3D-Figur sieht menschlich aus und ist mit diversen Animationen behaftet. Das Verhalten ist zunächst darauf beschränkt, daß auf einen Eingabebefehl in textueller Form hin, eine bestimmte Animation abgespielt wird. Ist diese aufgetragende Animation mit einem Sprechakt belegt, so wird die Antwort synthetesiert und ausgegeben. In Phasen, in denen keine Ereignisse durch andere auf den Avatar erfolgen, werden stochastische Ereignisse erzeugt, die bewirken sollen, daß die Charaktere lebendig zu sein scheint. Zu bestimmten Zeiten soll auch eine Initiative vom Agenten ausgehen, die eine Antwort seitens des menschlichen Gesprächspartners erfordert.
Realisierung
Programierung in:
VRML97 (spezifizierte 3D-Skriptsprache)
Java3D (3D-Bibliothek für Java)
Casa (Skriptsprache für Verhaltensregeln)
verwendete Programmwerkzeuge:
LightWave 5.5 (NewTek) zur Modellierung einer 3D-Figur
CosmoWorlds 1.2 (IRIX, SGI) zur Nachbereitung des Animationskörpers
AnimationCreator (eigene Entwicklung in VRML: läuft unter dem PlugIn CosmoPlayer 2.1) zur Animationgenerierung
Mecca (Agent Management System: Java-Application, die von der Siemens AG entwickelt wurde)
Programm zur Darstellung des virtuellen Geschehens:
3D-InterActor (Java-Application bzw. Applet mit den zusätzlichen Bibliotheken Java3D und VRML)
Für weitere Informationen bitte E-Mail an grotti@c-lab.de.