-
Die
vorliegende Erfindung betrifft ein Spielsystem, das Polygone mit
dreidimensionalen Koordinaten und einer zweidimensionalen Fläche entwirft
und anzeigt.
-
Im
Allgemeinen werden in einem solchen Spielsystem Modelle und Charaktere,
die unabhängige,
auf einem Bildschirm anzuzeigende Objekte sind, von einer Vielzahl
von Polygonen gebildet, die zweidimensionale, imaginäre, grafische
Elemente von dreieckiger oder viereckiger Form sind. Es ist eine
Technik zum visuellen Darstellen spezifischer Abbildungen von Modellen
und Charakteren durch Aufbringen von Texturen, die zweidimensionale
Bilddaten sind, auf den Polygonen bekannt. Da jedoch die auf die
Polygone aufgetragenen Texturen immer noch Bilder sind, ist es schwierig,
eine spezielle Wiedergabe oder Ausdrucksweise zu erzielen.
-
Eine
Aufgabe der vorliegenden Erfindung ist das Bereitstellen eines Spielsystems,
das eine spezielle visuelle Wiedergabe oder Ausdrucksweise auf Polygonen
umsetzen kann, die auf einem Bildschirm eines Spielsystems angezeigt
werden.
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird ein Spielsystem zum projektiven
Transformieren einer Vielzahl von Polygonen, die dreidimensionale
in einem imaginären
dreidimensionalen Raum befindliche Objekte bilden, in ein Augpunktkoordinatensystem,
um Polygone auf einer Projektionsfläche zu zeichnen, bereitgestellt,
das Folgendes umfasst: Polygonzeichnungseinheit zum Zeichnen eines
Polygons mit einer ersten Textur, die das Zeichnen anderer Texturen
beeinflusst, eine zweite Texturzeichnungseinheit zum Zeichnen einer
im Voraus vorbereiteten zweiten Textur auf dem von der Polygonzeichnungseinheit
gezeichneten Polygon auf Basis zweidimensionaler Koordinaten der
zweiten Textur, und Texturbewegungseinheit zum simultanen Bewegen
der von der zweiten Texturzeichnungseinheit gezeichneten zweiten
Textur auf dem von der Polygonzeichnungseinheit gezeichneten Polygon
durch Variieren der zweidimensionalen Koordinaten in der Zeitreihe.
-
In Übereinstimmung
mit dem Spielsystem wird das Polygon mit der ersten Textur, das
das Zeichnen anderer Texturen beeinflusst, gezeichnet. Dann wird
die im Voraus vorbereitete zweite Textur auf Basis der zweidimensionalen
Koordinaten davon auf das Polygon gezeichnet. Durch Variieren der
zweidimensionalen Koordinaten der zweiten Textur in der Zeitreihe
wird die so gezeichnete zweite Textur dann simultan auf dem gezeichneten
Polygon bewegt. Somit hat es den Anschein, als würde sich das Bild der zweiten
Textur bewegen und in Verbindung mit der ersten Textur kann eine
spezielle Darstellung erreicht werden.
-
Die
zweidimensionalen Koordinaten der zweiten Textur können durch
Transformieren der dreidimensionalen Koordinaten der Eckpunkte des
Polygons berechnet werden. Somit ist es nicht nötig, die Koordinaten der zweiten
Textur als Daten für
die Eckpunkte des Polygons zu speichern, und die Koordinaten der
zweiten Textur können
durch Transformieren der Koordinaten der Eckpunkte des Polygons
berechnet werden. Dadurch kann die zu speichernde Datenmenge verringert
werden.
-
Die
zweidimensionalen Koordinaten der zweiten Textur können durch
projektives Transformieren der dreidimensionalen Koordinaten der
Eckpunkte des Polygons auf einer imaginären zweidimensionalen Fläche errechnet
werden, die im Voraus vorbereitet wird und den zweidimensionalen
Koordinaten entspricht. Somit ist es nicht nötig, die Koordinaten der zweiten
Textur als Daten für
die Eckpunkte des Polygons zu speichern, und die Koordinaten der
zweiten Textur können
durch projektives Transformieren der Koordinaten der Eckpunkte des
Polygons auf der imaginären
zweidimensionalen Fläche
berechnet werden. Dadurch kann die zu speichernde Datenmenge verringert
werden.
-
Die
Leuchtkraft der Farben der zweiten Textur kann in verschiedenen
Bereichen der zweiten Textur verschieden sein. Somit wird die Leuchtkraft
der Farben des Bildes durch Bewegen der zweiten Textur variiert, wodurch
eine spezielle visuelle Wiedergabe des Polygons mit Textur ermöglicht wird.
-
Die
Leuchtkraft der Farben der zweiten Textur kann im Verhältnis zum
Koordinatenwert in jede Richtung der zweidimensionalen Koordinaten
variieren, wenn die zweidimensionalen Koordinaten fixiert sind.
Daher kann das Bild mit heller Farbe (zum Beispiel der Beleuchtungsteil),
das sich in eine bestimmte Richtung bewegt, durch Bewegen der zweiten
Textur in jede eine Richtung der zweidimensionalen Koordinaten visuell gezeigt
werden.
-
Ein
Teil der zweiten Textur kann einem Abstufungseffekt durch die erste
Textur unterzogen werden. Dazu wird in dem Bereich, auf den die
Abstufung angewandt wird, das Licht der zweiten Textur als sich
mit leichtem Auslaufen bewegend gezeigt.
-
Die
Abstufung kann durch Mischen der Farben der ersten Textur und der
Farben der zweiten Textur in einem vorgegebenen Mischverhältnis durchgeführt werden.
Daher können
durch Steuerung des Mischverhältnisses
verschiedene Abstufungen erzielt werden.
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung wird ein Bildzeichnungsverfahren
zum projektiven Transformieren einer Vielzahl von Polygonen, die
dreidimensionale in einem imaginären
dreidimensionalen Raum befindliche Objekte bilden, in ein Augpunktkoordinatensystem,
um Polygone auf einer Projektionsfläche zu zeichnen, bereitgestellt,
das folgende Schritte umfasst: Zeichnen eines Polygons mit einer
ersten Textur, die das Zeichnen anderer Texturen beeinflusst, Zeichnen
einer im Voraus vorbereiteten zweiten Textur auf dem von dem Polygonzeichnungsschritt
gezeichneten Polygon auf Basis zweidimensionaler Koordinaten der
zweiten Textur und simultanes Bewegen der zweiten von dem zweiten
Texturzeichnungsschritt gezeichneten Textur auf dem von dem Polygonzeichnungsschritt
gezeichneten Polygon durch Variieren der zweidimensionalen Koordinaten
in der Zeitreihe.
-
In Übereinstimmung
mit diesem Verfahren kann das Bild der zweiten Textur als sich bewegend
gezeigt werden und in Verbindung mit der ersten Textur kann eine
spezielle visuelle Wiedergabe erzielt werden.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird ein Bildzeichnungsverfahren
zum projektiven Transformieren einer Vielzahl von Polygonen, die
dreidimensionale in einem imaginären
dreidimensionalen Raum befindliche Objekte bilden, in ein Augpunktkoordinatensystem,
um Polygone auf einer Projektionsfläche zu zeichnen, bereitgestellt,
das folgende Schritte umfasst: Zeichnen eines Polygons mit einer
ersten Textur, die das Zeichnen anderer Texturen beeinflusst, projektives
Transformieren der dreidimensionalen Koordinaten der Eckpunkte des
Polygons auf einer im Voraus vorbereiteten imaginären zweidimensionalen
Fläche
zum Berechnen der zweidimensionalen Koordinaten der zweiten Textur,
Zeichnen der zweiten Textur auf dem gezeichneten Polygon auf Basis
der berechneten zweidimensionalen Koordinaten, und simultanes Bewegen
der zweiten von dem zweiten Texturzeichnungsschritt gezeichneten
Textur auf dem von dem Polygonzeichnungsschritt gezeichneten Polygon
durch Variieren der zweidimensionalen Koordinaten in Zeitreihen.
-
In Übereinstimmung
mit diesem Verfahren kann das Bild der zweiten Textur als sich bewegend
gezeigt werden und in Verbindung mit der ersten Textur kann eine
spezielle visuelle Wiedergabe erzielt werden. Außerdem ist es nicht nötig, die
Koordinaten der zweiten Textur als Daten für die Eckpunkte des Polygons
zu speichern, und die Koordinaten der zweiten Textur können durch
projektives Transformieren der Koordinaten der Eckpunkte des Polygons
auf der imaginären
zweidimensionalen Fläche
berechnet werden. Dadurch kann die zu speichernde Datenmenge verringert
werden.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird ein computerlesbares
Speichermedium, das ein Spielprogramm speichert, zum projektiven
Transformieren einer Vielzahl von Polygonen, die dreidimensionale
in einem imaginären
dreidimensionalen Raum befindliche Objekte bilden, in ein Augpunktkoordinatensystem,
um Polygone auf einer Projektionsfläche zu zeichnen, bereitgestellt,
wobei das Spielprogramm einen Computer so steuert, dass er arbeitet
als: eine Polygonzeichnungseinheit zum Zeichnen eines Polygons mit
einer ersten Textur, die das Zeichnen anderer Texturen beeinflusst,
zweite Texturzeichnungseinheit zum Zeichnen einer im Voraus vorbereiteten
zweiten Textur auf dem von der Polygonzeichnungseinheit gezeichneten
Polygon auf Basis zweidimensionaler Koordinaten der zweiten Textur,
und eine Texturbewegungseinheit zum simultanen Bewegen der zweiten
von der zweiten Texturzeichnungseinheit gezeichneten Textur auf
dem von der Polygonzeichnungseinheit gezeichneten Polygon durch
Variieren der zweidimensionalen Koordinaten in der Zeitreihe.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird ein computerlesbares
Speichermedium, ein Spielprogramm zum projektiven Transformieren
einer Vielzahl von Polygonen, die dreidimensionale in einem imaginären dreidimensionalen
Raum befindliche Objekte bilden, in ein Augpunktkoordinatensystem,
um Polygone auf einer Projekti onsfläche zu zeichnen, speichernd,
wobei das Spielprogramm einen Computer so steuert, dass er arbeitet
als: eine Einheit zum Zeichnen eines Polygons mit einer ersten Textur,
die das Zeichnen anderer Texturen beeinflusst, eine Einheit zum
projektiven Transformieren der dreidimensionalen Koordinaten der
Eckpunkte des Polygons auf einer im Voraus vorbereiteten imaginären zweidimensionalen
Fläche zum
Berechnen der zweidimensionalen Koordinaten der zweiten Textur,
eine Einheit zum Zeichnen der zweiten Textur auf dem gezeichneten
Polygon auf Basis der berechneten zweidimensionalen Koordinaten,
und eine Einheit zum simultanen Bewegen der zweiten von der zweiten
Texturzeichnungseinheit gezeichneten Textur auf dem von der Polygonzeichnungseinheit
gezeichneten Polygon durch Variieren der zweidimensionalen Koordinaten
in Zeitreihen.
-
Durch
Ausführen
des in diesem Speichermedium von einem Computer gespeicherten Programms, kann
das Spielsystem gemäß der vorliegenden
Erfindung erzielt werden.
-
Die
Beschaffenheit, der Nutzen und weitere Eigenschaften dieser Erfindung
werden aus der folgenden detaillierten Beschreibung mit Bezug auf
bevorzugte Ausführungsbeispiele
der Erfindung in Verbindung mit den dazugehörigen untenstehend kurz beschriebenen
Zeichnungen noch deutlicher hervorgehen.
-
In
den Zeichnungen:
-
ist 1 ein
Blockdiagramm, das eine schematische Konfiguration des Spielsystems
gemäß der vorliegenden
Erfindung zeigt,
-
ist 2 ein
Diagramm, das ein Beispiel eines Bildes eines auf dem Bildschirm
angezeigten Charakters zeigt,
-
ist 3 eine
vergrößerte Ansicht
eines Armteils des in 2 gezeigten Charakters, in dem
sich Beleuchtungsteile bewegen,
-
ist 4 ein
Ablaufdiagramm, das den von dem Spielsystem gemäß der vorliegenden Erfindung
ausgeführten
Bildzeichnungsprozess zeigt,
-
zeigt 5 ein
Objekt eines Armteils des auf dem Bildschirm gezeigten Charakters,
-
ist 6 eine
erklärende
Ansicht, die die Art und Weise zeigt, in der ein Polygon auf eine
vorgegebene imaginäre
Fläche
projektiert wird.
-
zeigt 7 ein
Beispiel von Textur,
-
zeigt 8 eine
Art und Weise, auf die die Textur auf das Polygon gebracht oder
eingefügt
wird, und
-
zeigt 9 eine
Art und Weise, auf die die Textur auf die Polygonbewegungen gebracht
oder eingefügt wird,
und
-
Das
bevorzugte Ausführungsbeispiel
der vorliegenden Erfindung wird jetzt untenstehend mit Bezug auf
die beiliegenden Zeichnungen beschrieben.
-
1 ist
ein Blockdiagramm, das eine Steuereinheit eines Spielsystems für den Heimgebrauch
zeigt, auf das die vorliegende Erfindung angewendet wird. Das Spielsystem
für den
Heimgebrauch führt
Spiele gemäß den Spielprogrammen
aus, die auf einer als Speichermedium dienenden CD-ROM 15 gespeichert
sind. Das Spielsystem beinhaltet eine CPU 1, die hauptsächlich aus
einem Mikroprozessor besteht, einen ROM 2 und einen RAM 3,
die als Hauptspeichervorrichtungen für die CPU 1 dienen,
eine Grafikverarbeitungseinheit (GPU) für Bildverarbeitung, einen Frame-Puffer 5a und
einen Z-Puffer 5b, die von der GPU 4 verwendet
werden, und eine CD-ROM-Lesevorrichtung 8.
-
Der
ROM 2 speichert ein Betriebssystem, das ein für die Betriebssteuerung
des gesamten Spielsystems notwendiges Programm ist. Der RAM 3 speichert
Spielprogramm- und Bilddaten, die je nach Bedarf vom CR-ROM 15,
das als Speichermedium dient, ausgelesen werden. Die Bilddaten beinhalten
Polygondaten für eine
Vielzahl von Polygonen, die in einem imaginären dreidimensionalen Raum
angeordnete dreidimensionale Objekte bilden, und Texturdaten, die
auf die Polygone gebracht oder eingefügt werden, um zweidimensionale Bilder
zu bilden. Jegliche Polygondaten enthalten Informationen der Eckpunktkoordinaten
(xp, yp, zp), Texturkoordinaten (up,
vp) jedes Eckpunkts und Leuchtkraftinformationen.
Die Polygoneckpunktkoordinate z (nachfolgend als „Z-Wert" be zeichnet) stellt
die Tiefe des Eckpunkts vom Augpunkt des Spielspielers aus dar und das
Anzeigen des Polygons mit kleinem Z-Wert ist für lichtundurchlässige Polygone
wirkungsvoll. Es ist zu beachten, dass "Polygon" ein vieleckiges, zweidimensionales,
imaginäres
Grafikelement ist, das Objekte bildet, die im Raum des Spiels angeordnet
sind, wie beispielsweise Modelle und Charaktere. Die GPU 4 empfängt die
Polygondaten von der CPU 1 und transformiert das Polygon
des lokalen Koordinatensystems (xp, yp, zp) in Daten des
Weltkoordinatensystems. Dann transformiert die GPU 4 die
Polygondaten des Weltkoordinatensystems in die Daten des Augkoordinatensystems
(xs, ys, zs) (nachfolgend als „Bildschirmkoordinatensystem
(xs, ys, zs)" bezeichnet)
durch Anwenden der perspektivischen Projektionstransformation auf
die Positions-Koordinatendaten des Polygons in dem Weltkoordinatensystem.
Somit zeichnet die GPU 4 die Polygone auf den Frame-Puffer 5a und
den Z-Puffer 5b, transformiert die gezeichneten Bilddaten
in ein Videosignal und gibt es an den Monitor 9 zu entsprechenden
Zeiten aus. Der Z-Wert wird in den Z-Puffer 5b geschrieben.
Beim Zeichnen der Polygone auf den Frame-Puffer 5a und
den Z-Puffer 5b werden für das Zeichnen notwendige Verarbeitungen,
wie Größenvariation
entsprechend des Abstands, Musterabbildung und Beleuchtung, ausgeführt. Das „lokale
Koordinatensystem" ist
ein Koordinatensystem, das jedem Polygon eigen ist, und bewegt sich,
wenn sich das Polygon bewegt. Das „Weltkoordinatensystem" ist feststehend,
selbst wenn sich das Polygon bewegt. Das „Bildschirmkoordinatensystem" stellt die Position
auf dem Bildschirm dar, wo das Polygon letztendlich angezeigt wird.
-
Die
auf das Polygon durch Musterabbildung gebrachte oder eingefügte Textur
wird auf Basis der Texturkoordinaten (up,
vP) jedes Eckpunktes bestimmt. Die Textur
hat RGB-Kanäle (drei
einfache Farben) und das Aussehen der Textur sowie die optische
Dichte der Farbe werden durch Einstellen der RGB-Kanäle bestimmt. Außerdem hat
die Textur einen A-(alpha-)Kanal, durch den die Textur so eingestellt
werden kann, dass sie transparent ist, und die Zulässigkeit
des Zeichnens einer anderen (das heißt, zweiten) Textur über der
(ersten) Textur kann ebenfalls eingestellt werden (eine solche Einstellung
kann von der Texturbereichseinheit vorgenommen werden). Ist der
A-(alpha-)Kanal beispielsweise so eingestellt, dass das Zeichnen
einer anderen Textur zulässig
ist, wird das Design oder Muster der zweiten Textur in dem Bereich
angezeigt, in dem die zweite Textur mit der ersten Textur überlappt.
Ist der A-(alpha-)Kanal umgekehrt so eingestellt, dass das Zeichnen nicht
zulässig
ist (das heißt
verhindert wird), wird das Zeichnen der zweiten Textur in dem Bereich
verhindert, in dem die zweite Textur die erste Textur überlappt,
und das Design oder Muster der ersten Textur wird angezeigt. Außerdem kann
im A-(alpha-)Kanal eine Zwischenebene zwischen der Ebene Zeichnen
zulässig
und der Ebene Zeichnen verhindert eingestellt werden. Anders ausgedrückt, es
kann eine Abstufung eingestellt werden. Dadurch ist es möglich einen
solchen Zustand auszudrücken,
dass das Licht der zweiten Textur leicht in die erste Textur gemischt
wird (nicht so vollständig
wie der Bereich Zeichnen zulässig
aber schwach sichtbar). Wird zum Beispiel angenommen, dass der Alpha-Wert
eines bestimmten Pixels auf A1 eingestellt wird und die RGB-Werte
des Pixels werden jeweils auf R1, R2 und R3 eingestellt und dass
RGB-Werte eines
anderen Pixels jeweils auf R2, G2 und B2 eingestellt werden, dann
werden die Farben (R, G, B,) auf dem Bildschirm ausgedrückt als:
R = R1 + A1 × R2,
G = G1 + A1 × G2,
B = B1 + A1 × B2.
Der Alpha-Wert A1 stellt das Mischverhältnis der ersten Textur und
der zweiten Textur dar und das Zeichnen der ersten Textur wird vollständig verhindert
wenn A1=0. Und zwar wird auf Basis des Wertes A1 die optische Dichte
der zweiten Textur bestimmt. Das wird als "Alpha-Blending" unter Berücksichtigung des Ziels Alpha
bezeichnet.
-
Das
in 1 gezeigte Spielsystem beinhaltet des Weiteren
eine Soundverarbeitungseinheit (SPU) 6 und einen Sound-Puffer 7.
Die SPU 6 reproduziert Stimmen- und/oder Tondaten und Musikquelldaten,
die aus dem CD-ROM 15 ausgelesen und im Sound-Puffer 7 gespeichert
wurden, und gibt den Ton über
den Lautsprecher 10 aus. Die CR-ROM-Lesevorrichtung 8 liest
Programmdaten und/oder Daten, die auf der CD-ROM 15 aufgezeichnet
sind, in Übereinstimmung
mit den Anweisungen von der CPU 1 aus und gibt ein Signal
aus, das den auf diese Weise ausgelesenen Inhalten entspricht. Auf
dem CR-ROM 15 sind Programmdaten und für das Ausführen des Spiels notwendige
Daten aufgezeichnet. Ein Fernsehempfänger für den Heimgebrauch kann als
Monitor 9 verwendet werden.
-
Des
Weiteren ist die Kommunikationssteuerungsvorrichtung 11 mit
der CPU 1 über
den Bus 14 verbunden und der Controller 12 und
die Zusatzspeichervorrichtung 13 sind trennbar mit der
Kommunikationssteuerungsvorrichtung 11 verbunden. Der Controller 12 fungiert
als Eingabevorrichtung, auf der Manipulationselemente, die von dem
Spielspieler manipuliert werden sollen, bereitgestellt werden. Die
Kommunikationssteuerungsvorrichtung 11 scannt den Manipulationszustand
des Controllers 12 in einem vorgegebenen Intervall wiederholt
und gibt das dem Scannergebnis entsprechende Signal an die CPU 1 aus.
Die CPU 1 beurteilt den Manipulationszustand des Controllers 12 auf
Basis des Signals von dem Controller 12. In der oben beschriebenen
Anordnung werden die Komponenten außer dem Monitor 9,
Lautsprecher 10, Controller 12, CD-ROM 15 und
der Zusatzspeichervorrichtung 13 fest eingebaut in einem
einzigen Gehäuse
untergebracht, das die Gehäuseeinheit 16 des
Spielsystems bildet.
-
In
dem oben beschriebenen Spielsystem wird das auf dem CR-ROM 15 gespeicherte
Spielprogramm in dem RAM 3 geladen und durch die CPU 1 ausgeführt, wodurch
der Spielspieler Spiele verschiedener Genre auf dem Bildschirm der
Monitors 9 spielen kann. Gemäß dieses Ausführungsbeispiels
ist das Spiel ein Action-Spiel und das zum Ausführen des Action-Spiels durch
das Spielsystem benötigte
Programm sowie Bilddaten, die den im Action-Spiel erscheinenden
verschiedenen Szenen entsprechen, sind auf dem CR-ROM 15 aufgezeichnet.
In dem Action-Spiel des Ausführungsbeispiels
bewegt sich der durch den Spielspieler kontrollierte Charakter in
dem auf dem Monitor 9 gezeichneten imaginären dreidimensionalen
Raum hierhin und dorthin und manipuliert Waffen wie beispielsweise
Gewehre, um gegen feindliche Charaktere zu kämpfen.
-
2 zeigt
ein Beispiel eines Bildes eines auf dem Monitor 9 dargestellten
Charakters. Der in 2 gezeigte Charakter ist ein
dreidimensionales Objekt, das aus einer Vielzahl von Polygonen gebildet
wird. 3 zeigt die vergrößerte Ansicht eines Armteils
des in 2 gezeigten Charakters. Wie in 3 gezeigt
werden die Lichtbewegungslinien 41 auf der Oberfläche des
Armteils 30 gebildet und der Beleuchtungsteil 40 bewegt sich
auf den Lichtbewegungslinien 41 in Pfeilrichtung. Das wird
durch Variieren der auf die Polygone des Armteils 30 gebrachten
(gezeichneten) Texturkoordinaten in Reihenfolge umgesetzt.
-
Der
Vorgang des Spielsystems zum Anzeigen eines solchen Bildes wird
mit Bezug auf das Ablaufdiagramm der 4 und der
erklärenden
Diagramme der 5 bis 9 beschrieben.
Gemäß des Vorgangs des
Spielprogramms liest die CPU 1 die im RAM 4 gespeicherten
Polygondaten aus und transformiert die lokalen Koordinaten (xp, yp, zp)
der Eckpunkte der Polygone in Schritt S1 in die Weltkoordinaten
und dann in die Bildschirmkoordinaten (xs,
ys, zs). Basierend
auf den Texturkoordinaten (up, vp) der Polygone werden dann die RGB-Kanäle und der
A-(alpha-)Kanal der ersten Textur auf den Fra me-Puffer 5a geschrieben
(Schritt S2). Dadurch werden die Polygone mit der ersten Textur
auf dem Bildschirm angezeigt. Durch gleichzeitiges Schreiben der
RGB-Kanäle
und des A-(alpha-)Kanals auf den Frame-Puffer 5a, kann
der Berechnungsumfang verringert werden. Für die erste Textur werden der
Bereich, in dem Zeichnen für
eine andere Textur zulässig
ist, und der Abstufungsbereich im A-Kanal eingestellt und diese
Daten werden in den A-Kanal-Bereich des Frame-Puffers 5a und
des Z-Puffers 5b geschrieben. Somit wird das von einer
Vielzahl von Polygonen gebildete Objekt auf dem Bildschirm des Monitors 9 angezeigt.
-
5 zeigt
das Objekt 50 des auf dem Bildschirm des Monitors 9 gezeigten
Armteils 30. Das Objekt 50 des Armteils wird von
den Polygonen 51, 52 und 53 gebildet.
Von diesen sind die Teile 51a des Polygons 51 Abstufungsbereiche,
in denen Abstufung mit einer anderen Textur erzeugt wird. Der mit
der Referenzziffer 51b bezeichnete Teil ist ein Bereich,
in dem Zeichnen für
eine andere Textur zulässig
ist, und entspricht der Lichtbewegungslinie 41 in 2.
-
Nachfolgend
werden die lokalen Koordinaten (x
p, y
p, z
p) der Eckpunkte
der in Schritt S1 gezeichneten Polygone auf eine vorgegebene imaginäre Fläche (zum
Beispiel eine imaginäre
Parallelogrammfläche)
55 wie in
6 gezeigt
projektiert, um die Koordinate der zweiten Textur (u, v) zu berechnen
(Schritt S3). Die durch eine solche Projektion erhaltene Texturkoordinate
(u, v) kann beispielsweise durch folgende vorgegebene Gleichung
errechnet werden:
-
Px, Py und Pz sind hierbei Referenzpositionsvektoren,
die die Position festlegen, auf die die zweite Textur gebracht oder
eingefügt
werden soll. Die ubx, uby and
ubz sind u-Richtungsreferenzvektoren in Bezug auf
den Referenzpositionsvektor und die vbx,
vby und vbz sind
v-Richtungsreferenzvektoren mit Bezug auf den Referenzpositionsvektor.
Somit ist es nicht nötig,
die Texturkoordinaten der zweiten Textur als die Daten für jeden der Eckpunkte
des Polygons zu speichern, jedoch können sie durch Projektieren
der Polygonkoordinaten gemäß der obigen
Gleichung erzeugt werden. Dadurch wird die zu speichernde Datenmenge
reduziert. Da die imaginäre
Fläche 55 im
Allgemeinen für
eine Vielzahl von Polygonen verwendet werden kann, kann die Datenmenge
im Vergleich zu dem Fall, bei dem jedes Polygon eine imaginäre Fläche hat,
zusätzlich
reduziert werden. Des Weiteren kann die zweite Textur selbst dann
genau gezeichnet werden, wenn die Textur mehrere Polygone abdeckt.
-
Als
nächstes
wird der sich dynamisch ändernde
Wert (u', v') zu den in Schritt
S3 erhaltenen Texturkoordinaten (u, v) addiert, um die endgültigen zweiten
Texturkoordinaten (u1, v1) zu berechnen (Schritt S4). Und zwar wird
die Berechnung: (u1, v1) = (u, v) + (u', v')
ausgeführt.
Hier wird der Wert (u',
v') bei der ersten
Einstellungsstufe beispielsweise als (u', v')
= (0, 0) eingestellt.
-
Als
nächstes
wird die zweite Textur von dem RAM 4 ausgelesen und auf
die erste Textur des Polygons 51 mit Alpha-Blending auf
Basis der endgültigen
zweiten Texturkoordinate (u1, v1) und der in Schritt S1 transformierten
Bildschirmkoordinate (xs, ys,
zs) des Polygons 51 gezeichnet
(Schritt S5). Somit können
die in Schritt S1 transformierten Bildschirmkoordinaten (xs, ys, zs)
des Polygons 51 zum Zeichnen der zweiten Textur verwendet
werden, wodurch der Berechnungsumfang verringert wird.
-
7 zeigt
ein Beispiel der zu diesem Zeitpunkt ausgelesenen Textur 60.
Wie in 7 zu sehen, hat die zweite Textur 60 ihre
eigenen Koordinaten und entspricht der Koordinatenposition der imaginären Fläche 55.
Im Beispiel der 7 erhöht sich die Dichte der Farbe
mit Erhöhung
des Wertes u in der u-Richtung. Die Farben der Bereiche 60a und 60b werden
auf schwarz eingestellt. Die Koordinatenposition der auf die erste Textur
des Polygons 51 gezeichneten zweiten Textur 60 wird
durch die Texturkoordinate (u1, v1) der endgültigen zweiten Textur als die
vier Ecken (A, B, C, D) des in 7 gezeigten
Bereichs 60c bestimmt.
-
8 zeigt
den Zustand, wenn die zweite Textur 60 auf das Polygon 51 gebracht
oder eingefügt
wird. Im Beispiel der 8 hat die aufgebrachte oder
eingefügte
Textur einen Bereich, der größer ist
als der des Polygons 51, jedoch wird der Bereich der Textur 60,
der das Polygon 51 überlappt,
tatsächlich
auf dem Bildschirm des Monitors 9 darge stellt. Wie in 8 gezeigt
wird der Abstufungsbereich 51a auf eine Art und Weise gezeigt,
dass das Licht des Bildes der zweiten Textur 60 leicht
gemischt ist. In dem Bereich, in dem Zeichnen zulässig ist, 51 wird
das Bild der zweiten Textur 60 angezeigt. Der Abstufungsbereich 51a kann
auf eine Art und Weise eingestellt werden, dass sich der zuvor erwähnte Alpha-Wert
verringert, wie sich die Entfernung von dem Bereich, in dem Zeichnen
zulässig
ist, 51b erhöht.
Dadurch wird das Bild, so wie sich die Entfernung von dem Bereich,
in dem Zeichnen zulässig
ist, 51b erhöht,
in einer Art und Weise gezeigt, dass das Licht des Bildes der zweiten
Textur schrittweise verringert wird.
-
Als
nächstes
wird der Wert (u',
v') der Koordinate
der zweiten Textur 60 variiert (Schritt S6). Und zwar wird
die Texturkoordinate (u1, v1) für
die nachfolgende Zeichnung bewegt. Dann kehr der Vorgang zu Schritt S1
zurück,
damit der nächste
Frame die gleiche Verarbeitung ausführen kann, wobei die zweite
Textur auf Basis der Koordinate (u1, v1) der zweiten Textur gezeichnet
wird, nachdem der Wert (u',
v') variiert wurde.
Dann kann durch Variieren des Wertes (u', v')
in jedem Frame in Reihenfolge das Design oder das Muster der zweiten
Textur so angezeigt werden, als würde es sich bewegen. Beispielsweise
kann durch das schrittweise Variieren des Wertes u' von 0 bis 10 in
jedem Frame die Textur 60 angezeigt werden, als würde sie
sich auf dem Polygon 50 wie in 9 gezeigt
in u-Richtung bewegen. Da die Farbe wie in 7 gezeigt
dichter wird, so wie sich der Wert u in u-Richtung erhöht, kann
das Bild des Weiteren angezeigt werden, als würde sich der Beleuchtungsteil 40 wie
in 3 gezeigt entlang der Lichtbewegungslinie 41 (51b in 9)
bewegen und als würde
sich das Licht des Beleuchtungsteils 40 in den Abstufungsbereichen 51a mit
leichten Auslaufen bewegen.
-
Auf
diese Art kann der Beleuchtungsteil 40 durch Steuern des
Wertes (u', v') auf den Polygonen,
die den Charakter bilden, bewegt werden. Während in der Beschreibung oben
nur der Wert u' variiert
wird, können beide
Werte u' und v' variiert werden.
-
Während sich
das oben beschriebene Ausführungsbeispiel
auf die Bewegung des Beleuchtungsteils auf der Oberfläche des
Armteils 30 des Charakters bezieht, ist die Anwendung der
Erfindung nicht auf einen solchen Fall beschränkt und es kann beispielsweise
Flüssigkeit
bewegt werden. Des Weiteren können
durch entsprechendes Kombinieren der Farbe der Textur 60,
Einstellen des Musters und Einstellen des Maskenbereichs 51 auf
dem Polygon 51a auf dem Bildschirm des Monitors 9 verschiedene
Aus drücke
erzielt werden. Die vorliegende Erfindung lässt sich auf Spiele jedes Genres
anwenden, wie Rollenspiel, Simulationsspiel und Action-Spiel.
-
Wie
oben beschrieben, kann gemäß der vorliegenden
Erfindung die Textur, die auf Polygone gebracht oder eingefügt wird,
die auf dem Spielbildschirm angezeigt werden, durch Koordinatentransformation
bewegt werden, wodurch spezielle Wiedergabe oder Ausdrucksweise
auf den Polygonen erzielt wird. Des Weiteren kann durch spezielles
Einstellen des Bereiches auf einem Teil des Polygons, in dem das
Aufbringen oder Einfügen
von Textur verhindert wird, eine kompliziertere Wiedergabe oder
Ausdrucksweise auf den Polygonen umgesetzt werden.