-
TECHNISCHES
GEBIET
-
Die
vorliegende Erfindung betrifft Bildverarbeitungsverfahren, geeignet
für Spiele-Maschinen, die
Bilder im dreidimensionalen virtuellen Raum darstellen. Insbesondere
schafft die vorliegende Erfindung eine Bildverarbeitung, die durch
realitätsnahes Anzeigen
der Bilder, die dabei dargeboten werden, und Vermitteln natürlicher
Bildänderungen
einen Spieler tief in ein Rollenspiel hineinziehen kann.
-
STAND DER
TECHNIK
-
Bei
Spielkonsolen bzw. Spiele-Maschinen für Fernsehgeräte sind
Rollenspiele, die Verfahren zur dreidimensionalen Bildverarbeitung
anwenden, wegen der Schönheit
der Bildersprache und der Tiefgründigkeit
der vermittelten Story sehr beliebt. Die meisten Rollenspiele verwenden
graphische Datenverarbeitungsverfahren in Konfigurationen, in denen es
möglich
ist, viele anzuzeigende Gebilde (im Folgenden „Objekte" genannt) im dreidimensionalen virtuellen
Raum anzuzeigen. Diese Objekte umfassen neben jenen, die solche
Formen der realen Welt wie Gelände,
Pflanzen, Tiere und Gebäude
nachbilden, jene (im Folgenden „Figuren" genannt), die den Helden des Rollenspiels
und andere Personen, die in dem Spiel auftreten, modellieren. Bei
dieser Spiele-Maschine ist die Figur, die dem Helden entspricht, so
gestaltet, dass sie sich im virtuellen Raum in Reaktion auf von
einem Spieler an einer Eingabevorrichtung vorgenommenen Manipulationen
bewegen kann. Außerdem
entwickelt diese Spiele-Maschine die Spielstory, während sie
begleitend den Ansichtpunkt zum Anzeigen von Bildern im virtuellen
Raum so bewegt, dass er der Bewegung der Heldenfigur folgt, wobei
der virtuelle Raum zusammen mit den Figuren und als Bild anzuzeigenden
Objekten, nacheinander, wie sie erscheinen, verlagert wird.
-
Bei
einem herkömmlichen
Rollenspiel (siehe z.B. JP-09-299 613) sind aufgrund der Notwendigkeit,
die Art, wie der virtuelle Raum für einen Spieler ausschaut,
klar darzubieten, bei den Objektanzeigeverfahren neuartige Maßnahmen
zur Anwendung gebracht worden. In den Fällen, in denen Figuren ein Objekt,
das beispielsweise ein Gebäude
nachbildet, betreten oder verlassen, wird entweder das Gebäude teilweise
durchsichtig gemacht oder das Objekt wird ohne ein Dach angezeigt,
um das Beobachten der Bewegungen der Figuren, die das Gebäude betreten haben,
zu ermöglichen.
-
Wenn
das Objekt einen Baum nachbildet, wird die Textur des gesamten Baumes
auf ebenen Polygonen dargestellt, es werden Anordnungen geschaffen,
bei denen Polygone mit Textur abgebildet werden, um Blätter darzustellen,
und kreuzförmig
im Mittelteil des Baumstamms eingefügt werden, oder der Baum wird
mittels kugelförmiger
Objekte dargestellt, wobei also Texturdaten, um das Objekt wie einen
Baum aussehen zu lassen, auf die Polygone abgebildet werden.
-
In
manchen Fällen
wird der Realismus weiter verbessert, indem Schatten angezeigt werden,
die der Bewegung der Figuren folgen.
-
Es
ist jedoch wünschenswert,
ein Rollenspiel so zu gestalten, dass der Spieler völlig in
die Bilderwelt, die von der Spiele-Maschine dargeboten wird, eintaucht
und sich mit fortschreitendem Spiel gefühlsmäßig mit dem Helden identifiziert.
Bei einer Beurteilung von herkömmlichen
Rollenspielen aus diesem Blickwinkel werden etliche Schwierigkeiten
offensichtlich.
-
Beispielsweise
wird bei Spiele-Maschinen, bei denen ein Teil eines Gebäudes entfernt
wird, wenn es von einer Figur betreten wird, wegen der Unnatürlichkeit,
die sich ergibt, wenn plötzlich
ein Teil des Gebäudes
verschwindet oder sich der Bildschirm verändert, um das Interieur des
Hauses oder dergleichen anzuzeigen, der an dem Spiel beteiligte
Spieler eine Unstimmigkeit fühlen.
Wenn hingegen das Gebäude
von Anfang an ohne Dach angezeigt wird, stellt dies alles andere
als ein realitätsnahes
Bild dar, sodass das Realitätsempfinden
nicht verbessert werden kann.
-
Außerdem wird
bei einem Rollspiel durch die Manipulationen des Spielers bestimmt,
wohin sich eine Figur bewegt, sodass es Fälle gibt, in denen eine extreme
Annäherung
an ein Objekt stattfindet. Wenn das Objekt, dem sich die Figur nähert, ein
solches ist, das einen Baum mit einem herkömmlichen Verfahren nachbildet,
sind jedoch die Formen mikroskopischer Objekte von der Form eines
realen Baumes weit entfernt, was ein Bild zur Folge hat, das völlig unnatürlich ist.
-
Andererseits
ist jedoch der Versuch, deshalb jedes einzelne Blatt durch ein Polygon
darzustellen, schwerlich mittels einer Spiele-Maschine zu meistern,
die in ihrer Leistungsfähigkeit
und hinsichtlich der Verarbeitungszeit empfindlich eingeschränkt ist.
-
Bei
dem herkömmlichen
Verfahren zum Anzeigen von Schatten wird außerdem ein schwarzes, scheibenförmiges Objekt
bei den Füßen der
Figur entfaltet, und beide Objekte werden gemeinsam bewegt, um den
Schatten anzuzeigen. In den Fällen,
in denen das Gelände
uneben ist, ist jedoch ein Verfahren angewendet worden, das mit
einer großen
Rechenlast einhergeht, bei dem das Schattenobjekt zusammen mit dem
Gelände
ausgegeben wird, um zu verhindern, dass das Schattenobjekt in den
Boden einsinkt. Der einzige Weg, um diese Rechenlast zu verringern,
ist gewesen, die Tatsache des Einsinkens eines Schattens in den
Boden nicht zu beachten. Folglich ist es sehr schwierig gewesen,
natürliche Schatten
anzuzeigen.
-
EP 0 893 149 mit einer früheren Priorität offenbart
eine Anordnung, bei der dann, wenn sich eine Spielerfigur näher an eine
gegnerische Figur heranbewegt, sich auch der Ansichtspunkt einer
hypothetischen Kamera, die das Bild der Figuren aufnimmt, näher an die
Figuren heranbewegt und ein Entfernungsermittler die Entfernung
vom Ansichtspunkt der hypothetischen Kamera zu einem Objektmodell
als ein Hindernis, hinter dem eine der Figuren verborgen ist, ermittelt.
Dann erzielt ein Durchsichtigkeitsermittler einen der ermittelten
Entfernung entsprechenden Durchsichtigkeitsgrad anhand einer Durchsichtigkeitsdatentabelle.
Unter Verwendung des erhaltenen Durchsichtigkeitsgrades erzeugt
ein Bilddatenprozessor Bilddaten von Pixeln des Objektmodells und kombiniert
die erzeugten Bilddaten mit Bilddaten von Pixeln der Figur.
-
US 5 415 549 offenbart einen
Helikopterflugsimulator mit Verbesserungen bei visuellen Referenzpunkten
und Modellierung. Die eindeutigen visuellen Referenzpunkte umfassen
Gelände,
nachfolgend Schatten und Lichtstreuung, wobei die Letzteren eine
Reihe von atmosphärischen
Verhältnissen nahebringen.
Die eindeutigen Modellierungsmerkmale umfassen einen anwenderdefinierten
Zoom, eine horizontale und vertikale Bodenkontaktvermeidung und
ein Autorotationsmodell.
-
OFFENBARUNG
DER ERFINDUNG
-
Angesichts
der vorangehend beschriebenen Schwierigkeiten ist es wünschenswert,
eine Bildanzeige zu schaffen, die natürliche Anzeigeübergänge möglich macht,
wenn eine Figur einen Raum oder ein Gebäude betritt oder verlässt, ohne
dass das Gefühl von
Realismus verloren geht.
-
Es
ist außerdem
wünschenswert,
eine Bildanzeige zu schaffen, womit, wenn Objekte wie Bäume angezeigt
werden, die Formen der Bäume
und dergleichen auch dann mit einer als natürlich wahrzunehmenden Textur
angezeigt werden, wenn diese Objekte groß angezeigt werden.
-
Ferner
ist es wünschenswert,
eine Bildanzeige zu schaffen, die natürliche Schatten anzeigen kann,
die dem Gefühl
von Realismus nicht schaden, ohne die Rechenlast zu vergrößern.
-
Es
ist wünschenswert,
eine Spiele-Maschine zu schaffen, mit der die Bildverarbeitung der
vorliegenden Erfindung möglich
ist.
-
Außerdem ist
es wünschenswert,
ein Speichermedium zu schaffen, das imstande ist, ein Programm bereitzustellen,
mit dem die Bildverarbeitung der vorliegenden Erfindung möglich ist.
-
Gemäß der vorliegenden
Erfindung wird eine Bildverarbeitungseinheit geschaffen, die dafür konfiguriert
ist, dass sie die Anzeige eines oder mehrerer Objekte, die geschlossene
Bereiche definieren, die im virtuellen Raum entfaltet werden, und
einer Figur, die so beschaffen ist, dass sie imstande ist, sich
in Bezug auf das Objekt oder die Objekte zu bewegen, ermöglicht;
dadurch gekennzeichnet dass die Bildverarbeitungseinheit eine Verarbeitungseinheit
umfasst, die dann, wenn die Figur in das Innere eines geschlossenen
Bereiches gelangt oder es verlässt, die
Anzeigedichte zumindest einiger bestimmter der Darstellungselemente,
die das Objekt konfigurieren, das in einem Bereich entfaltet wird,
der mit der Bewegung der Figur im Zusammenhang steht, allmählich verändert, derart,
dass die bestimmten Darstellungselemente, für welche die Anzeigedichte
verändert wird,
die Darstellungselemente sind, die in dem virtuellen Raum vorn angeordnet
sind, bezogen auf den Ansichtspunkt, der in dem virtuellen Raum
für die
Erzeugung der Bildanzeige festgelegt ist, wobei die Verarbeitungseinheit
die Anzeigedichte der bestimmten Darstellungselemente allmählich vermindert, wenn
die Figur in den geschlossenen Bereich gelangt, und dieselbe erhöht, wenn
der geschlossene Bereich verlassen wird.
-
Mit „Objekt" ist ein angezeigtes
Gebilde gemeint, was hier auf die Beziehung zwischen einem Objekt,
das beispielsweise eine Figur darstellt, und einem Objekt, das ein
Gebäude
darstellt, das die Figur betritt oder verlässt, verweist. Doch dies kann
auf alle Fälle
angewendet werden, in denen ein Objekt in ein anderes Objekt hineingelangt.
Die „bestimmte Bedingung" ist beispielsweise,
dass die oben erwähnte
Figur in das Innere des oben erwähnten
Objekts gelangt oder dieses verlässt.
Dies kann festgestellt werden, wenn der Abstand zwischen zwei Objekten
einen bestimmten Wert erreicht, oder indirekt durch eine Bedingung,
die durch den Verlauf des Spiels eingeführt wird, wie etwa, dass "eine Tür geöffnet" wird oder "ein Fenster geöffnet" wird. Mit „zugehörigem Bereich" ist so etwas gemeint
wie ein Bereich, der in der Weise eingerichtet sein sollte, dass ein
Objekt, das in einen Innenraum gelangt ist, sichtbar gemacht wird,
indem die Anzeigedichte verändert wird,
oder ein Bereich, in dem während
des Verlaufs der Spiels ein Interieur angezeigt werden soll. Im
Falle eines Gebäudes
würde dies
beispielsweise einem geschlossenen Bereich wie etwa dem Erdgeschoss oder
dem ersten Stock usw. entsprechen. Die „zumindest einigen bestimmten
Darstellungselemente" können nach
Ermessen festgesetzt werden. Sie könnten beispielsweise Darstellungselemente
von den schon erwähnten,
das Objekt konfigurierenden Darstellungselementen sein, die auf
der Seite des Ansichtspunkts angeordnet sind, der in dem virtuellen
Raum für
den Zweck der Erzeugung von Bildschirmanzeigen eingerichtet ist.
Da es „zumindest
einige" sind, kann
die Durchsichtigkeit des gesamten Gebäudes angepasst werden, oder
es kann die Durchsichtigkeit eines bestimmten Teils davon angepasst
werden. Was das besondere Veränderungsverfahren
betrifft, so würde
die Anzeigedichte der oben erwähnten
besonderen Darstellungselemente allmählich vermindert werden, wenn
die oben erwähnte Figur
in das oben erwähnte
Objekt gelangt, und er höht
werden, wenn die Figur das Objekt verlässt.
-
Es
ist hier wünschenswert,
dass zuvor eine Dicke für
die das Objekt schaffenden Segmente aufgebaut wird. Daraufhin werden
vorgeschriebene Texturdaten auf die Schnitte der Segmente abgebildet, die
von Darstellungselementen angezeigt werden, die von den schon erwähnten bestimmten
Darstellungselementen verschieden sind.
-
Vorzugsweise
ist die Bildverarbeitungseinheit in der Weise betriebsfähig, dass
sie ein Bild anzeigt, das eine baumartige Gestalt simuliert, indem sie
flache Darstellungselemente, auf die vorgeschriebene Texturdaten
abgebildet worden sind, radial um eine vorgeschriebene Mittellinie
derart entfaltet, dass sie die Mittellinie unter einem bestimmten
Winkel oder unter bestimmten Winkeln schneiden, um ein Objekt zu
schaffen, und ein solches Objekt oder mehrere solche Objekte im
virtuellen Raum in der Vertikalen gestapelt entfaltet.
-
Die „Mittellinie" verweist hier auf
den Teil, der dem „Stamm" entspricht. Als
Gesamtentfaltung wird eine Kegel- oder
Schirmform erzielt. Es besteht außerdem keine Notwendigkeit,
dass sich die Darstellungselemente auf die gleiche Weise nach außen neigen.
Sie können,
in den Koordinaten des virtuellen Raumes, nach oben offen sein,
wobei die Öffnungswinkel
zufällig
sein können.
Der Ausdruck „baumartige
Gestalt" verweist
nicht nur auf Bäume,
sondern auch auf Gestalten mit nicht genau bestimmbaren Formen,
die in der natürlichen
Welt vorkommen, wie beispielsweise Flammen, Rauch und Wolken, und kann
für alle
möglichen
Dinge gelten.
-
Hierbei
sind die Objekte aus der vorangehend erwähnten Vielzahl von Objekten,
die das höchste
Ende bedecken, näherungsweise
in Schirmform konfiguriert. Bei Objekten auf niedrigeren Ebenen
sind jedoch Teile nahe der Mittellinie nicht sichtbar, weshalb es
nicht absolut notwendig ist, dass Texturdaten in die unmittelbare
Nähe der
Mittellinie abgebildet werden.
-
Außerdem erfolgt
die Konfiguration derart, dass Anpassungen vorgenommen werden, damit Darstellungselemente,
auf welche die gleichen Texturdaten abgebildet worden sind, nicht
zwischen mehreren der schon erwähnte
Objekte, die angrenzen, aufeinandergestapelt werden. Um zu vermeiden,
dass Darstellungselemente aufeinandergestapelt werden, kann die
Orientierung jedes Objekts (Winkel des Objekts um die Mittellinie)
verändert
werden, oder es kann die Ordnung der Darstellungselemente, die ein
Objekt schaffen, von einem Objekt zum nächsten verändert werden. Alternativ können Einstellungen
vorgenommen werden, damit die Ebene jedes Darstellungselements über den
Umfang übersteht.
Oder die Ebenen der Darstellungselemente, welche die zuvor erwähnten Objekte
konfigurieren, können
auf verschiedenen Höhen
entfaltet werden, sodass sie einander nicht berühren. Oder die Darstellungselementebenen
können
so angeordnet sein, dass sie ein dreiecksförmiges Zickzackmuster bilden.
-
Vorzugsweise
ist die Verarbeitungseinheit in der Weise betriebsfähig, dass
sie flache Darstellungselemente, auf die vorgeschriebene Texturdaten abgebildet
worden sind, in einer Vielzahl in einem vorgeschriebenen Raumbereich
entfaltet, um ein Objekt zu schaffen, und die Richtungen steuert,
in welche Flächen
der Vielzahl von Darstellungselementen orientiert sind, um dem Ansichtspunkt
zu entsprechen, vom dem aus der virtuelle Raum betrachtet wird.
-
Das „Objekt", das hier angeführt wird,
kann entsprechend ein Baum oder ein anderes Gebilde der natürlichen
Welt, das eine komplizierte Form aufweist, sein. Wenn das „Objekt" ein Baum ist, können die „Darstellungselemente" dementsprechend
eine Anhäufung
von Blättern
sein, um den Baum zu gestalten. Der Leitgedanke ist, einen Baum
in Blöcke einzu teilen,
die eine Vielzahl von Darstellungselementen umfassen, und eine Steuerung
so durchzuführen,
dass die Darstellungselemente mehr oder weniger dem Ansichtspunkt
zugekehrt sind.
-
Ein
denkbares Verfahren für
eine Richtungssteuerung besteht darin, für eines der oben erwähnten Objekte
entsprechend dem oben angeführten
Ansichtspunkt einen Vektor zu einem repräsentativen Punkt festzulegen
und dann die Richtung der oben erwähnten Darstellungselemente
so zu steuern, dass eine Vielzahl von diesen Darstellungselementen
in Richtung des Vektors von dem repräsentativen Punkt orientiert
ist.
-
Ein
weiteres denkbares Verfahren für
eine Richtungssteuerung ist, die Richtung der oben erwähnten Darstellungselemente
so zu steuern, dass jede der Normalen bei der Vielzahl der oben
erwähnten
Darstellungselemente in Richtung des oben erwähnten Ansichtspunkts orientiert
ist.
-
Beispielsweise
kann die Konfiguration derart sein, dass Gewichtskoeffizienten für die Scheitelpunkte
der Darstellungselemente festgesetzt werden und die Dichte der Textur,
die auf die Darstellungselemente abgebildet wird, durch diese Gewichtskoeffizienten
zwischen den Scheitelpunkten linear interpoliert werden kann, und
derart, dass durch Verändern der
Gewichtskoeffizienten in Übereinstimmung
mit der Entfaltung des Objekts im virtuellen Raum die Dichte der
Textur der Darstellungselemente, die das Objekt schaffen, gesteuert
werden kann.
-
Vorzugsweise
ist die Verarbeitungseinheit so betriebsfähig, dass sie zwischen dem
Objekt und dem Ansichtspunkt zur Bildanzeige ein Objekt erzeugt,
um den Schatten anzuzeigen.
-
Die
Konfiguration ist hier derart, dass entsprechend der Höhe des Objekts über einer
Bezugsebene, die im virtuellen Raum aufgespannt ist, die Relativlagen
des Objekts und sei nes Schattenobjekts, wie vom Ansichtpunkt aus
gesehen, verändert werden
können.
Die Konfiguration ist beispielsweise derart, dass der Schatten in Übereinstimmung
mit dieser Höhe
auf dem Bildschirm nach oben und unten bewegt werden kann.
-
Vorzugsweise
ist die Bildverarbeitungseinheit bzw. das Bildverarbeitungsverfahren
dafür konfiguriert,
dass ein Objekt, das im virtuellen Raum entfaltet wird, und sein
Schatten angezeigt werden können,
und ist dafür
konfiguriert, dass eine Lichtquelle für strahlendes, beleuchtendes
Licht zum Zweck der Anzeige des Schattens in einem Bereich einer
Bezugsebene, die in dem virtuellen Raum festgelegt ist, geschaffen
wird, in dem der Schatten des Objekts anzuzeigen ist. Beispielsweise
könnte
Schwarzlicht an einer Position eingesetzt werden, die in dem virtuellen
Raum der Sonne entspricht. Die leuchtende Position ist unterhalb
der Beine des Objekts, sie kann jedoch entsprechend dem Winkel der
Sonne und der Höhe
des Objekts über
der Bezugsebene verändert werden.
-
Vorzugsweise
umfasst eine Spiele-Maschine eine Bildverarbeitungseinheit der vorliegenden
Erfindung.
-
Außerdem ist
es zu bevorzugen, dass ein Speichermedium, auf dem aufgezeichnete
Programmdaten für
ein Ausführen
eines Bildverarbeitungsverfahrens der vorliegenden Erfindung auf
einem Computer sind, maschinenlesbar ist.
-
Mit
Speichermedium ist etwas gemeint, worauf durch physikalische Mittel
Informationen (hauptsächlich
digitale Daten, Programme) aufgezeichnet sind, die imstande sind,
einen Computer, einen speziellen Prozessor oder ein anderes Verarbeitungsgerät zu veranlassen,
vorgeschriebene Funktionen zu erfüllen. Mit anderen Worten: Dieses
Speichermedium kann irgendetwas sein, das auf irgendeine Weise ein
Programm auf einen Computer herunterladen und bewirken wird, dass
die vorgeschriebenen Funktionen erfüllt werden. Derartige Medien
umfassen Disketten, Festplatten, Magnetband, magnetooptische Platten,
CDs, CD-ROMs, CD-Rs, DVD-RAMs, DVD-ROMs, DVD-Rs, PDs, MDs, DCCs,
ROM-Karten, RAM-Speicherkarten mit Batterieabsicherung, Flash-Speicherkarten
und nichtflüchtigen
RAM usw.
-
Auch
sind Fälle
eingeschlossen, in denen eine Datenübertragung von einem Host-Computer über eine
drahtgebundene oder drahtlose Kommunikationsleitung (öffentliche
Leitung, spezielle Datenleitung, Satellitenverbindung usw.) empfangen
wird. Die Speichermedien, auf die sich hier bezogen wird, schließen auch
das sogenannte Internet ein.
-
Damit
die vorliegende Erfindung leichter verstanden wird, werden im Folgenden
besondere Ausführungsformen
davon mit Bezug auf die beigefügte Zeichnung
beschrieben.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
1 ist
ein Blockdiagramm der Spiele-Maschine;
-
2A ist
ein Ablaufplan, der ein Dichteänderungsverfahren
in einer ersten Ausführungsform darstellt,
wobei er einen Bedingung-erfüllt-Entscheidungsprozess
umfasst;
-
2B ist
ein Ablaufplan, der das Dichteänderungsverfahren
in der ersten Ausführungsform darstellt,
wobei er die Einzelheiten eines Bilderzeugungsprozesses umfasst;
-
3 ist
eine beispielhafte Bildanzeige, die den Fortschritt der Dichteänderung
zeigt (Stadium 1);
-
4 ist
eine beispielhafte Bildanzeige, die den Fortschritt der Dichteänderung
zeigt (Stadium 2);
-
5 ist
eine beispielhafte Bildanzeige, die den Fort schritt der Dichteänderung
zeigt (Stadium 3);
-
6 ist
eine beispielhafte Bildanzeige, die den Fortschritt der Dichteänderung
zeigt (Stadium 4);
-
7 ist
eine beispielhafte Bildanzeige, die den Fortschritt der Dichteänderung
zeigt (Stadium 5);
-
8A ist
eine Schrägansicht
eines beispielhaften Objekts, die einen Baum in einer Drahtgitterdarstellung
zeigt;
-
8B ist
eine Draufsicht des beispielhaften Objekts, die einen Baum in einer
Drahtgitterdarstellung zeigt;
-
9 ist
ein Konfigurationsschema eines Baumobjekts in einer zweiten Ausführungsform;
-
10 ist
eine schematische Darstellung einer Prozedur zur Bilderzeugung eines
Baumobjekts;
-
11 ist
eine beispielhafte Formänderung (die
erste) bei einem schirmförmigen
Objekt;
-
12 ist
eine beispielhafte Formänderung (die
zweite) bei einem schirmförmigen
Objekt;
-
13 ist
eine beispielhafte Formänderung (die
dritte) bei einem schirmförmigen
Objekt;
-
14 ist
ein Konfigurationsschema eines Baumobjekts in einer dritten Ausführungsform;
-
15 ist
eine schematische Darstellung der Richtungssteuerung von Darstellungselementen (Polygonen)
in der dritten Ausführungsform;
-
16 ist
eine schematische Darstellung der Steuerung eines Darstellungselements
(Polygon);
-
17A ist eine schematische Darstellung einer Texturanzeige
für den
Fall, in dem für
die Scheitelpunkte eines Darstellungselements die gleichen Gewichtskoeffizienten
festgesetzt sind;
-
17B ist eine schematische Darstellung einer Texturanzeige
für den
Fall, in dem für
die Scheitelpunkte eines Darstellungselements die gleichen Gewichtskoeffizienten
festgesetzt sind;
-
18 ist
ein Ablaufplan, der die Richtungssteuerung eines Baumobjekts in
der dritten Ausführungsform
darstellt;
-
19 ist
ein Drahtgitter-Konfigurationsschema (Seitenansicht) eines richtungsgesteuerten Baumobjekts;
-
20 ist
ein Beispielbildschirm (Seitenansicht), bei dem Textur auf ein richtungsgesteuertes Baumobjekt
abgebildet worden ist;
-
21 ist
ein Drahtgitter-Konfigurationsschema (Draufsicht) eines richtungsgesteuerten Baumobjekts;
-
22 ist
ein Beispielbildschirm (Draufsicht), bei dem Textur auf ein richtungsgesteuertes Baumobjekt
abgebildet worden ist;
-
23 ist
ein Beispielbildschirm eines Baumobjekts in einem Fall, in dem keine
Steuerung von Darstellungselement-Gewichtskoeffizienten erfolgt;
-
24 ist
ein Beispielbildschirm eines Baumobjekts in einem Fall, in dem Darstellungselement-Gewichtskoeffizienten
verändert
werden;
-
25 ist
eine schematische Darstellung der Richtungssteuerung von Darstellungselementen durch
ein anderes Verfahren in der dritten Ausführungsform;
-
26 ist
ein Ablaufplan, der einen Prozess zur Schattenerzeugung in einer
vierten Ausführungsform
darstellt;
-
27 ist
eine schematische Darstellung der Entfaltung, wenn eine Figur Bodenkontakt
hat;
-
28 ist
eine schematische Darstellung der Entfaltung, wenn eine Figur springt;
-
29 ist
eine schematische Darstellung des Bildanzeigemodells für die in 27 schematisch
dargestellte Entfaltung;
-
30 ist
eine schematische Darstellung des Bildanzeigemodells für die in 28 schematisch
dargestellte Entfaltung;
-
31 ist
ein Bildanzeigebeispiel (mit dem Ansichtpunkt diagonal darüber) in
der vierten Ausführungsform;
-
32 ist
ein Bildanzeigebeispiel (mit dem Ansichtpunkt auf Bodenhöhe) in der
vierten Ausführungsform;
-
33 ist
eine schematische Darstellung der Entfaltung in einer fünften Ausführungsform;
und
-
34 ist
eine beispielhafte Bildanzeige in der fünften Ausführungsform.
-
BESTE AUSFÜHRUNGSFORM
DER ERFINDUNG
-
Im
Folgenden werden bevorzugte Ausführungsformen
der vor liegenden Erfindung unter Bezugnahme auf die Zeichnung beschrieben.
-
(Ausführungsform 1: Hauptausführungsform)
-
Eine
erste Ausführungsform
betrifft eine Bildanzeigeeinrichtung, ein Verfahren dafür, eine
Spiele-Maschine und ein Speichermedium, womit eine dreidimensionale
Bildanzeige möglich
ist und womit es möglich
ist, natürliche
Bilder darzustellen, wenn ein Objekt in ein Gebäude oder dergleichen gelangt oder
es verlässt.
-
(Beschreibung des Aufbaus)
-
In 1 ist
ein Blockdiagramm für
eine Spiele-Maschine der vorliegenden Erfindung gegeben. Die Spiele-Maschine 1 der
vorliegenden Erfindung umfasst einen CPU-Block 10, einen
Videoblock 11 und einen Soundblock 12, wie in 1 schematisch dargestellt
ist.
-
Der
CPU-Block 10 entspricht bei der vorliegenden Erfindung
einer Verarbeitungseinheit und umfasst einen Buszuteiler 100,
CPU 101, Hauptspeicher 102, ROM 103 und
ein CD-ROM-Laufwerk 104.
-
Der
Buszuteiler 100 ist so konfiguriert, dass er das Datenübertragen
und -empfangen steuern kann, indem er den Einrichtungen, die über den
Bus miteinander verbunden sind, dedizierte Buszeit zuweist.
-
Die
CPU 101 ist so konfiguriert, dass sie auf das CD-ROM-Laufwerk 103,
das ROM 103, den Videoblock 11, den Soundblock 12 und
(über eine
Eingabevorrichtung 107) auf den Sicherungsspeicher 108 zugreifen
kann. Beim Einschalten arbeitet die CPU 101 ein im ROM 103 gespeichertes
Initialisierungsprogramm ab, initialisiert das Gesamtsystem, und
nachdem sie erkannt hat, dass eine CD-ROM in das CD-ROM-Laufwerk 108 geladen
ist, überträgt sie Betriebssystem-Programmdaten,
die auf der CD-ROM gespeichert sind, in den Hauptspeicher 102.
Die CPU 101 ist derart ausgelegt, dass sie danach entsprechend
dem Betriebssystem arbeitet. Als Nächstes überträgt die CPU 101 Anwendungsprogrammdaten,
die auf der CD-ROM gespeichert sind, in den Hauptspeicher 102 und
arbeitet dieses Programm ab. Außerdem überträgt die CPU 101 Bilddaten
in einen Graphikspeicher 111 und ist imstande, Audiodaten
in einen Soundspeicher 121 zu übertragen. Die Verarbeitung
der Programmdaten, die durch die CPU 101 ausgeführt wird,
besteht in erster Linie aus der Interpretation von Steuersignaleingaben
von der Eingabevorrichtung 107 und Kommunikationsdaten
von einer Datenübertragungseinrichtung 130, wobei
auf der Grundlage dieser eine Bildverarbeitung durch den Videoblock 11 und
eine Soundverarbeitung durch den Soundblock 12 ausgeführt werden.
-
Der
Hauptspeicher 102 speichert in erster Linie die schon erwähnten Betriebssystem-Programmdaten
und Anwendungsprogrammdaten, ist aber auch imstande, Arbeitsspeicher
zum Speichern von statischen Variablen, dynamischen Variablen und dergleichen
bereitzustellen. Das ROM 103 ist ein Bereich zum Speichern
des Initialisierungsprogramms.
-
Auf
der CD-ROM sind Programmdaten gespeichert, um das Ausführen des
Bildverarbeitungsverfahrens der vorliegenden Erfindung durch die Spiele-Maschine
zu bewirken, Bilddaten für
die Anzeige von Bildern und Audiodaten für die Ausgabe von Sound. Das
CD-ROM-Laufwerk 104 ermöglicht, CD-ROMs
zu laden und auszuwerfen. Wenn eine CD-ROM geladen ist, gibt das
CD-ROM-Laufwerk 104 Daten aus, die diese Tatsache der CPU 101 anzeigen,
und ist imstande, Daten unter der Steuerung durch die CPU 101 zu übertragen.
Das Speichermedium ist jedoch nicht auf eine CD-ROM beschränkt, und
es können
andere Typen von Speichermedien so konfiguriert sein, dass sie gelesen
werden können. Die
Konfiguration kann auch derart sein, dass auf der CD-ROM gespeicherte
Datengruppen über
die Datenübertragungseinrichtung 130 in
die Speicher übertragen
werden, wie anschließend
beschrieben wird. Wenn die Dinge auf diese Weise eingerichtet sind,
ist es möglich,
Daten von Festplatten in Servern an entfernten Orten zu übertragen.
-
Die
Eingabevorrichtung 107 ist derart ausgelegt, dass sie mit
der Spiele-Maschine lösbar
verbunden ist, und derart, dass entsprechend der Art und Weise,
in der Steuertasten durch den Spieler bedient werden, Steuersignale
an den Bus des CPU-Blocks 10 ausgegeben werden. Die Eingabevorrichtung 107 kann
ein Joystick oder eine Tastatur sein oder alternativ ein Zeigegerät wie etwa
eine Maus oder eine Steuereinrichtung. Entweder kann eine Eingabevorrichtung 107 angeschlossen
sein, oder es können zwei
oder mehr in einer Zusammenstellung angeschlossen sein, die einer
Vielzahl von Spielern ermöglicht,
das Spiel gleichzeitig zu spielen.
-
Der
Sicherungsspeicher 108 ist so ausgelegt, dass er mit der
Eingabevorrichtung 107 lösbar verbunden werden kann,
und so konfiguriert, dass ein Zugriff von der CPU 101 aus
möglich
ist. Dieser Speicher ist außerdem
ein Speicherbereich für
Spielverlauf zustände
und Spielergebnisse, die während des
Spiels erzeugt werden, und für
Einstelldaten, die solche Einstellungen wie Steuerverfahren enthalten, die
alle von der CPU 101 gesendet werden. Diese Einstelldaten
fungieren als Sicherungsdaten, sodass, falls die Stromversorgung
unterbrochen wird, das Spiel von dem Zustand aus gestartet wird,
der unmittelbar vor der Unterbrechung der Stromversorgung vorhanden
war, und durch Austauschen des Sicherungsspeichers die Daten verwendet
werden können,
um in dieser Spiele-Maschine den Steuerungszustand einer anderen
Spiele-Maschine widerzuspiegeln, ohne diese auszutauschen.
-
Der
Videoblock 11 umfasst einen Bildausgabeprozessor (VDP) 110,
Graphikspeicher 111 und einen Videocodierer 112.
In dem Graphikspeicher 111 sind Bilddaten gespeichert,
die wie schon beschrieben von der CD-ROM ausgelesen worden sind.
Der Bildausgabeprozessor 110 ist so ausgelegt, dass er imstande
ist, die Bilddaten, die für
eine Bildanzeige erforderlich sind, aus den im Graphikspeicher 111 gespeicherten
Bilddaten auszulesen und Koordinatenumrechnungen (geometrische Berechnungen),
Texturabbildungsroutinen, eine Anzeigeprioritätsverarbeitung und eine Schattierungsverarbeitung
usw. je nach den von der CPU 101 gelieferten Daten, die
für die
Bildanzeige erforderlich sind, d.h. je nach den Steuerdaten, Ansichtspunktpositionsdaten,
Lichtquellenpositionsdaten, Objektbezeichnungsdaten, Objektpositionsdaten,
Texturbezeichnungsdaten, Texturdichtedaten und Sichtfeld-Matrixdaten usw. auszuführen. Außerdem kann
die Konfiguration derart sein, dass eine solche Verarbeitung wie
die oben erwähnte
Koordinatenumrechnung von der CPU ausgeführt wird. Das heißt, dass
die Verarbeitung verschiedenen Einrichtungen entsprechend den Rechenmöglichkeiten
jeder Einrichtung zugeteilt werden kann. Der Videocodierer 112 ist
so konfiguriert, dass er imstande ist, die von dem Bildausgabeprozessor 110 erzeugten
Bilddaten in vorgeschriebene Fernsehsignale, wie etwa nach der NTSC-Norm,
umzusetzen und diese Signale an eine extern angeschlossene Monitoreinheit 4 auszugeben.
-
Der
Soundblock 12 umfasst einen Soundprozessor 120,
Soundspeicher 121 und einen D/A-Umsetzer 122.
In den Soundspeicher 121 werden die Audiodaten gespeichert,
die wie schon beschrieben von der CD-ROM ausgelesen werden. Der
Soundprozessor 120 ist so ausgelegt, dass er basierend
auf den von der CPU 101 gelieferten Befehlsdaten Audiodaten,
wie etwa in dem Soundspeicher 121 gespeicherte Signalformdaten,
ausliest, basierend auf den Funktionen des DSP (digitalen Signalprozessors) verschiedene
Effektverarbeitungen ausführt
und eine Digital/Analog-Umsetzungsverarbeitung usw. vornimmt. Der
D/A-Umsetzer 122 ist so konfiguriert, dass er imstande
ist, die von dem Soundprozessor 120 erzeugten Audiodaten
in Analogsignale umzusetzen und diese an extern angeschlossene Lautsprecher 5 auszugeben.
-
Die
Datenübertragungseinrichtung 130 ist beispielsweise
ein Modem oder ein Terminaladapter, so konfiguriert, dass es bzw.
er an die Spiele-Maschine angeschlossen werden kann, und fähig, als
ein Adapter zum Anschließen
der Spiele-Maschine 1 an eine
Verbindung nach außen
zu fungieren. Außerdem
ist die Datenübertragungseinrichtung 130 so
beschaffen, dass sie imstande ist, Daten zu empfangen, die von einem
an ein öffentliches
Kommunikationsnetz 131 angeschlossenen Spielbereitstellungsserver
gesendet worden sind, und diese Daten an den Bus des CPU-Blocks 10 zu
liefern. Es gibt keine Einschränkung
bei dem öffentlichen
Kommunikationsnetz 131 diesbezüglich, ob es Teilnehmerleitungen oder
Standleitungen, Überlandleitungen
oder drahtlose Verbindungen umfasst.
-
(Beschreibung der Funktionsweise)
-
Als
Nächstes
wird die Funktionsweise dieser Spiele-Maschine beschrieben.
-
Das
Rollenspiel, das durch den Betrieb dieser Spiele-Maschine geschaffen
wird, baut auf einer Story auf, bei der sich eine Figur, die einem
Helden entspricht, der durch die Steuerung des Spielers gespielt
wird, durch eine virtuelle Welt bewegt. Die Objekte, die in dem
virtuellen Raum entfaltet werden (d.h. die angezeigten Gebilde,
die durch Programmdaten und Bilddaten im Voraus festgelegt sind),
umfassen den Boden und anderes Gelände, Gebäude, Bäume, Flammen, Wolken und auch
die Figuren, nämlich
den Helden und andere Personen, die in dem Spiel auftreten. Eine
besondere Aufgabe besteht bei dieser Spiele-Maschine darin, Objekte
in Formen anzuzeigen, die jenen, die in der natürlichen Welt vorkommen, ähnlich sind.
Dazu werden Einstellungen in der Weise vorgenommen, dass Objekte und
Formänderungen,
die mit dem sich entwickelnden Rollenspiel notwendig werden, so
naturgemäß wie möglich dargestellt
werden, um nicht die Konzentration des Spielers zu erschweren. Im
Folgenden wird die Bildverarbeitung, die geboten wird, beschrieben.
-
Die
von dieser Spiele-Maschine gelieferten Bilder sind Bilder, die auf
eine vorgeschriebene zweidimensionale Ebene projiziert werden, sodass
der dreidimensional erstellte Raum als von einem vorgeschriebenen
Ansichtspunkt aus betrachtet erscheint. Die Einstellungen werden
so vorgenommen, dass der virtuelle Raum verlagert werden kann, wobei
eine mehr oder weniger feste Lagebeziehung zwischen der Position
des Ansichtspunkts und der Figur, die dem Helden entspricht, beibehalten
wird. Folglich werden dem Spieler Bilder geliefert, die wie jene
aussehen, die dem Auge des Helden, der sich durch die virtuelle
Welt bewegt, nacheinander erscheinen.
-
Wenn
während
des Spielablaufs die Figur, die dem Helden entspricht, ein Gebäude betritt,
wird, wenn die Gebäudeanzeige
unverändert
gelassen wird, dann die Situation im Inneren des Gebäudes dem
Spieler nicht gezeigt, da sie durch Wände versperrt ist, die Trennelemente
sind. Herkömmlich
wird entweder die Wand des Gebäudes,
die auf der Seite des Ansichtspunkts ist, kurz unsichtbar gemacht
und wieder angezeigt, oder das Gebäudes selbst wird von Anfang
an als ein Gebäude
ohne Dach erstellt. Bei einer solchen Anzeige wechselt jedoch plötzlich die
Anzeige, oder es wird Unnatürlichkeit
vermittelt. Da die Wände,
aus denen das Gebäude
aufgebaut ist, Texturdaten aufweisen, die auf ein Polygon abgebildet
sind, wird auch ihre Schnittfläche
als ein einziges Element angezeigt, was völlig unnatürlich ist.
-
Deshalb
werden bei dieser Spiele-Maschine die vorangehend erwähnten Schwierigkeiten
beseitigt, indem die Wand des Gebäudes auf der Seite des Ansichtspunkts
so angezeigt wird, dass sie allmählich
dünner
wird, wenn eine Figur das Gebäude
betritt. Außerdem
haben die Gebäudewände eine
bestimmte Dicke, sodass ihre Schnittflächen nicht unnatürlich aussehen.
-
In 2A ist
ein Ablaufplan gegeben, der diese Bildverarbeitung darstellt, und
in 2B ist eine Unterroutine für diese Bilderzeugungsverarbeitung
gezeigt. Diese Verarbeitungen werden bei einer Bildaktualisierung
ausgeführt,
beispielsweise jede Rahmenperiode einmal. In 3 bis 7 sind
Bildanzeigebeispiele gegeben, die diese Bildverarbeitung von Anfang
bis Ende zeigen.
-
Spielablaufroutine
(Schritt S11): Zuerst berechnet die CPU 101 basierend auf
Steuersignalen, die von der Eingabevorrichtung 107 geliefert
werden, eine neue Position für
eine Figur im virtuellen Raum für
die nächste
Bildanzeigezeit. Wenn es neben der Figur weitere Objekte gibt, für die eine
Bewegung festgesetzt wird, werden auch für diese neue Positionen berechnet.
-
Bedingungsbeurteilung
(S12): Als Nächstes entscheidet
die CPU 101, ob die Figur versucht, ein Gebäude zu betreten,
oder nicht. Diese Bedingung ist auf verschiedene Weise denkbar.
Beispielsweise ist es möglich
zu beurteilen, dass die Figur das Gebäude in dem Moment „betreten
hat", in dem die
Entfernung von der Mitte des Gebäudes
zur Mitte der Figur unter einen bestimmten Wert fällt. Oder
es kann eine bekannte Kollisionsbeurteilung für das Gebäudeobjekt und die Figur ausgeführt werden,
wobei gefolgert wird, dass die Figur das Gebäude betreten hat, wenn eine
Kollision stattgefunden hat. Alternativ kann die Bedingung der Zustand
einer Handlung sein, die von der Figur mit Bezug auf ein Objekt
innerhalb oder außerhalb
des Gebäudes
vorgenommen wird, wie etwa das Erklimmen der Treppe oder das Öffnen einer
Tür oder
das Öffnen
eines Fensters usw.
-
Ein
Beispiel für
eine Bildanzeige, wenn diese Bedingung erfüllt ist (ja im Schritt S12),
ist in 3 gegeben. In 3 sind ein
Gebäudeobjekt
B und eine Figur C dreidimensional dargestellt. Die Figur C hat
sich der Tür
des Gebäudes
B genähert.
Wenn diese Bedingung nicht erfüllt
ist (nein im Schritt S12), wird es keine Dichteänderungsverarbeitung geben, und
die CPU 101 führt
die normale Bilderzeugungsverarbeitung aus (S16).
-
Spezifizieren
von Objekten für
eine Dichteänderung
(S13): Nachdem die oben erwähnte
Bedingung erfüllt
worden ist, spezifiziert die CPU 101 ein Objekt, dessen
Dichte verändert
werden soll. Das heißt,
die CPU 101 bestimmt spezifische Darstellungselemente (Polygongruppen)
für das
Gebäude, bei
denen die Dichte von Relativpositionen der Figur und des Gebäudes an
verringert wird. Beispielsweise wird, sobald festgestellt worden
ist, dass die Figur dabei ist, das Erdgeschoss des Gebäudes zu
betreten, eine Objektnummer, die das „Erdgeschoss des Gebäudes" als ein Objekt bezeichnet,
bei dem die Dichte verändert
wird, in eine vorgeschriebene Dichteänderungsmodusvariable (beispielsweise
in den 4 höherwertigen
Bits gespeichert) eingesetzt (S14). Alternativ kann die Objektnummer
anhand des Spielverlaufs spezifiziert werden. Wenn beispielsweise
das Gebäude
ein zweistöckiger
Bau ist und die Figur von außen
hineingeht, kann beurteilt werden, dass die Figur das Erdgeschoss
des Gebäudes
betritt.
-
Spezifizieren
des Dichteänderungsmerkers (S15):
Die CPU 101 setzt dann einen Merker in der Dichteänderungsmodusvariablen,
je nachdem, ob die Dichte so geändert
wird, dass sie kleiner oder größer wird
(Setzen des Wertes der 4 niedrigen Bits beispielsweise auf 1 für „dünner machen", auf zwei für „dichter
machen" und auf
0 für „keine
Veränderung" (Null-Hinweis)). Wenn die
Figur in das Gebäude
eintritt, muss der vordere Teil des Gebäudes dünner dargestellt werden, um
es möglich
zu machen, das Innere des Gebäudes
zu sehen. Im umgekehrten Fall, wenn die Figur das Gebäude verlässt, muss die Textur
des vorderen Teils des Gebäudes
dichter gemacht werden, um die Gebäudedarstellung wieder in den
ursprünglichen
Zustand zu versetzen. Die CPU 101 beurteilt unter Bezugnahme
auf die verschiedenen Merker, die Spielverlaufzustände angeben,
welche Handlungen die Figur vornimmt, oder die Richtung der Bewegung
und bestimmt den Dichteänderungsmodus.
Dann speichert sie einen im Voraus festgelegten Code, der den Dichteänderungsmodus angibt,
zusammen mit der Objektnummer in der Dichteänderungsmodusvariablen. Wenn
ein Code in dieser Variablen gesetzt ist (wenn beispielsweise ein von
0 verschiedener Wert gespeichert ist), geht die CPU 101 davon
aus, dass der Dichteänderungsmerker
gesetzt bzw. eingeschaltet ist. Das Verfahren, durch das Variablen
Dichteänderungscodes
zugeordnet werden, kann auf verschiedene Weise gestaltet oder modifiziert
werden.
-
Bilderzeugungsverarbeitung
(S16): Wenn das oben beschriebene Einstellen des Dichteänderungsmodus
abgeschlossen ist, geht die CPU 101 zur Bilderzeugungsverarbeitung
weiter. Es wird hier keine Beschreibung der normalen Bilderzeugungsverarbeitung
gegeben. Die Beschreibung setzt bei dem Stadium ein, in dem für ein Gebäude eine
Verarbeitung ausgeführt
wird, um Textur abzubilden und eine Schattierung zu erwirken. Zuerst
nimmt die CPU 101 auf die Dichteänderungsmodusvariable Bezug. Wenn
der Merker nicht gesetzt bzw. ausgeschaltet ist (nein im Schritt
S101), d.h. wenn es keine Veränderung
der Dichte geben soll, lässt
die CPU 101 die Gebäudetexturdichte,
wie sie ist, und führt
einen Rücksprung
aus.
-
Wenn
der Merker gesetzt bzw. eingeschaltet ist (ja im Schritt S101),
d.h. wenn die Dichte verändert
werden soll, nimmt die CPU 101 wieder auf den Variablencode
Bezug und liest die Nummer des Objekts, dessen Dichte verändert werden
soll, und den Dichteänderungsmodus
aus. Wenn ein Modus zur Erhöhung
der Dichte festgesetzt worden ist („dichter machen" im Schritt S102),
wird eine Schattierungsverarbei tung ausgeführt (S103), um bei den Texturdaten,
die auf die Polygongruppe (spezifischen Darstellungselemente) abgebildet
werden, die den Teil des Gebäudes
auf der Seite des Ansichtspunkts festlegt und der dieser Objektnummer
zugeordnet ist, die Dichte um eine Abstufung zu erhöhen. Die
Abstufungen, die diese Dichte bestimmen, können auf unterschiedliche Weise
verändert
werden – entsprechend der
Geschwindigkeit, mit der die Dichte verändert werden muss. Wenn es
wenige Abstufungen gibt, wird die Veränderung plötzlich sein, während dann, wenn
es viele Abstufungen gibt, die Veränderung langsam geschehen wird.
Wenn beispielsweise 60 Abstufungen festgesetzt sind, können Einstellungen vorgenommen
sein, um die Dichteänderungen
mit 60 Schleifen-Routinen durchzuführen (ungefähr 1 Sekunde bei der NTSC-Norm).
Diese Abstufungen werden mit einem Befehl festgesetzt, der dem Videoblock 11 zugeführt wird.
-
Wenn
die Dichteänderung
bis zur dichtesten Abstufung fortgeschritten ist (d.h. gewöhnlich undurchsichtige
Anzeige) (ja im Schritt S104), wird der Dichteänderungsmerker ausgeschaltet,
d.h. dass die Dichteänderungsmodusvariable
auf null zurückgesetzt
wird usw. (S105).
-
Während die
Veränderung
der Dichte stattfindet (nein im Schritt S104), wird der Dichteänderungsmerker
nicht ausgeschaltet bzw. zurückgesetzt. Dieser
Ablauf ist beispielsweise in der in 4 bis 7 gezeigten
Abfolge angegeben. Sobald die Figur C in das Gebäude B eingetreten ist, wird
die Texturdichte der Polygongruppe, welche bei den Polygonen, die
das Gebäude
B festlegen, die spezifischen Darstellungselemente bildet, geringer.
Schließlich werden
die spezifischen Darstellungselemente völlig unsichtbar, wie in 7 gezeigt
ist, und es werden Objekte 01 bis 04, die im Inneren des Gebäudes entfaltet
werden, und die durch den Raum laufende Figur C angezeigt. Wie man
anhand 7 versteht, sind die Objekte, welche die Einrichtung
und die Innenausstattung darstellen, keiner Dichteänderung unter worfen,
wobei es zu bevorzugen ist, dass diese entlang der Wand, so weit
hinten wie möglich,
vom Ansichtspunkt aus gesehen, entfaltet werden, damit die Situation
im Innenbereich leicht beobachtet werden kann.
-
Bei
dieser Spiele-Maschine haben die Wände des Gebäudes eine vorgegebene Dicke.
Herkömmlich
hatten Wände
keine Dicke, weshalb Dinge unnatürlich
ausschauten, wenn ein Teil des Gebäudes entfernt war. Bei der
vorliegenden Erfindung sind Polygone festgelegt, um die Außenwände des
Gebäudes
zu bilden, bzw. Polygone, um die Innenwände des Gebäudes zu bilden, wobei ein bestimmter Abstand
zwischen diesen zwei Gruppen von Polygonen festgesetzt ist. Deswegen
können
dann, wenn die Dichte der spezifischen Darstellungselemente wie
vorangehend beschrieben dünner
wird, durch diese hindurch die Darstellungselemente, für die festgelegt
ist, dass sie keiner Dichteänderung
unterzogen werden, gesehen werden, und die Schnittflächen zwischen
den Außenwänden und
den Innenwänden des
Gebäudes
werden sichtbar. Das Aussehen wird unnatürlich sein, wenn auf diese
Schnittflächen
keine Textur abgebildet wird, weshalb bei dieser Spiele-Maschine
zwischen die zwei Wände
Schittflächentexturdaten
abgebildet werden. In 7 sind die Schnittflächen SS1
bis SS5 sichtbar. Bei SS1 bis SS3 werden Schnittflächentexturdaten
senkrechter Wände
abgebildet, während
bei SS4 und SS5 Fußbodenschnittflächendaten
abgebildet werden. Da auf diese Schnittflächen Textur aufgebracht wird,
wird auch dann keine Unnatürlichkeit
aufkommen, wenn die spezifischen Darstellungselemente durchsichtig
werden, und dem Spieler kann die Illusion gegeben werden, dass er
tatsächliche
Gebäudeschnittflächen sieht.
-
Wenn
im Schritt 102 der Dichteabnahmemodus festgesetzt ist („dünner machen" im Schritt S102),
wird die Verarbeitung die Umkehrung der oben beschriebenen sein.
Das heißt,
es wird eine Schattierungsverarbeitung ausgeführt (S106), um bei den Texturdaten,
die auf die Polygongruppe (spezifische Darstellungselemente) abgebildet
werden, die den Teil des Gebäudes
auf der Seite des Ansichtspunkts festlegt und der diese Objektnummer
zugeordnet ist, die Dichte um eine Stufe herabzusetzen. Wenn die
Dichteänderung
bis zur dünnsten
Abstufung fortgeschritten ist (d.h. durchsichtige Anzeige) (ja im
Schritt S107), wird der Dichteänderungsmerker ausgeschaltet,
d.h. dass die Dichteänderungsmodusvariable
auf null zurückgesetzt
wird usw. (S105). Während
die Veränderung
der Dichte stattfindet (nein im Schritt S107), wird der Dichteänderungsmerker nicht
ausgeschaltet bzw. zurückgesetzt.
-
Die
vorangehend beschriebene Verarbeitung ist nicht auf die Fälle eines
Eintretens in ein Gebäude oder
Verlassens eines Gebäudes
beschränkt,
sondern kann außerdem
auf verschiedenste Veränderungen
angewendet werden. Beispielsweise kann in einem Fall, in dem es
mehrere Räume
in dem Gebäude
gibt, für
jeden Raum eine Objektnummer festgesetzt werden, und es kann eine
Steuerung bewirkt werden, um die Dichte jeweils für einen
Raum zu erhöhen
oder herabzusetzen. Mit anderen Worten, in einem Fall, in dem sich
eine Figur von einem Raum in einen anderen bewegt, wobei das Erreichen
der Schwelle eines Raums als die schon beschriebene Bedingung genommen
werden kann, ist es möglich, den
Raum, der durchquert worden ist, allmählich dichter werden zu lassen
und zum ursprünglichen Zustand
zurückkehren
zu lassen, und die Dichte des Raums, der gerade betreten wird, allmählich dünner werden
zu lassen.
-
Wenn
das Gebäude
wie in 3 bis 7 gezeigt ein zweistöckiger Bau
ist, kann die Bedingung sein, dass die Figur die Treppe erklimmt
(02 in 7); dann kann die Dichte der spezifischen Darstellungselemente,
die für
das Erdgeschoss festgesetzt sind, wieder in ihren ursprünglichen
Zustand versetzt werden und die Dichte der spezifischen Darstellungselemente,
die separat für
den zweiten Stock festgesetzt sind, verringert werden. Wenn die
Treppe herab gestiegen wird, wird der Vorgang umgekehrt. Basierend
auf einer Verarbeitung wie dieser können gemäß dem Vorwärtskommen der Figur Wände auf natürliche Weise
beseitigt und wiederhergestellt werden, weshalb nicht die Gefahr
einer Beeinträchtigung der
Konzentration des Spielers besteht.
-
Basierend
auf dieser Ausführungsform
ist es möglich,
wenn eine Figur ein Objekt, wie etwa ein Gebäude, betritt oder verlässt, natürliche Anzeigeübergänge herbeizuführen, ohne
das Realismusempfinden eines Spielers, der völlig in die Spielwelt eingetaucht
ist, herabzumindern.
-
(Zweite Ausführungsform)
-
Diese
Ausführungsform
betrifft ein Verfahren, das ermöglicht,
bei Spiele-Maschinen, die gewissen Einschränkungen bei der Verarbeitungskapazität unterliegen,
Objekte, wie etwa Bäume,
frappierend realistisch darzustellen, ohne unnatürliche Bilder anzuzeigen.
-
Die
bei dieser zweiten Ausführungsform
verwendete Hardware ist die gleiche wie bei der ersten Ausführungsform
und wird deshalb hier nicht weiter beschrieben. Man kann jedoch
davon ausgehen, dass Polygondaten und Texturdaten usw., um die Anzeige
von Bäumen
bei der vorliegenden Erfindung zu ermöglichen, von CD-ROM in die
Spiele-Maschine eingelesen werden. Im Folgenden wird die Funktionsweise
beschrieben.
-
In
einer virtuellen Welt wird, wenn sich eine Figur, die einem Helden
entspricht, einem Objekt (wie etwa einem Baum) nähert, dieses Objekt größer angezeigt,
ebenso wie wenn sich wirklich einem Baum genähert wird.
-
Bei
den herkömmlichen
Verfahren zum Anzeigen eines Baumes wird die Textur des gesamten Baumes
auf einem ebenen Polygon dargestellt, oder es wird eine Zusammensetzung
gebildet, bei der Polygone, auf die Textur abgebildet worden ist,
damit sie Blätter
darstellen, in Kreuzform in der Mitte des Stamms eingebracht werden,
oder Bäume
werden mittels kugelförmiger
Objekte dargestellt, wobei Texturdaten auf die Polygone abgebildet
werden, um ein baumartiges Aussehen herbeizuführen. Wenn sich der Ansichtspunkt
dem Baum nähert,
werden daher die Blätter
wie Tafeln angezeigt, was eine baumunähnliche Darstellung ergibt.
-
Im
Gegensatz dazu werden bei dieser Spiele-Maschine (beispielsweise
schirmförmige)
Objekte konfiguriert, wobei flache Darstellungselemente, auf die
Texturdaten abgebildet worden sind, radial um eine Mittellinie derart
entfaltet werden, dass sie die Mittellinie unter einem bestimmten
Winkel schneiden. Dann werden eines oder mehrere dieser schirmförmigen Objekte
so in dem virtuellen Raum angeordnet, dass sie aufgestapelt sind,
wodurch möglich
gemacht wird, auch dann ein baumartiges Bild darzubieten, wenn sich
genähert
wird.
-
In 8 ist ein schirmförmiges Objekt der bei dieser
Spiele-Maschine dargebotenen Baumobjekte in einer Drahtgitterdarstellung
gezeigt. 8A ist eine Schrägansicht
davon, während 8B eine Draufsicht
davon ist. In 8 ist das schirmförmige Objekt
unter Verwendung von acht Dreieckspolygonen als ein Achteck konfiguriert,
jedoch sind Anzahl und Form der Polygone nicht hierauf beschränkt. Es wird
möglich,
baumartige Darstellungen durch Abbilden von Strukturdaten, die aus
Punkten bestehen, die auf subtile Weise verschiedene Dichten bzw. Farbschattierungen
aufweisen, auf diese Polygone herzustellen. Wenn alle Polygone so
beschaffen sind, dass eine Seite nach unten zeigt, d.h. dass sie eine
Schirmform bilden, kann das Erscheinungsbild einer Zeder oder einer
anderen immergrünen
Pflanze erzielt werden, und wenn die Polygone zufällig entfaltet
werden, wobei einige nach oben zeigen und andere nach unten, kann
das Erscheinungsbild eines Baumes mit breitem Blatt erzielt werden.
-
9 ist
eine schematische Darstellung eines Baumobjekts mit fünf der oben
beschrieben schirmförmigen
Objekte (C1 bis C5). Dieses Baumobjekt wird durch Entfalten der
schirmförmigen
Objekte C1 bis C5 um das Stammobjekt T, das die Mittellinie A umgibt,
konfiguriert. Die Winkel, unter denen die Polygone, welche die schirmförmigen Objekte
C1 bis C5 konfigurieren, die Mittellinie A schneiden, können alle
gleich sein oder können
verschieden sein. Das gleiche gilt für die Radien r1 bis r5 der schirmförmigen Objekte
und die Abstände
p12, p23, p34 und p45 zwischen den schirmförmigen Objekten. Es ist möglich, sehr
realitätsnahe
Bilder anzuzeigen, indem man die Anzahl der schirmförmigen Objekte größer und
den Abstand p kleiner macht, jedoch führt dies auch zu einem größeren Datenvolumen
und zu einer längeren
Verarbeitungszeit. Folglich werden diese entsprechend der Speicherkapazität und der Rechenleistung
festgelegt.
-
Genauer
gesagt sind die Bilderzeugungsprozeduren wie in 10 schematisch
dargestellt. Bei dem schon beschriebenen Bilderzeugungsprozess (2A,
Schritt S16) spezifiziert die CPU 101 zuerst Polygone,
parallel zu der sonstigen Objektbilderzeugung, und bestimmt eine
Polygondatengruppe für
die Anzeige der Objekte (S1). Auf diese Weise werden die zu verwendenden
Polygone spezifiziert. Als Nächstes
sendet die CPU 101 Objektbezeichnungsdaten, die auf Matrixdaten
verweisen, welche die spezifizierten Polygone und ihre Größe festlegen,
an den Videoblock 11. Auf diese Weise werden die Formen
jedes verwendeten Objekts bestimmt (S2). Die CPU 101 sendet
außerdem
Objektpositionsdaten, welche die räumliche Positionierung der
schirmförmigen
Objekte und des Stamm-Objekts festlegen, an den Videoblock. Folglich
sind die Baumformen mit Ausnahme der Textur bestimmt (S3). Schließlich werden
Texturbezeichnungsdaten gesendet, die die Textur bezeichnen, die
auf die Polygone abgebildet werden soll, welche die schirmförmigen Objekte
und das Stamm-Objekt bilden. Im Videoblock 11 werden diese Texturdaten
abgebildet, und das Baumobjekt wird fertiggestellt. Dieses Objekt
wird für
das Sichtfeld umgerechnet und als Bild angezeigt (S4).
-
Die
oben beschriebenen schirmförmigen
Objekte können
auf verschiedene Weise verändert
werden. Wenn beispielsweise die Anordnung der Texturen T1 bis T8
wie in 11 schematisch dargestellt, die
in dem schirmförmigen
Objekt entfaltet wird, gemeinhin für alle schirmförmigen Objekte
festgesetzt wird, ist es möglich,
die Positionierung, mit der die Textur in der Reihenfolge C1, C2,
C3 usw. abgebildet wird, zu verlagern. Wenn dies geschieht, wird
auch dann keine identische Textur vertikal aufgestapelt, wenn die
gleiche Textur auf die schirmförmigen
Objekte abgebildet wird, was ermöglicht,
das Erscheinungsbild eines natürlichen
Baumes darzubieten.
-
Außerdem ist
es einfach, den Schirmdurchmesser größer zu machen, indem die Polygone
an den Umfangsseiten bei den schirmförmigen Objekten C2 bis C5,
d.h. bei allen außer
dem obersten schirmförmigen
Objekt C1, verschoben werden, wie in 12 schematisch
dargestellt ist. Da es nicht erforderlich ist, die Größe der Polygone
zu verändern, kann
die Rechenzeit verkürzt
werden.
-
Es
ist auch möglich,
die Polygone, die das schirmförmige
Objekt konfigurieren, so zu entfalten, dass sie nach oben und unten
verschoben sind, wie in 13 schematisch
dargestellt ist, sodass sie einander nicht berühren. Wenn dies geschieht, überdecken
die Blätter
des Baumes einander in mehreren Lagen, was ermöglicht, ein natürlicheres
Baum-Erscheinungsbild darzubieten. Alternativ kann das Entfalten
so vorgenommen werden, dass das Objekt fächerförmig mit versetzt angeordneten
Schnittflächen ist.
-
Die
Beschreibung dieser Ausführungsform bezieht
sich auf die Darstellung eines Baumes, jedoch sind die Objekte,
für welche
diese Beschreibung gelten kann, nicht auf Bäume beschränkt. Es ist möglich, diese
Beschreibung auf alle möglichen
Objekte anzuwenden, die komplizierte Formen aufweisen und deshalb
eine enorme Anzahl von Routinen benötigen, um originalgetreu zu
reproduzieren, und die, wenn sie mit einer einfachen Textur dargestellt werden,
schließlich
zu unnatürlichen
Anzeigen werden, wenn sich ihnen genähert wird.
-
Basierend
auf dieser zweiten Ausführungsform
wird der Vorteil erlangt, dass Objekte, wie etwa Bäume, auch
dann mit einem natürlichen
Erscheinungsbild angezeigt werden können, wenn eine Figur sich
ihnen nähert,
sodass dem Realismusempfinden des Spielers nicht geschadet wird.
-
(Dritte Ausführungsform)
-
Diese
Ausführungsform
betrifft ein weiteres Verfahren, das ermöglicht, wie in der zweiten
Ausführungsform,
sehr realitätsnahe
Bäume darzustellen.
-
Die
bei dieser dritten Ausführungsform
verwendete Hardware ist die gleiche wie bei der ersten Ausführungsform
und wird deshalb hier nicht weiter beschrieben. Man kann jedoch
davon ausgehen, dass ein Programm, Polygondaten und Texturdaten usw.
zum Ermöglichen
der Anzeige von Bäumen
bei der vorliegenden Erfindung von CD-ROM in die Spiele-Maschine
eingelesen werden. Im Folgenden wird die Funktionsweise beschrieben.
-
Während bei
der oben beschriebenen zweiten Ausführungsform die Formen der Darstellungselemente
zum Darstellen von Anhäufungen
von Blättern
zur Darstellung eines Baumobjekts als besondere Formen gezeichnet
werden, werden bei dieser dritten Ausführungsform ebene Darstellungselemente, auf
die Textur abgebildet worden ist, damit sie Blätteranhäufungen repräsentieren,
in einer Vielzahl in einem bestimmten Raum bereich um den Stamm entfaltet,
um ein Objekt zu konfigurieren.
-
In 14 ist
eine Schrägansicht
gegeben, die ein Baumobjekt in dieser Ausführungsform zeigt, das als ein
Drahtgitter dargestellt ist. Wie 14 schematisch
zeigt, ist das Baumobjekt als ein Darstellungselement T, das den
Stamm repräsentiert, und
eine Vielzahl von Darstellungselementen P, die Anhäufungen
von Blättern
repräsentiert,
konfiguriert.
-
Das
den Stamm repräsentierende
Darstellungselement T ist mittels einer Vielzahl von Polygonen in
der räumlichen
Gestalt eines Baumes konfiguriert. Jedes der eine Blätteranhäufung repräsentierenden
Darstellungselemente P ist aus einem einzigen Polygon mit einer
entsprechend vorgeschriebenen Anzahl (beispielsweise 4) von Scheitelpunkten gebildet.
Die Darstellungselemente P werden in dem Raumbereich um das den
Stamm repräsentierende Darstellungselement
T entsprechend entfaltet. Die Entfaltung des Darstellungselements
P wird im Voraus so festgelegt, dass, von Positionen in dem virtuellen
Raum aus betrachtet, an denen sich der Ansichtpunkt hauptsächlich befindet,
die Überdeckungen
des Darstellungselements P wenige werden. Solche Baumobjekt-Bilddaten
werden im Voraus auf die CD-ROM usw. gespeichert.
-
In 15 ist
eine schematische Darstellung des Richtungssteuerungsverfahrens
bei dieser Ausführungsform
gegeben.
-
Die
Richtungssteuerung wird bei dieser Ausführungsform, wie in 15 schematisch
dargestellt, durch Festlegen eines Vektors V1 von einem repräsentativen
Punkt jedes Baumobjekts in Verbindung mit dem Ansichtspunkt VP und
Steuern der Richtung jedes Darstellungselements P so, dass die Vielzahl der
Darstellungselemente P, die dieses Objekt konfiguriert, in Richtung
des Vektors V1 von dem repräsentati ven
Punkt zeigt, bewirkt. Mit anderen Worten, die Richtungen, denen
die Ebenen jedes der Vielzahl von Darstellungselementen zugekehrt
sind, werden dynamisch und einheitlich in Übereinstimmung mit der Richtung
V0 des Ansichtspunkts VP verändert, wobei
die Darstellungselemente so gesteuert werden, dass sie immer in
die gleiche Richtung zeigen.
-
Der
Vektor zu dem repräsentativen
Punkt V1 wird für
einen beliebigen Punkt an dem Baumobjekt festgelegt. Der beliebige
Punkt braucht nicht bei einem Darstellungselement P oder T festgelegt
zu werden, wird hier aber an dem spezifischen Darstellungselement
P0 festgelegt. In welche Richtung das spezifische Darstellungselement
P0 auch zeigt, die anderen Darstellungselemente P werden in dieselbe Richtung
zeigen, weshalb es vorzuziehen ist, dass ein Darstellungselement
P nahe der Mitte des Baumobjekts das spezifische Darstellungselement
P0 bildet.
-
Außerdem ist
es vorzuziehen, dass der Vektor V1 zu dem repräsentativen Punkt in derselben Richtung
wie die Linie des Blickvektors V0, d.h. in der z-Achsen-Dimension
der Sichtfeldumrechnung, festgelegt wird. Der Grund dafür ist, dass
dann das spezifische Darstellungselement P immer in die Richtung des
Ansichtspunkts VP zeigt und die anderen Darstellungselemente P ebenfalls
mehr oder weniger in die Richtung des Ansichtspunkts VP zeigen werden.
-
In 16 ist
eine vergrößerte Ansicht
eines eine Blätteranhäufung repräsentierenden
Darstellungselements P gegeben. Das Darstellungselement P hat beispielsweise
eine Quadratform, die durch die Koordinaten der Scheitelpunkte VX1
bis VX4 definiert ist. Es gibt keine Beschränkung der Anzahl der Scheitelpunkte,
jedoch ist es ausreichend, 3 oder 4 vorzusehen. Jedes Darstellungselement
P kann auf beliebige Weise um die drei Drehachsen X, Y und Z, die
sich in seinem Mittelpunkt (Schwerpunkt) schneiden, gedreht werden.
Insbe sondere wird es im Falle der Entfaltung eines Darstellungselements
P, das in einem Körperkoordinatensystem
in einem Weltkoordinatensystem definiert ist, durch Drehen über einen festgelegten
Drehwinkel um jede der Achse X, Y und Z positioniert. Folglich ist
jedes Darstellungselement P so konfiguriert, dass es möglich ist,
seine Normalenrichtung in eine beliebige Richtung zu orientieren, und
die Darstellungselemente P können
immer gemäß der Position
des Ansichtspunkts richtungsgesteuert werden.
-
Innerhalb
jedes Darstellungselements P werden die gleichen Texturdaten PT
abgebildet. Wenn überschüssiger Speicher
zur Verfügung
steht, können
etliche Typen von Texturdaten bereitgestellt werden. Da es jedoch
möglich
ist, ein adäquates
Erscheinungsbild durch die lineare Interpolation von Helligkeits-(Dichte-)
Werte darzustellen, ist ein Typ ausreichend. Auch wenn die gleichen
Texturdaten verwendet werden, ist es dennoch vorzuziehen, dass die
Richtung der Abbildung für
jedes Darstellungselement P zufällig
geändert
wird. Falls eine Technik wie diese angewendet wird, werden die Blätteranhäufungen
in verschiedenen Formen angezeigt, wodurch es möglich ist, sehr natürliche Bäume darzustellen,
obwohl Daten für
eine identisch geformte Textur verwendet werden.
-
Für jeden
Scheitelpunkt, der ein Darstellungselement P konfiguriert, wird
für das
Definieren der linearen Interpolation der Helligkeit ein Gewichtskoeffizient
festgesetzt. Dieser Wert kann wie gewünscht festgesetzt werden. Wenn
er auf den Bereich von beispielsweise 0 bis 1 beschränkt ist,
kann man davon ausgehen, dass die Helligkeit null ist (d.h. der
Bildschirm schwarz ist), wenn dieser Wert 0 ist, und 100 % ist (d.h.
der Bildschirm weiß ist),
wenn der Wert 1 ist. Die Verarbeitungseinheit ist so konfiguriert,
dass dann, wenn Textur auf ein Darstellungselement P abgebildet
wird, die Helligkeit der auf dieses Darstellungselement P abgebildeten
Textur mittels der Gewichtskoeffizienten für jeden Scheitelpunkt linear
interpoliert werden kann. Wenn beispielsweise ein Gewichtskoeffizient
von 1 für
einen Scheitelpunkt des Darstellungselements festgesetzt ist und
ein Gewichtskoeffizient von 0 für
den anderen Scheitelpunkt, wird die Textur zwischen diesen zwei
Scheitelpunkten mit einer Abstufung angezeigt, derart, dass von
dem einen Scheitelpunkt zum anderen die Helligkeit von hell zu dunkel
allmählich
abnimmt.
-
In 17A ist ein Beispiel für eine Texturabbildung gezeigt,
bei der die Gewichtskoeffizienten aller Scheitelpunkte auf 1 gesetzt
sind, und in 17B ist ein Beispiel für eine Texturabbildung
gezeigt, bei der die Gewichtskoeffizienten der Scheitelpunkte an einander
gegenüberliegenden
Seiten verändert
sind. Wenn wie in 17A gezeigt für alle der
Scheitelpunkte der gleiche Gewichtskoeffizient festgesetzt ist,
ist die Anzeige flach, ohne Helligkeitsunterschiede. Im umgekehrten
Fall, wenn die Gewichtskoeffizienten der Scheitelpunkte verändert werden,
wird ein Helligkeitsunterschied sichtbar, als ob aus einer Richtung
Sonnenlicht einfallen würde,
was ein dreidimensionales Aussehen zur Folge hat.
-
Im
Folgenden wird die Funktionsweise dieser Ausführungsform mit Bezug auf den
in 18 gegebenen Ablaufplan beschrieben.
-
Wenn
es erforderlich ist, ein Baumobjekt im virtuellen Raum anzuzeigen,
erzeugt die CPU 101, um ein Darstellungselement T für die Darstellung
eines Stamms zu erzeugen, das von der CD-ROM ausgelesen wird, ein
Stamm-Darstellungselement mit einer zugeordneten Polygongruppe.
Außerdem
legt die CPU 101 die Position des Mittelpunkts (Schwerpunkts)
des Darstellungselements P in der Nähe des Stamm-Darstellungselements
T fest (S21). Nach dem Abrufen der Polygone für das Darstellungselement P
entfaltet die CPU 101 die Polygone für das Darstellungselement P
an der schon festgelegten Posi tion des Mittelpunkts des Darstellungselements P
(S22).
-
Nachdem
sie den Ansichtspunktvektor V0 vom Ansichtspunkt VP (S23) erlangt
hat, berechnet die CPU 101 den Vektor V1 zu dem repräsentativen Punkt
(S24). Der Ansichtspunktvektor V0, der zum spezifischen Darstellungselement
P0 an dem Baumobjekt orientiert ist, kann wie vorliegend für den Vektor
V1 zu dem repräsentativen
Punkt verwendet werden.
-
Um
die Texturabbildungsdichte festzusetzen, liest die CPU 101 einen
Umgebungslichtvektor (S25) und identifiziert die Primärlichteinfallsrichtung
in Bezug auf das Baumobjekt. Die CPU 101 bestimmt dann
die Gewichtskoeffizienten, die für
die Scheitelpunkte jeder Darstellungseinrichtung P in Übereinstimmung
mit dem identifizierten Umgebungslichtvektor festzusetzen sind (S26).
Diese Einstellungen werden so vorgenommen, dass die Gewichtskoeffizienten
für Scheitelpunkte
näher an
der Umgebungsbeleuchtung höher
sind und für
jene, die weiter weg liegen, niedriger sind. Die Dichte-(Helligkeits-)
Einstellwerte sind nicht genau, weshalb es möglich ist, einfache Zuweisungen
vorzunehmen, wie etwa die Gewichtskoeffizienten der Scheitelpunkte,
die der Umgebungsbeleuchtung am nächsten sind, 1 werden zu lassen,
die Gewichtskoeffizienten für
die am weitesten davon entfernt liegenden Scheitelpunkte 0 werden
zu lassen, und die Gewichtskoeffizient dazwischen 0,5 werden zu
lassen. Es ist jedoch zulässig, die
Gewichtskoeffizienten mittels linearer Berechnungen aus der Intensität der Umgebungsbeleuchtung
und der Lagebeziehung zwischen der Umgebungsbeleuchtung und den
Scheitelpunkten zu bestimmen. Für
jedes Darstellungselement P können andere
Gewichtskoeffizienten festgesetzt werden; da sich jedoch die Umgebungsbeleuchtung
auf das gesamte Baumobjekt einheitlich auswirkt, wird es ausreichend
sein, wenn der für
ein Darstellungselement P festgesetzte Gewichtskoeffizient für alle anderen Darstellungselemente
P in gleicher Weise festgesetzt wird.
-
Für jedes
der Darstellungselemente P, die an dem Baumobjekt entfaltet werden,
richtet die CPU 101 die Polygone so aus, dass sie in Richtung
des schon bestimmten Vektors V1 zu dem repräsentativen Punkt orientiert
sind (S27). Außerdem
bildet die CPU 101 Texturdaten PT auf die richtungsgesteuerten
Darstellungselemente P ab (S28). Wenn dies geschehen ist, wird die
Texturhelligkeit gemäß den wie oben
beschrieben bestimmten Scheitelpunkt-Gewichtskoeffizienten linear
interpoliert, und es werden Bitmap-Daten erstellt, damit die Dichtevariation
(Helligkeitsvariation) erzeugt wird.
-
Die
CPU 101 führt
die Richtungssteuerung (S27) und die Texturabbildung (S28) so lange
aus, wie Polygone vorhanden sind, die Darstellungselemente P sind
(nein im Schritt S29). Wenn die Richtungssteuerung und die Texturabbildung
für alle
Polygone abgeschlossen sind (ja im Schritt S29), geht die CPU 101 zur
nächsten
Verarbeitungsroutine weiter.
-
(Ausführungsformen)
-
Es
wird eine Ausführungsform
in einem Fall dargestellt, in dem Baumobjekte wirklich gezeichnet werden.
In 19 ist von der Seite eine Drahtgitterdarstellung
in einem Fall gezeigt, in dem die Entfaltung eines Baumobjekts festgelegt
ist. Blätteranhäufungen
repräsentierende
Darstellungselemente P werden so entfaltet, dass sie um ein den
Stamm repräsentierendes
Darstellungselement T verstreut sind. Bei dieser Ausführungsform
werden 44 Darstellungselemente P entfaltet.
-
In 20 ist
ein Bildschirmbeispiel gezeigt, in dem Textur auf das wie in 19 festgelegte Baumobjekt
abgebildet worden ist. In diesem Beispiel sind die Gewichtskoeffizienten
für die
Darstellungselemente P unter der Annahme festgesetzt, dass das Umgebungslicht
in der Zeichnung von oben einfällt
(vgl. 17B). Ein Hintergrundbild BG
wird so angezeigt, dass es durch jene Teile der auf die Darstel lungselemente
P abgebildeten Texturdaten, die keine Datenwerte aufweisen, hindurch
gesehen werden kann. Unter dem Baumobjekt wird ein Schattenobjekt
S angezeigt. Dieser Schatten ist jenem ähnlich, der bei einer nachfolgend
beschriebenen Ausführungsform
angezeigt wird.
-
21 ist
eine Drahtgitterdarstellung, wenn die Ansichtspunktposition über das
Baumobjekt bewegt wird. 22 ist
dasselbe mit darauf abgebildeten Texturdaten.
-
Gemäß dieser
Ausführungsform
kann trotz der Tatsache, dass die Texturdaten, die auf die Darstellungselemente
P abgebildet werden, identisch sind, bestätigt werden, dass das Erscheinungsbild
eines natürlichen
Baumes durch Schatten, die auf Gewichtskoeffizienten und einer zufälligen Entfaltung beruhen,
adäquat
dargestellt werden kann.
-
In 23 ist,
nur zum Vergleich, ein Fall dargestellt, in dem Gewichtskoeffizienten
einheitlich festgesetzt sind, d.h. ein Fall, der jenem entspricht,
in dem es keine lineare Interpolation gibt. Wenn keine lineare Interpolation
erfolgt, werden die Dichtevariation und die Lichtvariation ausgeschlossen,
was zu einer flachen Bilddarstellung führt.
-
In 24 ist
ein Bildschirmbeispiel für
einen Fall gegeben, in dem die Gewichtung in der Annahme erfolgt,
dass das Umgebungslicht von unten (vom Boden her) einfällt. Es
kann bestätigt
werden, dass Bildanzeigen, die ein Realitätsgefühl vermitteln, auch in Fällen erzeugt
werden können,
in denen übernatürliche Bilder – wie etwa
in jenen, in denen der Boden leuchtend ist – dargeboten werden.
-
(Abwandlungsbeispiel)
-
In
der oben beschriebenen Ausführungsform wird
ein Vektor V1 von einem repräsentativen
Punkt festgelegt, und alle Darstellungselemente P werden so orientiert,
dass sie in diese Richtung zeigen. Wenn überschüssige Rechen-/Verarbeitungs-Ressourcen zur
Verfügung
stehen, können
jedoch alle Darstellungselemente P so richtungsgesteuert werden,
dass sie in die Richtung des Ansichtspunkts VP zeigen. Das heißt, dass
eine Vielzahl von Darstellungselementen P so richtungsgesteuert
wird, dass jede der Normalen V3 auf diese Darstellungselemente P
in Richtung des Ansichtspunkts VP orientiert ist, wie in 25 schematisch
dargestellt ist. Die Richtungssteuerung wird, ohne dass ein spezifisches
Darstellungselement P festgelegt wird, für alle Darstellungselemente
P so durchgeführt,
dass die Normalen, die durch ihre Schwerpunkte PC verlaufen, parallel
zur Linie des Blickvektors V0 sind.
-
Wenn
eine solche Verarbeitung durchgeführt wird, ist es möglich, das
Erscheinungsbild von Blättern
an jedem Ort an einem Baum, auch in Fällen, in denen sich der Ansichtspunkt
dem Baumobjekt sehr weit nähert
(wie etwa der Ansichtspunkt eines auf dem Stamm krabbelnden Käfers), natürlich darzustellen.
-
Die
Beschreibung dieser Ausführungsform bezieht
sich auf die Darstellung eines Baumes, jedoch sind die Objekte,
auf die die vorliegende Erfindung angewendet werden kann, nicht
auf Bäume
beschränkt.
Sie kann auf alle möglichen
Objekte angewendet werden, die wegen ihrer komplizierten Formen
eine enorme Anzahl von Prozessroutinen benötigen, um originalgetreu zu
reproduzieren, und die, falls sie mit einer einfachen Textur dargestellt
werden, zu einer unnatürlichen
Anzeige führen
können, wenn
sich ihnen genähert
wird.
-
Basierend
auf der vorangehend beschriebenen dritten Ausführungsform werden insofern
Vorteile erlangt, als es möglich
ist, Bäume
auch dann mit einem natürlichen
Erscheinungsbild anzuzeigen, wenn sich der Ansichtspunkt dem Baum
(oder anderen Objekt) extrem weit nähert, und zu vermeiden, dass
das Realitätsempfinden
des Spielers beeinträchtigt wird.
-
(Vierte Ausführungsform)
-
Diese
Ausführungsform
betrifft ein Verfahren, das ermöglicht,
bei Spiele-Maschinen, die gewissen Beschränkungen bei der Rechenleistung
unterliegen, natürliche
Schatten darzustellen, die das Realitätsempfinden nicht beeinträchtigen.
-
Die
bei dieser vierten Ausführungsform
verwendete Hardware ist die gleiche wie bei der ersten Ausführungsform,
weshalb hier keine weitere Beschreibung davon gegeben wird. Man
kann jedoch davon ausgehen, dass ein Programm und Bilddaten usw.,
die zum Ermöglichen
der Darstellung von Schatten bei der vorliegenden Erfindung gebraucht werden,
von der CD-ROM gelesen werden. Im Folgenden wird die Funktionsweise
beschrieben.
-
Wenn
bei herkömmlichen
Spiele-Maschinen Figuren Schatten verliehen werden, werden schwarze
Objekte, die Schatten andeuten, unterhalb der Figuren entfaltet.
Dies hat jedoch Schwierigkeiten zur Folge, wenn der Boden uneben
gestaltet ist, um ihn wie natürliches
Gelände
aussehen zu lassen. Das heißt,
wenn sich eine Figur über
unebenen Boden bewegt, wird der Schatten durch die herausragenden Teile
des Bodens verschluckt und folglich nicht angezeigt.
-
Diese
Ausführungsform
schafft ein Verfahren zum Vermitteln von Schatten, das einfach und
wirkungsvoll ist. Dieses Verfahren ist ein Bildverarbeitungsverfahren
zum Erzeugen von Objekten zur Anzeige von Schatten zwischen dem
Ansichtspunkt und einer Figur.
-
Das
Bildverarbeitungsverfahren in dieser Ausführungsform wird mit Bezug auf
den in 26 angegebenen Ablaufplan beschrieben.
Dieser Ablaufplan zeigt ein Verarbeitungs verfahren zum Erzeugen
von Bildern von einem Objekt.
-
Zunächst führt die
CPU 101 die übliche Spielablauf-Verarbeitung
aus, wobei sie die Position des Objekts in einer neuen Bildaktualisierungszeitperiode
bestimmt (S31). Beispielsweise werden der Boden G, der die Bezugsebene
ist, und eine Figur C mittels Polygonen konfiguriert, wie in 27 schematisch
dargestellt ist, und es wird die Entfaltung der Figur C und des
Bodens G bestimmt. Als Nächstes
wird bestimmt, ob das Objekt, das im virtuellen Raum entfaltet wird,
eine Figur ist oder nicht (S32), um das Schattenobjekt zu erzeugen.
Wenn es keine Figur ist (nein im Schritt S32), d.h. wenn es ein
Objekt ist, das eine unbewegliche Form nachbildet, die keinen Schatten
benötigt,
geht die Verarbeitung zu einer Bilderzeugungsroutine weiter, die
keine Schatten mit sich bringt (S35).
-
Wenn
das Objekt eine Figur ist (ja im Schritt S32), wird die Höhe der Figur
berechnet (S33). Die Höhe
der Figur wird, wie in 27 schematisch dargestellt ist,
anhand der unter den Beinen der Figur X festgelegten Position der
Figurmitte CC beurteilt. In 27 läuft die
Figur C über
den Boden G, weshalb die Höhe
null ist. In 28 ist die Figur C auf eine
höhere
Position gesprungen, was eine Höhe
H zur Folge hat.
-
Als
Nächstes
wird die Position des Schattens gemäß der Höhe der Figur bestimmt. Wenn
die Höhe beispielsweise
null ist, wie in 27, nimmt die CPU 101 Einstellungen
vor, damit das Zentrum SC des Schattenobjekts S auf der Linie positioniert
wird, die den Ansichtspunkt VP mit der Figurmitte CC verbindet.
Dieses Schattenzentrum SC wird so erzeugt, dass es beispielsweise
auf einer Sphäre
SP mit einem bestimmten Radius RS von der Figurmitte CC angeordnet
ist. Folglich wird sich mit der Bewegung des Ansichtspunktes VP
auch die Position des Schattenzentrums SC bewegen, wobei es der
Oberfläche der
Sphäre
SP folgt. Eine schematische Modelldarstellung der Bildanzeige, die
aus dieser Entfaltung resultiert, ist in 29 gegeben,
und eine Beispielbildanzeige ist in 31 gezeigt.
Da sich der Schatten S vor der Figur C befindet, zeigt die Anzeige
den Schatten S unter die Beine der Figur C fallend; es gibt jedoch
keine Unnatürlichkeit,
weil der Schatten S nur teilweise auf die Beine fällt. Wenn
der Ansichtspunkt VP zu derselben Position auf dem Boden G bewegt wird,
wird die Ebene des Schattens S parallel zur Sichtlinie, sodass der
Schatten S verschwindet.
-
Falls
die Höhe
der Figur C nicht null sein sollte, bewegt sich der Schatten in
dem virtuellen Raum in Übereinstimmung
mit dieser Höhe
nach unten. Insbesondere bewegt sich der Schatten S entlang der Schnittlinie
zwischen der Sphäre
SP und einer Ebene senkrecht zum Boden G, welche die Verbindungslinie zwischen
dem Ansichtspunkt VP und der Figurmitte CC enthält. Die Strecke dieser Bewegung
wird beispielsweise proportional zu dem Bereich gemacht. Zum Beispiel
ist in 28 die Höhe H, sodass sich das Schattenzentrum
in die Richtung bewegen wird, die durch den weißen Pfeil angegeben ist. Eine
schematische Modelldarstellung für
die Bildanzeige, die aus dieser Entfaltung resultiert, ist in 30 angegeben.
Es wird ein natürliches
Bild angezeigt, das die Figur C vom Boden hochspringend und sich
vom Schatten S trennend zeigt.
-
Sobald
die Lagebeziehung zwischen der Figur und ihrem Schatten wie oben
beschrieben bestimmt worden ist, führt die CPU 101 die
normale Bilderzeugungsverarbeitung aus, wobei sie Texturdaten auf
die Figur und den Schatten abbildet (S35). Die Daten werden so auf
das Schattenobjekt S abgebildet, dass es schwarz mit einem unscharfen
Umkreis ist, wie beispielsweise in 31 gezeigt
ist.
-
Basierend
auf dieser Ausführungsform
werden insofern Vorteile erlangt, dass natürliche Schatten angezeigt werden können, ohne
die Rechenlast zu vergrößern und
ohne das Realitätsempfinden
des Spielers zu beeinträchtigen.
-
(Fünfte Ausführungsform)
-
Diese
Ausführungsform
betrifft ein weiteres Verfahren, um zu ermöglichen, die natürlichen
Schatten in der vorangehend beschriebenen fünften Ausführungsform darzustellen.
-
Die
bei dieser fünften
Ausführungsform
verwendete Hardware ist die gleiche wie bei der ersten Ausführungsform,
weshalb hier keine weitere Beschreibung davon gegeben wird. Man
kann jedoch davon ausgehen, dass ein Programm und Bilddaten usw.,
die zum Ermöglichen
der Darstellung von Schatten bei der vorliegenden Erfindung gebraucht werden,
von der CD-ROM gelesen werden. Im Folgenden wird die Funktionsweise
beschrieben.
-
Diese
Ausführungsform
schafft ein weiteres Verfahren zum einfachen Vermitteln von wirkungsvollen
Schatten. Dieses Verfahren ist ein solches, bei dem Licht zur Beleuchtung,
nämlich
eine Lichtquelle, die ein Schwarzlicht ausstrahlt, für die Anzeige
eines Schattens in einem Bereich festgelegt wird, um einen Figurschatten
anzuzeigen.
-
Um
dieses Bildverarbeitungsverfahren auszuführen, legt die CPU 101 eine
Lichtquelle (Schwarzlicht) fest, die schwarzes Licht zur Beleuchtung
nach unten, auf den oberen Teil einer Figur einstrahlt, wobei sie
so zugeordnet ist, dass ein Schatten vermittelt wird. Beispielsweise
wird eine Schwarzlichtquelle LP über
einer Figur C festgelegt, wie in 33 schematisch
dargestellt ist. Die Figurmitte CC und die Lichtquelle LP sind beispielsweise
in eine Linie lotrecht zum Boden G gebracht. Um die Tageszeit darzustellen,
zu der die Sonne schräg
einstrahlt, kann jedoch die Position der Lichtquelle LP an einen Ort
bewegt werden, der dem Stand der Sonne zu dieser Zeit entspricht.
Wenn die Dinge auf diese Weise festgelegt sind, führt die
CPU 101 eine Rendering-Verarbeitung (Schattierungsverarbeitung)
basierend auf der Lichtquelle LP aus. Die CPU 101 führt die
Rendering-Verarbeitung zu diesem Zeitpunkt so aus, dass die Lichtquelle
LP nur an den Polygonen reflektiert wird, die den Boden G konfigurieren.
-
Folglich
wird, wie in 33 schematisch dargestellt ist,
nur der Bereich auf dem Boden G, der von Schwarzlicht von der Lichtquelle
beleuchtet wird, dunkel angezeigt, und dies wird als ein Schatten
S angezeigt. Das Schattenzentrum SC wird auf der Verbindungslinie
zwischen der Lichtquelle LP und der Figurmitte CC positioniert.
Ein Beispiel für
eine tatsächliche
Bildanzeige ist in 34 gezeigt. Bei den Füßen der
Figur C wird es nicht dunkel, da der Schatten S so angezeigt wird,
als ob er nur am Boden G reflektiert werden würde. Außerdem kann durch Verlagern
der Position der Lichtquelle in Übereinstimmung
mit der Höhe
der Figur die Schattenposition auf dieselbe Art wie bei dem schon
beschriebenen Verfahren der vierten Ausführungsform so verändert werden,
dass sie der Höhe
entspricht.
-
Basierend
auf dieser fünften
Ausführungsform
werden insofern Vorteile erlangt, als natürliche Schatten angezeigt werden
können,
ohne die Rechenlast zu erhöhen
und ohne das Realitätsempfinden
des Spielers zu beeinträchtigen.
-
(Weitere Abwandlungen)
-
Die
vorliegende Erfindung kann ungeachtet der vorangehend beschriebenen
Ausführungsformen auf
verschiedene Weise abgewandelt werden. Beispielsweise können, während in
den vorangehend beschriebenen Ausführungsformen alle Darstellungselemente
und Objekte durch Polygone konfiguriert werden, Objekte durch andere
Verfahren angezeigt werden, die keine Polygone verwenden.
-
Außerdem wird
in der ersten Ausführungsform
die Dichte sequenziell verändert,
wenn eine Figur ein Gebäude
betritt oder verlässt,
aber die vorliegende Erfindung kann angewendet werden, wenn es eine
solche Beziehung zwischen zwei Objekten gibt, dass eines in das
andere gelangt oder es verlässt, und
ist nicht auf die Beziehung zwischen einer Figur und einem Gebäude beschränkt. Die
vorliegende Erfindung kann auch angewendet werden, wenn ein Teil
eines Objekts so beschaffen ist, dass in Fällen, die ohne Beziehung zu
dem Eintreten oder Weggehen einer Figur sind, durch es hindurchgeschaut
werden kann.
-
Außerdem wird
in der vorangehend beschriebenen zweiten bzw. dritten Ausführungsform die
vorliegende Erfindung auf Objekte wie etwa Bäume angewendet, aber die vorliegende
Erfindung kann in Fällen
vorgesehen werden, in denen ein Objekt angezeigt wird, das eine
Form nachbildet, die in der natürlichen
Welt vorkommt und als unregelmäßig wahrgenommen
wird, wie etwa ein Baum. Sie ist wirkungsvoll in Fällen, in
denen irgendetwas mit einer nicht genau bestimmbaren Form, wie Haar
oder Flammen, mit einem augenfälligen
Realismus dargestellt werden soll.
-
Außerdem ist
in der vorangehend beschriebenen ersten, vierten bzw. fünften Ausführungsform die
Figur eine Person, aber das Modell ist nicht auf Personen beschränkt, und
eine Anwendung ist auf Tiere, Roboter und dergleichen und auch auf
andere sich bewegende Dinge wie etwa Kraftfahrzeuge oder ein Luftfahrzeug
möglich.
-
GEWERBLICHE
ANWENDBARKEIT
-
Basierend
auf der vorliegenden Erfindung kann eine Bildanzeige geschaffen
werden, die natürliche
Anzeigeübergänge ermöglicht,
ohne das Realismusempfinden zu beeinträchtigen, wenn eine Figur ein
Objekt betritt oder verlässt.
-
Basierend
auf der vorliegenden Erfindung kann eine Bildanzeige geschaffen
werden, die das Anzeigen von Bäumen
mit einem natürlichen
Erscheinungsbild auch dann ermöglicht,
wenn die Bäume
oder andere Objekte groß angezeigt
werden.
-
Basierend
auf der vorliegenden Erfindung kann eine Bildanzeige geschaffen
werden, die das Anzeigen von natürlichen
Schatten ermöglicht,
die nicht das Realismusempfinden beeinträchtigen, ohne die Rechenlast
zu vergrößern.
-
Basierend
auf der vorliegenden Erfindung kann eine Spiele-Maschine geschaffen werden, mit der
die oben beschriebene Bildverarbeitung möglich ist.
-
Basierend
auf der vorliegenden Erfindung wird ein Speichermedium bereitgestellt,
das ermöglicht,
Programme zu erstellen, mit denen die oben beschriebene Bildverarbeitung
möglich
ist.