-
BEREICH DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf den Bereich von Computern,
und insbesondere auf den Bereich von Computerspielen, Simulationen
und Robotersteuerung.
-
BESCHREIBUNG DES STANDES
DER TECHNIK
-
Benutzer
sind interaktiv mit Computerspielen und Simulationen und steuern
dieselben über
eine Vielzahl von Benutzerschnittstellen. Eine übliche Benutzerschnittstelle
ist über
einen Joystick mit einer oder mehreren Tasten oder Stellgliedern.
Der Benutzer steuert die simulierte Bewegung einer Spielfigur, wie
eine Animationsfigur an einem Computerschirm, durch Kippung des
Joysticks in der Richtung, in der der Benutzer wünscht, dass die Figur sich
verlagert. Auf gleiche Weise steuert ein Benutzer den simulierten
Flug eines Flugzeugs durch Kippung des Joysticks entsprechend der
Bewegung von Steuerelementen in einem echten Flugzeug. Der Joystick
wird auch allgemein benutzt als Eingabevorrichtung für eine ferngesteuerte
Anlage, wie Modellflugzeuge, Fabrikfahrstühle und dergleichen. Da der
Bereich von Robotern sich immer weiter ausdehnt, werden immer mehr
Anordnungen und Anlagen ferngesteuert werden, vorwiegend über eine
Computerschnittstelle zwischen dem Benutzer und der zu steuernden Anordnung.
-
Eine
andere übliche
Computerschnittstelle ist eine Maus. Obschon eine Maus zur Interaktion
mit Computerapplikationen, wie Textverarbeitern und Kalkulationsbögen, bequem
ist, ist ihre Verwendung als Schnittstellenanordnung für Spiele,
Simulationen und Fernsteuerungen etwas begrenzt. Auf herkömmliche
Art und Weise wird die Maus zum selektieren aus einem Menü von Möglichkeiten
zur Steuerung der Anordnung verwendet. So kann beispielsweise der
Benutzer auf eine Animation einer an einem Schirm wiedergegebenen
Steuerung zeigen und an verschiedenen Stellen auf der Steuerung
klicken um verschiedene Bewegungen zu effektuieren. In einem Spiel
oder einer Simulation kann der Benutzer auf eine animierte Figur
klicken und die Figur an eine neue Stelle schleifen, aber eine derartige
sofortige Verlagerung kann mit einer Wahrnehmung einer lebensechten
Bewegung, die von den meisten Spielen und Simulationen angestrebt
wird, unvereinbar sein. Berührungsfelder
und Richtungspfeile in einem Tastenfeld werden auch oft verwendet,
mit ähnlichen Schnittstellencharakteristiken
wie eine Maus.
-
Die
Europäische
Patentanmeldung EP-A-0 467 720 beschreibt ein System zur Steuerung
eines Mauscursors. Wenn eine Taste der Maus geklickt wird, während die
Maus sich in einer bestimmten Richtung verlagert, wird der Cursor
sofort in eine Position gebracht, assoziiert mit der betreffenden
Richtung. Die Europäische
Patentanmeldung EP-A-0
809 214 beschreibt ein Bilderzeugungssystem für ein Schießspiel. Das System selektiert
automatisch ein Ziel aus einer Anzahl sich verlagernder Objekte.
Ein Gesichtspunkt wird ständig
angepasst, und zwar entsprechend dem selektierten Ziel und in Abhängigkeit von
dem Abstand zwischen Gesichtspunkt und Ziel. Der Artikel: "Animating multiple
figure using a language interpreter" von A. Cavusoglu und A.L. Thomas beschreibt
ein Verfahren zum Animieren von Bewegungen vieler Objekte. In dem
genannten Artikel beschreibt der Animator eine Start- und Ziellage
für sich verlagernde
Figuren und die erforderlichen Bewegungen werden von dem System
erzeugt.
-
Die
Benutzerschnittstelle mit einem Computerspiel oder einer Simulation
ist insbesondere problematisch in Bezug auf die Steuerung von Figuren und
Objekten, die unabhängig
voneinander bewegt werden können.
Traditionell wird mit der Benutzerschnittstellensteuerung ein einziger
Bewegungsvektor assoziiert. Der Benutzer steuert beispielsweise
einen simulierten Tischtennisschläger und die Bewegung des simulierten
Tischtennisballs wird unmittelbar durch die Bewegung oder Position
des Tischtennisschlägers
gesteuert. Auf gleiche Weise steuert ein Benutzer die Bewegung eines
simulierten Flugzeugs und steuert die Strecke eines simulierten
Projektils von dem Flugzeug durch eine geeignete Orientierung des
simulierten Flugzeugs, wonach die Entladung dieses Projektils in
dieser Orientierung ausgelöst wird.
Einige heutige Spiele oder Ereignisse aber stimmen nicht mit diesem
simulierten Paradigma überein. Ein
Fußballspieler
schießt
den Fußball
nicht unbedingt in derselben Richtung, in der er läuft. Ein
Pilot kann ein Fernlenkgeschoß in
einer Richtung abfeuern, die anders ist als die Richtung, in der
das Flugzeug fliegt. Computerspiele und Simulationen müssen die
unabhängige
Bewegungssteuerung von Figuren und Objekten unterstützen, wenn
sie eine Darstellung übermitteln
sollen, die lebensecht ist. In einem herkömmlichen Computerspiel oder
in einer derartigen Simulation wird eine unabhängige Bewegungssteuerung über einen
Kontextschalter effektuiert. So sind beispielsweise Doppelsteuerungen
vorgesehen, entweder als zwei einzelne Joysticks, oder als zwei
einzelne Steuerglieder, dargestellt am Computerschirm. Einer der
Joysticks oder der Steuerglieder wird zur Steuerung beispielsweise
der Bewegung des Fußballspielers
verwendet, während
der andere zur Steuerung der Weiterreichung des Balles verwendet
wird. Wenn nur ein einziger Joystick oder ein einziges Steuerglied
verfügbar
ist, effektuiert der Benutzer die unabhängige Steuerung über einen
anderen Schalter, der die Interpretation der empfangenen Eingabe über den
einzigen Joystick oder das einzige Steuerglied steuert. Dieser explizite
Kontextschalter oder der Schalter in einem zweiten Gebiet am Schirm kann
eine unangenehme Ablenkung sein, welche die beabsichtigte Simulation
oder das lebensechte Verhalten stört.
-
Kurze Zusammenfassung
der Erfindung
-
Es
ist daher u. a. eine Aufgabe der vorliegenden Erfindung, eine Benutzerschnittstelle
zu schaffen, die sich auf einfache Weise verwenden lässt und eine
lebensechte Bewegung animierter Figuren und Objekte ermöglicht.
Es weiterhin eine Aufgabe der vorliegenden Erfindung eine Benutzerschnittstelle
zu schaffen, die eine unabhängige
Steuerung der Bewegung mehrerer Figuren und Objekte ermöglicht,
ohne dass dazu ein bestimmter Kontextschalter erforderlich ist.
-
Diese
Aufgaben und andere werden dadurch erfüllt, dass man beachtet, dass
in vielen Situationen die Identifikation eines wirklichen Ziels
ebenso signifikant ist wie die direkte Steuerung der Bewegung eines
Objektes zu diesem Ziel. Das heißt, dass beispielsweise in
einigen Spielen die Herausforderung in der Steuerung einer Waffe
zum Treffen eines Ziels liegt, während
bei anderen Spielen die Herausforderung in der effektiven Wahl von
Zielen liegt. In einem Fußballszenario
kann ein Spiel die Fähigkeit
des Spielers herausfordern, einen Lauf durch ein Gewirr von Blockierern
zu manövrieren,
während
ein anderes Spiel die Fähigkeit
des Benutzers herausfordern kann, zu wählen, wann weiter zu leiten,
und wen mit dem Zuspiel zu erreichen. In vielen lebensechten Szenarien
wählt der
Spieler bewusst ein Ziel, und Instinkte und Training effektuieren
ein Mittel zum Erreichen des Ziels. Das heißt, das vordere Ende einer Fußballmannschaft
weiß,
wo er sein soll auf dem Höhepunkt
jedes Spiels. Die meiste Bewegung des vorderen Endes in Richtung
des bestimmten Ziels ist der Effekt einer relativ unbewussten Denkweise,
wenn er plötzlich
um die Gegner herumgeht. Bewusste Denkweisen kommen ins Spiel, falls
und wenn eine Situation auftritt, die verursacht, dass der Spieler
das Ziel ändert.
-
Nach
der vorliegenden Erfindung steuert der Benutzer das Spiel oder die
Simulation durch Identifizierung des Ziels der Bewegung eines Objektes, statt
einer direk ten Steuerung dieser Verlagerung. Das gesteuerte Objekt
arbeitet virtuell autonom in der Bewegung in Richtung des bestreffenden
Ziels. Um Realismus zu gewähren
stimmt das gesteuerte Objekt mit den Regeln der Bewegung überein,
wie Trägheitseffekte,
sowie Bindung mit anderen Objekten, wie Abwendung, Zusammenstoß und dergleichen.
Je nachdem sich das simulierte Spiel entwickelt, kann der Benutzer
das Ziel einstellen, wobei die Entscheidungsprozesse emuliert werden,
die während
des wirklichen Spiels auftreten. Durch Identifikation des Ziels
statt der wirklichen Bewegung des gesteuerten Objekts ist die Benutzerschnittstelle
inhärent
mehr geeignet für
Interaktion über
eine Maus oder ein Berührungsfeld.
So benutzt beispielsweise bei einer Wiedergabe eines Fußballplatzes
der Benutzer eine Maus um auf die Zielstelle eines gesteuerten vorderen
Endes zu zeigen. Nach dem Anklicken dieser Stelle geht das simulierte
vordere Ende in Richtung dieser Stelle, und zwar auf eine im Wesentlichen
autonome Art und Weise.
-
Nach
einem anderen Aspekt der vorliegenden Erfindung steuert der Benutzer
die Bewegung unabhängiger
Objekte durch Identifikation des Ziels jedes Objektes, und zwar
auf unabhängige
Art und Weise. In dem Fußballszenario
steuert der Benutzer die Bewegung des Fußballs dadurch, dass er auf eine
Zielstelle des Fußballs
zeigt. Wenn der Benutzer einen Schalter aktiviert, wie eine Maustaste
oder ein Auslöser,
an der Zielstelle, wird der simulierte Fußballspieler, der den Fußball trägt, den
Ball in Richtung der Zielstelle werfen. Der simulierte Fußball geht
in Richtung der Zielstelle, den Regeln der Bewegung, der Aerodynamik,
der Bindung du dergleichen ausgesetzt. Es sei bemerkt, dass die
Selektion der Zielstelle für
den Fußball
unabhängig
ist von der Selektion einer Zielstelle für den Fußballträger. Jede Taste oder jeder
Schalter auf der Eingabeanordnung ist mit einem gesteuerten Objekt
assoziiert. Das Anklicken beispielsweise der linken Taste auf einer
Maus identifiziert die Zielstelle des Trägers, und das Anklicken der
rechten Taste der Maus identifiziert die Zielstelle des Fußballs.
-
In
einer alternativen Ausführungsform
der vorliegenden Erfindung wird die zielgerichtete Benutzerschnittstelle
verwendet zur Steuerung physikalischer Objekte, wie semiautonomer
Roboter in einer Fabrikumgebung. In einer anderen Ausführungsform ist
der Benutzer mit der physikalischen Umgebung interaktiv, statt mit
einem Computerschirm, um die Ziele für derartige physikalische Objekte
zu identifizieren.
-
Kurze Beschreibung
der Zeichnung
-
Ausführungsbeispiele
der vorliegenden Erfindung sind in der Zeichnung dargestellt und
werden im Folgenden näher
beschrieben. Es zeigen:
-
1 ein
Beispiel einer Benutzerschnittstelle zur Steuerung der Bewegung
eines Objektes nach der vorliegenden Erfindung,
-
2 ein
Beispiel einer Bewegungsverarbeitung eines ballistischen Objektes
nach der vorliegenden Erfindung,
-
3 ein
Beispiel von Bewegungsverarbeitung eines selbstfahrenden Objektes
nach der vorliegenden Erfindung,
-
4 die
unabhängige
Steuerung zweier bewegender Objekte, über die Identifikation zweier Zielstellen,
nach der vorliegenden Erfindung,
-
5 ein
Beispiel eines Blockschaltbildes eines Controllers zum Effektuieren
der Bewegung von Objekten nach der vorliegenden Erfindung,
-
6 ein
Beispiel eines Flussdiagramms zum Effektuieren der Bewegung von
Objekten nach der vorliegenden Erfindung.
-
Detaillierte Beschreibung
der Erfindung
-
1 zeigt
ein Beispiel einer Benutzerschnittstelle nach der vorliegenden Erfindung.
Die Schnittstelle umfasst eine Eingabeanordnung 190, die
mit einem Bild 110 an einem Schirm 100 über einen
Controller 180 gekoppelt ist. Das Bild 110 stellt ein
Gebiet innerhalb eines Koordinatenraums dar. In 1 dargestellt
sind zwei Objekte in dem Koordinatenraum, Objekt1 131 stellt
einen Fußball
dar und Objekt2 132 stellt einen Träger des Fußballs dar. Wie im Bereich
der Computersimulation üblich,
wird das Bild 110 entsprechend relativ konstanter Zeiterhöhungen aktualisiert.
Bei jeder Zeiterhöhung
wird die Stelle jedes Objektes 131 und 132 zunehmend
eingestellt, und zwar entsprechend dem Abstand, den ein physikalisches
Element, wie ein wirklicher Fußballspieler,
der durch 132 dargestellt wird, in dieser Zeiterhöhung zurücklegen
würde.
-
Nach
der vorliegenden Erfindung benutzt ein (nicht dargestellter) Fußballspieler
zum Werfen des Fußballs 131 (es
handelt sich hier um "American
football") die Eingabeanordnung 190 um
eine Zielstelle 120 innerhalb des Koordinatenraums zu identifizieren,
zu der der Fußball 131 geworfen
werden soll. Auf Basis der Stelle des Fußballs 131 und der
Zielstelle 120 bestimmt der Controller 180 eine
Zielrichtung 125 für
eine nachfol gende Bewegung des Fußballs 131. Bei jeder
nachfolgenden Erhöhung
der Zeit wird der Fußball 131 in
der Zielrichtung 125 verlagert. Wenn der Fußballträger 132 eine
Anfangsbewegungsrichtung 150 hatte, fährt der Controller 180 damit
fort, zunehmend den Fußballträger 132 in
dieser Anfangsrichtung 150 zu bewegen. Der Fußball 131 wird
die Bewegung in Richtung der Zielstelle 120 fortsetzen,
und zwar ohne weitere direkte Steuerung durch den Benutzer.
-
In
einer bevorzugten Ausführungsform
wird der Controller Bewegungsregeln beachten für den Fußball 131, wie dieser
den Weg zu der Zielstelle 120 zurücklegt, und zwar auf Basis
eines Modells oder einer Serie von Modellen, wie ein echter Fußball "fliegen" würde. So
wird beispielsweise die Elevation des Fußballs einer parabelförmigen Strecke
folgen, die Fluggeschwindigkeit wird ständig abnehmen, je nachdem der
Fußball
durch die Luft fliegt, und die Geschwindigkeit und der Weg des Fußballs wird
sich abrupt ändern,
wenn der Fußball
auf ein Hindernis trifft, wie auf einen Gegenspieler, oder auf den
Boden, wenn die Elevation auf Null abnimmt. Die Regeln der Bewegung
können
auch von Kennzeichen des Trägers 132 abhängig sein.
Der Träger 132 kann auf
einem Modell eines wirklichen Fußballspielers basiert sein,
so dass die Anfangsgeschwindigkeit des Fußballs und die Flugbahn auf
Mustern der der vorhergehenden Leistungen des wirklichen Fußballspielers
basiert sind. Auf gleiche Weise können die Geschwindigkeit und
die Genauigkeit der Flugbahn eine Funktion des Zustandes des Trägers 132 zu
dem Zeitpunkt sein, wo der Fußball 131 geworfen
wird. So lässt
sich erwarten, dass beispielsweise die Geschwindigkeit und die Genauigkeit
größer sein
wird, wenn der Träger 132 still
steht, wenn der Fußball 131 geworfen
wird. Auf gleiche Weise lässt
es sich erwarten, dass die Genauigkeit kleiner ist, wenn der Träger 132 von
anstürmenden
Gegnern umgeben ist. In einer bevorzugten Ausführungsform ist der Controller 180 derart
programmiert, dass er diese und andere Regeln effektuiert, sowie
beliebige Faktoren, um eine realistische Simulation und Darstellung
des Spiels am Schirm zu ermöglichen.
-
In
einer bevorzugten Ausführungsform
werden die Regeln der Bewegung von dem bewegten Objekt abhängig sein. 2 zeigt
die Bewegungsverarbeitung eines ballistischen Objektes, wie eines Fußballs 131,
und 3 zeigt die Bewegungsverarbeitung eines "selbstfahrenden" Objektes, wie eines Fußballträgers 132.
In 2 ist die Zielstelle 121 die beabsichtigte
Zielstelle für
den Fußball 131:
in 3 ist die Zielstelle 122 die beabsichtigte
Zielstelle für den
Fußballträger 132.
Das heißt, 2 stellt
ein Passspiel "pas sing
play" dar und 3 stellt
ein Laufspiel "running
play" dar. In 2 und 3 ist ein
Hindernis 160 dargestellt, das sich in der Zielrichtung 125 von
der Stelle des Objekts 131, 132 und der Zielstelle 121, 122 befindet.
Bei jeder Erhöhung
in der Zeit verlagert der Controller 180 das Objekt 131, 132 in
der Zielrichtung 125, wobei der Abstand zwischen dem Objekt 131, 132 und
dem Hindernis 160 abnimmt. Während dieser Zeiterhöhungen können das
Hindernis 160 und andere Hindernisse und Spieler auch vom
Controller 180 verlagert werden.
-
In 2 wird
zu einem bestimmten Zeitpunkt das Fußballobjekt 131 auf
das Hindernis 160 auftreffen und die Geschwindigkeit und
der Weg wird sich abrupt ändern.
In 2 ist eine Ablenkung des Fußballs 131' in einer anderen
Objektrichtung 141 dargestellt, verursacht durch den Zusammenstoß des Fußballs 131 mit
dem Hindernis 160. Auf alternative Weise könnte der
Controller 180 ein Abfangen des Fußballs 131 durch das
Hindernis 160 effektuieren, so dass die nachfolgende Bewegung
des Fußballs 131 mit
der nachfolgenden Bewegung des Hindernisses 160 zusammenfallen
würde.
-
In 3 wird
zu demselben Zeitpunkt das Fußballträgerobjekt 132 dem
Hindernis 160 nähern. Dann
wird unter Ansteuerung der Regeln der Bewegung, die mit dem Fußballträgerobjekt 132 assoziiert sind,
das Fußballträgerobjekt 132 versuchen,
das Hindernis 160 zu vermeiden. Wie beispielsweise in 3 dargestellt,
kann der Controller 180 derart programmiert sein, dass
er eine Scheinbewegung effektuiert, wobei der Träger 132 leicht in
einer Richtung 325 bewegt um das Hindernis 160 in
dieser Richtung zu ziehen, um danach in einer entgegen gesetzten Richtung 326 fortzufahren,
bis es klar ist, wieder zu der Zielrichtung zu gehen, in einer neuen
Zielrichtung 142. Es sei bemerkt, dass dadurch, dass dadurch, dass
Regeln der Bewegung gegeben werden, die Aktionen umfassen, die für Objekte
eines besonderen Typs üblich
sind, wie die intuitiven Aktionen eines Fußballträgers, der Controller 180 eine
realistische Darstellung eines Spiels effektuieren kann, ohne die Unterbrechungen,
die typischerweise zugezogen werden, dass der Benutzer vorgesetzt
derartige intuitive Aktionen oder autonome Reaktionen effektuiert. In
einer bevorzugten Ausführungsform
wird dem Benutzer auch die Möglichkeit
geboten, gewünschtenfalls
die automatische Bewegung selbst bewegender Objekte zu aufzuheben.
-
Wie
es dem Fachmann einleuchten dürfte, kann
der Controller 19=80 oder ein anderer Controller ein Spiel für mehrere
Spieler effektuieren, indem gestatt wird, dass verschiedene Benutzer
verschiedene Objekte steuern. So kann beispielsweise das Hindernis 160 ein
Spieler sein, der von einem Gegenbenutzer gesteuert wird. Um eine
Eins-zu-Eins-Abwehr
zu simulieren könnte
der Controller 180 dem Gegenbenutzer gestatten eine dynamische
Zielstelle zu spezifizieren, wie die dynamische Stelle des Fußballträgers 132.
Die Zielstelle ist mit einem bewegbaren Zielobjekt assoziiert, so
dass die Zielstelle jeweils aktualisiert wird, wenn die Stelle des
Zielobjektes sich ändert.
In diesem Beispiel würde
das Hindernis 160, das ein Zielobjekt des Fußballträgers 132 hat, ständig in
einer Richtung zu dem Fußballträger 132 hin
verlagert, sogar wenn der Träger 132 sich
verlagert, wobei die Aktionen, beispielsweise eines Gegenangriffs
in einem wirklichen Fußballspiel,
simuliert werden.
-
4 zeigt
die unabhängige
Steuerung zweier bewegender Objekte 131, 132 über die
Identifikation zweier Zielstellen 121, 122. Zunächst befindet
sich das Objekt 132, das einen Fußballträger darstellt, an der Stelle 132a.
Der Benutzer selektiert über die
Eingabeanordnung 190 eine Stelle 122 innerhalb des
Koordinatensystems des Bildes 110 und assoziiert diese
Zielstelle 122 mit dem Objekt 132. Die Identifikation
der Zielstelle 122 erfolgt über einen Zeiger 401,
der mittels der Eingabeanordnung 190, wie einer Maus, eines
Berührungsfeldes,
eines Joysticks usw. gesteuert wird, und die Assoziation der Zielstelle mit
einem bestimmten Objekt erfolgt über
Schalter S1, S2 an der Eingabeanordnung 190. Es sei bemerkt,
dass das Bild 110 am Schirm 100 vorwiegend als
Bezugsfläche
vorgesehen ist zum Identifizieren von Stellen in einem Koordinatenraum.
Es dürfte
dem Fachmann einleuchten, dass andere Mittel zum identifizieren
einer Stelle in einem Koordinatenraum allgemein verfügbar sind.
So kann beispielsweise der Koordinatenraum an einer "digitalen weißen Tafel" präsentiert
werden und der Benutzer kann Zielstellen über einen mit der Tafel gekoppelten
Laserzeiger identifizieren. Der Benutzer kann sich in einer virtuellen
Wirklichkeitsumgebung befinden, mit einer Ausrüstung, welche die Bewegungen
und Gebärdendes Benutzers
fühlt.
In dieser Umgebung braucht der Benutzer nur auf eine Zielstelle
zu zeigen um die Identifikation zu effektuieren. Kombinationen derartiger Eingabeszenarien
sind im Rahmen der vorliegenden Erfindung durchaus möglich. So
kann beispielsweise der Benutzer sich in einer echten Umgebung befinden
und er kann einen Zeiger benutzen, der mit dem Controller gekoppelt
ist um auf echte Stellen in der echten Umgebung zu zeigen um Zielstellen
zu identifizieren. Auf gleiche Weise können die Schalter an der Eingabeanordnung
verwendet werden zum Steuern von Items anders als den zu bewegenden
Objekten, wie simulierten Umgebungsbedingungen, oder wirklichen
Umständen,
wie Beleuch tung. In allgemeinen Termen: zusätzliche Schalter können zur
Steuerung des Zustandes des Controllers 180 verwendet erden.
-
In
der Darstellung nach 4 assoziiert der Benutzer die
Zielstelle 122 mit dem betreffenden Objekt 132,
indem ein bestimmter Schalter S2 192 an der Eingabeanordnung 190 geschlossen
wird, wenn der Zeiger 401 sich an der gewünschten
Zielstelle 122 befindet. Der Controller 180 bewegt
danach das Objekt 132 in Richtung der Zielstelle 122,
wie oben beschrieben. Weil das Objekt 131, der Fußball, dem Objekt 132,
dem Fußballträger, zugeordnet
ist, und zwar bis der Ball geworfen wird, wird das Fußballobjekt 131 zusammen
mit dem Fußballträgerobjekt 132 bewegt.
-
Zu
einem späteren
Zeitpunkt, wenn die Objekte 132, 131 sich an der
Stelle 132b, 131a befinden, selektiert der Benutzer
eine Zielstelle 121 für das
Fußballobjekt 131,
wobei ein Wurf des Fußballs 131 durch
den träger 132 simuliert
wird. Die Zielstelle 121 ist durch Schließung des
Schalters S1 191 durch den Benutzer mit dem Fußballobjekt 131 assoziiert, wenn
der Zeiger 401' sich
an der Zielstelle 121 befindet. Danach setzt das Objekt 132 seine "Reise" in der Anfangszielrichtung 332 zu
der Zielstelle 122 fort, wie durch die Stelle 132c dargestellt,
während
das Objekt 131 in einer Zielrichtung 331 zu der
Zielstelle 121 "reist", wie durch die Stelle 131b dargestellt.
Es dürfte
dem Fachmann einleuchten, dass zusätzliche Objekte mit Hilfe zusätzlicher
Schalter oder durch Assoziation von Kombinationen von Schalterschließungen mit
bestimmten Objekten gesteuert werden können.
-
5 zeigt
ein Beispiel eines Blockschaltbildes des Controllers 180.
Der Eingangsprozessor 510 empfängt Eingangsparameter von der
Eingabeanordnung 190. Üblicherweise
korreliert der Eingangsprozessor 510 Bewegungen der Eingabeanordnung mit
Bewegungen eines Zeigers am Schirm um die Koordinaten des Zeigers
gegenüber
dem Bildkoordinatenraum zu schaffen. Der Eingangsprozessor 510 identifiziert
auch Eingabeereignisse, die Schalterschließungen umfassen können, und
assoziiert die Koordinaten des Zeigers mit der Zeit des Eingangsereignisses.
Die Eingangsereignisse 511 werden dem Zielkoordinatenbestimmungselement 520 zugeführt. Dieses
Zielkoordinatenbestimmungselement 520 reagiert auf Schalterschließungsereignisse.
Wenn eine Schalterschließung
auftritt, ordnet das Zielkoordinatenbestimmungselement 520 dem
Objekt, das mit dem Schalter assoziiert ist, der geschlossen wurde,
eine neue Zielstelle zu, entsprechend der Zeigerstelle zu dem Zeitpunkt,
wo der Schalter geschlossen wurde. Das Zielkoordinatenbestimmungselement 520 identifiziert
ständig
Modifikationen in anderen Objektzielstellen, beispielswei se für alle Objekte,
die unmittelbar von dem Controller 180 gesteuert werden,
wie Gegner gegenüber
dem Computerspiel, oder Zielstellen, die mit bewegenden Zielobjekten
assoziiert sind. Der Objektidentifizierer und die Zielstelle 521 werden
dem Hindernisdetektor und dem Richtungsbestimmungselement 530 mitgeteilt.
Mit dem Hindernisdetektor und dem Richtungsbestimmungselement 530 ist
auch ein Zeiterhöhungsgenerator 560 verbunden,
der Zeitereignisse 561 erzeugt.
-
Bei
jeder Zeiterhöhung
ermittelt der Hindernisdetektor und das Richtungsbestimmungselement 530 die
beabsichtigte Richtung jedes Objektes, und zwar auf Basis der mit
jedem Objekt und jeder aktuellen Stelle des Objektes assoziierten
Zielstelle, und bestimmt, ob es überhaupt
Hindernisse in der Nähe der
Strecke zwischen jedem Objekt und der entsprechenden Zielstelle
gibt. Je nach dem Typ des Objektes werden der Hindernisdetektor
und das Richtungsbestimmungselement die nachfolgende Richtung ermitteln,
in der das Objekt verlagert werden soll. Wenn beispielsweise das
Objekt ballistisch ist, ist Vermeidung unmöglich; das Objekt fliegt in
der aktuellen Richtung bis es mit dem Hindernis zusammentrifft. Beim
Zusammenstoß ermitteln
der Hindernisdetektor und das Richtungsbestimmungselement 530 eine
resultierende neue Richtung auf Basis der oben genannten Regeln
der Bewegung und des mit den zusammenstoßenden Objekte assoziierten
Zusammenstoßes.
Wenn das Objekt selbst fahrend ist, wendet der Hindernisdetektor
und das Richtungsbestimmungselement 530 die Regeln der
Bewegung und des mit dem Objekt assoziierten Zusammenstoßes an um
die betreffenden Änderungen,
wenn überhaupt,
der Bewegungsrichtung des Objektes zu ermitteln. Zur Konsistenz
wendet der Hindernisdetektor und das Richtungsbestimmungselement 530 andere Regeln
an, die eine Richtung des Objektes beeinflussen können, wie
die Einführung
von beliebigen Faktoren, aerodynamischen Effekten und dergleichen. Wenn
beispielsweise das Objekt ein Geschoß ist, das von einem bewegenden
Fahrzeug abgeschossen wird, wird der Hindernisdetektor und das Richtungsbestimmungsmittel 530 eine
Vektorsumme des Vorstoßes
und der Anfangsgeschwindigkeit des Geschoßes berechnen um eine mehr
realistische Strecke für
das Geschoß in
Richtung der Zielstelle zu ermitteln. Auf Basis des Auftritts von
Hindernissen und der geeigneten Bewegungsregeln übermittelt der Hindernisdetektor
und das Richtungsbestimmungselement 530 eine Geschwindigkeit 531,
die mit jedem Objekt assoziiert ist, zu dem Objektbeweger 540.
Die Geschwindigkeit 531 umfasst eine Größe und eine Richtung der Bewegung
für das
assoziierte Objekt.
-
Der
Objektbeweger 540 modifiziert die Stelle 541 jedes
Objektes in Abhängigkeit
von der Geschwindigkeit 531, die zur Zeit mit jedem Objekt
assoziiert ist. Jede Objektstelle 541 wird dem Wiedergabegenerator 550 mitgeteilt,
der das Bild 110 zur Wiedergabe am Schirm 100 abbildet.
Bei der nächsten
Zeiterhöhung
triggert der Zeiterhöhungsgenerator 560 ein
Zeitereignis 561, das dafür sorgt, dass der Hindernisdetektor
und das Richtungsbestimmungselement 530 die Geschwindigkeit
jedes Objektes aktualisiert. Auf Basis der neuen Geschwindigkeiten 531 stellt
der Objektbeweger 540 die Objektstellen ein und mit Hilfe
des Wiedergabegenerators 550 wird ein neues Bild 110 erzeugt.
-
Es
können
eine Anzahl Optimierungen in der oben genannten Verarbeitung durchgeführt werden. So
kann beispielsweise der Objektbeweger 540 nur Stellen 541 von
Objekten mitteilen, die seit des jüngsten Zeitereignisses sich
verlagert haben, und der Wiedergabegenerator braucht nur das Bild
in der Nähe
jedes verlagerten Objektes zu aktualisieren. Auf gleiche Weise braucht
das Zielkoordinatenbestimmungselement 520 nur diejenigen
Zielstellen 521 mitzuteilen, die sich geändert haben.
Es kann eine Abhängigkeitsstruktur
definiert werden, die bestimmte Ereignisse mit bestimmten Objekten
assoziiert, wie dass nur diejenigen Objekte, die von dem bestimmten
Ereignis abhängig
sind, verarbeitet werden. So kann beispielsweise die Geschwindigkeit
eines Objektes als konstant definiert werden, bis das Objekt auf
das Hindernis trifft. Der Hindernisdetektor und das Richtungsbestimmungselement 530 wird
die Geschwindigkeit des Objektes 531 nicht abermals berechnen,
bis ein derartiges Zusammenstoßereignis
auftritt. Diese und andere Simulationsoptimierungstechniken sind
dem Fachmann geläufig.
-
6 zeigt
ein Beispiel eines Flussdiagramms zum Effektuieren der Bewegung
von Objekten nach der vorliegenden Erfindung. Bei jeder Zeiterhöhung wird
ein erneuertes Bild wiedergegeben, bei 610, und es wird
ein neues Bild entsprechend der Bewegung von Objekten innerhalb
des Bildkoordinatenraums erzeugt, über die Schleife 620–650.
Der Deutlichkeit halber ist jedes bewegliche Objekt in dem Bild
dargestellt als druch die Schleife 620–650 verarbeitet,
obschon die oben genannten Optimierungstechniken eine Umleitung
eines oder mehrerer Blöcke
effektuieren kann, wenn das Ausgangssignal des Blocks als nicht
beeinflusst bekannt ist.
-
Bei 620 werden
alle Änderungen
der Zielstelle des Objektes ermittelt. Wie oben erwähnt, kann
die Zielstelle eines Objektes durch die Wahl des Benutzers, oder
durch einen internen Prozess geändert werden.
In dem Fall des Beispiels der oben genannten Eins-zu-Eins-Verteidigung
kann die Zielstelle eines Objektes zu jeder Zeit, wo die Stelle
eines anderen Objektes sich ändert,
geändert
werden. Bei 630 wird die Richtung von der Stelle des Objektes
zu der Zielstelle ermittelt. Dies ist die gewünschte Bewegungsrichtung für das Objekt,
aber es kann nicht eine erzielbare oder realistische Richtung sein,
und zwar wegen Hindernisse, Bewegungsregeln und dergleichen. Bei 640 wird
die wirkliche Bewegungsrichtung für das Objekt ermittelt. Wie
oben beschrieben und beispielsweise durch die Blöcke 642, 644, 646, 648 dargestellt,
wird die Größe und die
Bewegungsrichtung für
das Objekt von einer Anzahl Faktoren abhängig sein, wobei jeder der
Faktoren ermittelt wird zum Effektuieren eines Gefühls für Wirklichkeit
für die
Bewegung des Objektes. Bei 650 wird das Objekt zunehmend
bewegt, und zwar auf Basis der Geschwindigkeitsermittlung bei 640.
Der Betrag der Bewegung wird durch Berechnung des Abstandes, der
mit der bestimmten Geschwindigkeit während der Zeiterhöhung zwischen
wiedergegebenen Bildern zurückgelegt
wurde, ermittelt. Nachdem alle Objekte über die Schleife 620–650 bewegt
worden sind, wird das neue Bild bei der nächsten Zeiterhöhung, bei 610,
wiedergegeben und der Prozess 610–650 wird wiederholt.
-
Obenstehendes
illustriert vorwiegend die Grundlagen der vorliegenden Erfindung.
Es dürfte folglich
einleuchten, dass der Fachmann imstande sein wird, mehrere Anordnungen
zu entwickeln, die, obschon an dieser Stelle nicht explizit beschrieben oder
dargestellt, die Grundlagen der vorliegenden Erfindung verkörpern. So
ist beispielsweise die vorliegende Erfindung innerhalb des Kontextes
eines Computerspiels präsentiert.
Es dürfte
aber dem Fachmann einleuchten, dass diese zielgerichtete Benutzerschnittstelle
auf jede beliebige Anzahl Applikationen in Bezug auf die Bewegung
von Objekten, simuliert und wirklich, angewandt werden kann. Die Steuerung
von Robotern in einer Fabrik oder in einem Bürokomplex könnte dadurch effektuiert werden,
dass auf das beabsichtigte Ziel jedes Roboters gezeigt wird, stattdessen,
dass die spezifischen Bewegungen jedes Roboters gesteuert werden.
Der Controller in diesem Beispiel würde Bewegungsregeln und Hindernisvermeidung
anwenden um die wirkliche Steuerung jedes Roboters zu effektuieren um
die Zielstelle zu erreichen. Auch ist die vorliegende Erfindung
im Kontext von primär
geradlinigen Strecken zwischen dem Objekt und der Zielstelle präsentiert.
Es dürfte
dem Fachmann einleuchten, dass Streckenerzeugungsalgorithmen, wie
Gewirrlaufalgorithmen, zum Ermitteln der zunehmenden Geschwindigkeiten
und Bewegungen von Objekten in einer mehr komplizierten Umgebung,
benutzt werden können.