ES2283076T3 - Dispositivo generador de imagenes y metodo de generacion de imagenes. - Google Patents
Dispositivo generador de imagenes y metodo de generacion de imagenes. Download PDFInfo
- Publication number
- ES2283076T3 ES2283076T3 ES98951725T ES98951725T ES2283076T3 ES 2283076 T3 ES2283076 T3 ES 2283076T3 ES 98951725 T ES98951725 T ES 98951725T ES 98951725 T ES98951725 T ES 98951725T ES 2283076 T3 ES2283076 T3 ES 2283076T3
- Authority
- ES
- Spain
- Prior art keywords
- impact
- data
- polygons
- establishment
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- A63F13/10—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/803—Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—Three-dimensional [3D] animation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating three-dimensional [3D] models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
- A63F2300/643—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/663—Methods for processing data by generating or executing the game program for rendering three dimensional images for simulating liquid objects, e.g. water, gas, fog, snow, clouds
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8017—Driving on land or water; Flying
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
La invención consiste en establecer medios para establecer el estado de impacto entre un vehículo una superficie de carretera especificada por polígonos en una espacio virtual, y generar medios para generar datos de imágenes que representan un estado en el que un vehículo se mueve a lo largo de una superficie de carretera, mientras se mantiene dicho estado de impacto. El medio de establecimiento comprende medios para determinar datos de establecimiento de impacto en una posición de impacto del vehículo por interpolación del vértice de los polígonos de superficie de carretera, medios de corrección para corregir estos datos de establecimiento de impacto interpolados e acuerdo con indentaciones en la superficie de carretera, y medio de especificación para especificar el impacto del vehículo sobre la superficie de carretera de acuerdo con los datos de establecimientos de impacto corregidos.
Description
Dispositivo generador de imágenes y método de
generación de imágenes.
La presente invención se refiere a un
dispositivo generador de imágenes y un método de generación de
imágenes, y en particular, con un dispositivo generador de imágenes
y un método de generación de imágenes en donde la relación entre
objetos en movimiento moviéndose dentro de un espacio tridimensional
virtual y el entorno circundante, como el camino de viaje, o
similares, en un dispositivo de juego, o similares, puede ser
representado más precisamente y de una manera más realista.
Con el progreso de la tecnología de gráficos de
ordenador en los años recientes, los dispositivos de simulación y
los dispositivos de juego se han usado ampliamente, en ambas
aplicaciones industriales y domésticas. Un género de máquinas de
juego son los dispositivos representando un juego de carrera de
coches por medio del cual un jugador compite moviendo un coche
formando el objeto en el espacio virtual de juego, y tales juegos
son muy populares. Usualmente, los dispositivos de juego de esta
clase comprenden una unidad principal conteniendo un dispositivo de
ordenador inherente para ejecutar programas de juego previamente
determinados, una división operativa para suministrar señales
operativas que indican el movimiento de un objeto representado en el
juego a la unidad principal del dispositivo, un monitor para
visualizar imágenes que acompañan el desarrollo del juego de
conformidad con el programa de juego como es ejecutado por la unidad
principal, y un dispositivo de audio para generar el sonido
acompañante del desarrollo del juego.
Dado que un juego de carrera de coches
usualmente implica un formato de juego donde el coche de un jugador
compite contra coches rivales, si un juego debe ser hecho para
sentirse más realista, es por supuesto necesario lograr una
simulación más realista del movimiento de los coches, y un factor
importante en esto es la precisión y el realismo del procesamiento
de imágenes representando elementos como la relación entre el coche
y la autopista o terreno (entorno) formando una porción del fondo,
y además, la relación entre el vehículo y el entorno
circundante.
Sin embargo, en el caso de máquinas
convencionales de juego para juegos de carrera de coches, han
surgido problemas no resueltos de los siguientes tipos al buscar
representar, en forma de imágenes, los factores referentes a la
interferencia entre el vehículo y el entorno circundante que ocurren
a medida que el coche viaja en su camino.
(1) Para representar el estado de viaje del
vehículo como una imagen, hay que determinar impactos entre el
terreno y los neumáticos (ruedas) del vehículo en intervalos de
tiempo uniformes. En los últimos años, el terreno ha sido
representado por un número apropiado de datos de polígono, en donde
el terreno está dividido muy finamente. Cada elemento de datos de
polígono contiene coordenadas posicionales para una pluralidad de
vértices, y datos para un solo vector normal referente a toda la
superficie del polígono. Dado que el procesamiento convencional del
cálculo de impacto es efectuado con relación a la superficie real de
los polígonos (coordenadas de superficie de polígono), en los casos
donde dos polígonos anexan en un ángulo relativamente grande, la
dirección de cálculo de impacto cuando el vehículo pasa la unión
entre los polígonos puede cambiar repentinamente, causando que el
coche presente un comportamiento antinatural. Por ejemplo, aún si el
coche viaja a lo largo de una sección de carretera que parece ser
relativamente suave, debido a que hay un ángulo grande entre las
superficies de polígonos, la dirección del vehículo cambiará
repentinamente de una dirección de avance, a una dirección de
bandazo, a una dirección de guiñada, creando por lo tanto una
percepción extraña para el jugador.
Por supuesto, si el tamaño de la superficie de
cada polígono en relación a la superficie de la carretera o el
terreno que representa el entorno circundante se hace sumamente
pequeña comparada con el tamaño de los neumáticos, la suavidad del
terreno como un todo será mejorada consecuentemente y por lo tanto
los antes mencionados cambios bruscos en la dirección del cálculo
de impacto no correrán riesgo de ocurrir. Sin embargo, colocar las
superficies de polígono a un tamaño pequeño de este modo conlleva un
incremento correspondiente en la cantidad de datos referente al
área, y por lo tanto la cantidad de capacidad de almacenamiento
requerida en la memoria se vuelve muy grande y la carga de cálculo
en la CPU del ordenador aumenta notablemente. Aun suponiendo que
pudiera instalarse una memoria con una capacidad de almacenamiento
tan grande, todavía habría una disminución en la velocidad de
procesamiento en el dispositivo en su conjunto. Cualquier
disminución en la velocidad de procesamiento sería sumamente
desventajosa en los dispositivos actuales de juego, y tendría efecto
sobre la capacidad de comercialización. Consecuentemente, hay un
límite natural en el tamaño en el cual las superficies de polígono
pueden establecerse.
Además, aparte de los cambios en el
comportamiento entre dos superficies poligonales, el comportamiento
del vehículo representando finas sangrías en cada superficie de
polígono es también sumamente importante para aumentar el realismo
de juego. Convencionalmente, al tratar de representar este efecto,
la información de altura para estas sangrías se guarda previamente
para cada polígono (textura), y es necesario para calcular impactos
con relación a esta información de altura de sangría, creando un
volumen enorme de datos y de carga computacional y por lo tanto
haciendo imposible de conseguir en la práctica.
Además, uno de los factores donde el
comportamiento del vehículo afecta al entorno circundante es la
generación de nubes de polvo desde la superficie de la carretera y
el terreno acompañando el movimiento del coche. Estas nubes de
polvo son un factor sumamente importante al crear una descripción
realista del estado de la superficie de la carretera y el estado de
viaje, a saber, la velocidad y la aceleración del vehículo.
A pesar de esto, convencionalmente, el
procesamiento de imagen referente a nubes de polvo ha sido difícil
de lograr, y en muchos casos, las nubes de polvo no han sido
representadas debido a la mala calidad de tales representaciones.
Cuando se ha hecho un intento para representar nubes de polvo, esto
simplemente ha involucrado superponer uno o una pluralidad de
polígonos representando la superficie exterior de una neblina (nube)
de polvo, tridimensionalmente encima del fondo, o similares. Por
consiguiente, se representa un objeto representando una nube de
polvo teniendo un contorno muy claramente definido saliendo volando
detrás del coche.
Sin embargo, en la realidad, las nubes de polvo
no son a menudo aparentes de un vistazo, y por lo tanto tales
representaciones tienen una apariencia muy artificial. Por
consiguiente, para crear una impresión de partículas conformando la
nube de polvo, en muchos casos, ha sido introducida una impresión de
partículas de polvo mediante procesamiento de imágenes lo cual
reduce la presencia de la nube como un polígono, pero aún en estos
casos, las nubes de polvo resultantes han carecido de realismo.
Además, en algunas instancias, por ejemplo, cuando un coche rival
acelera pasando al coche del jugador, la posición del punto de vista
de la cámara puede entrar en la atmósfera de la nube de polvo. En
tales casos, si bien la cámara de punto de vista está ubicada en
medio de una nube de polvo, convencionalmente, sólo ha sido posible
generar una imagen de un estado antinatural, donde sólo es visible
la superficie exterior de la nube de polvo, como si la cámara
estuviera en un túnel donde sólo se representan las paredes
del
túnel.
túnel.
Un factor adicional por el cual el vehículo en
movimiento interfiere con el entorno circundante se refiere a los
faros delanteros y luces traseras encendidos en el vehículo, y
además, también hay luz creada por luz imaginaria del sol reflejada
por elementos del vehículo en el espacio de juego.
En un dispositivo convencional de juego, cuando
se representan tales objetos teniendo alto brillo, se adopta un
método según el cual, o bien los colores de los objetos mismos se
representan brillantemente, o se representan usando un efecto
niebla creado por una unidad de hardware instalada, o se representan
colocando una capa simple, la cual cambia de transparente a opaca
desde el borde del objeto de luz hacia el centro de este, al punto
de emisión luminosa y extendiéndose hacia el coche del jugador.
Sin embargo, estos métodos sólo representan luz
brillando desde los objetos, y ninguno es capaz de representar la
orientación de la luz dispersa desde el objeto en movimiento, lo
cual es una característica esencial del mismo, y por lo tanto falta
la sensación de luz dimanando dinámicamente del vehículo en
movimiento. Considerando el ejemplo de focos delanteros en caso del
tercer método descrito arriba, por ejemplo, se crea un efecto
antinatural por el cual hay dispersión de luz aun cuando el
vehículo en cuestión es visto desde atrás.
La presente invención fue ideada para superar
dichos problemas no resueltos asociados con dispositivos de juego,
siendo un objetivo común de ella proveer un dispositivo generador de
imágenes y un método de generación de imágenes por medio de los
cuales los factores referente a la interferencia entre un vehículo
formando un cuerpo en movimiento y el entorno circundante de este,
pueden ser representados de una manera más realista, aumentando por
lo tanto la sensación de realismo en juegos basados en el tema
principal de un vehículo en movimiento, y también aumentando el
interés creado por ello, sin aumentar notablemente la carga
computacional o el volumen de datos involucrados.
Específicamente, la presente invención intenta
proveer un dispositivo generador de imágenes y un método de
generación de imágenes que tienen realismo y autenticidad
notablemente mejorados en la representación del comportamiento del
vehículo en comparación con la técnica anterior, implementando un
procesamiento del cálculo de impacto más natural el cual crea pocos
efectos extraños al impedir los cambios bruscos en la dirección del
cálculo en el caso de procesamiento del cálculo de impacto cuando un
vehículo cruza la unión entre dos polígonos, y por la
implementación del procesamiento del cálculo de impacto el cual toma
en consideración sangrías en la superficie del camino, sin aumentar
notablemente la carga computacional o el volumen de datos
involucrado en ello.
Con este objeto, el dispositivo generador de
imágenes referente a un primer aspecto de la invención comprende:
medios de establecimiento de impacto para establecer el estado de
impacto entre un objeto y un camino de viaje especificado por
polígonos en un espacio tridimensional virtual; y medios de
generación para generar datos de imagen representando un estado
donde el objeto avanza por el camino de viaje mientras mantiene el
antedicho estado de impacto; en donde los medios de establecimiento
de impacto comprenden: medios de interpolación para determinar los
datos de establecimiento de impacto en una posición de impacto del
objeto por la interpolación de datos de vértice asignados a los
vértices de los polígonos del camino de viaje; y medios de
especificación de impacto para especificar el impacto del objeto en
el camino de viaje de conformidad con los datos de establecimiento
de impacto interpolados por los medios de interpolación.
\newpage
Por ejemplo, los datos de vértice comprenden la
altura y el vector normal de cada vértice, y los datos de
establecimiento de impacto comprenden la altura y el vector normal
de la posición de impacto. Además, por ejemplo, los medios de
interpolación comprenden:
- medios para especificar respectivamente dos
bordes del polígono intersecando ortogonalmente y extendiéndose
desde la posición de impacto en paralelo con ejes de coordenadas;
medios para colocar una primera y un segunda línea de cresta en la
base de los datos de vértice para cada fin de los bordes; medios
para determinar datos respectivos para los puntos de intersección
de las líneas de cresta con los dos bordes; medios para especificar
una tercera línea de cresta de un segmento teniendo extremos en los
puntos de intersección con los dos bordes; y
- medios para determinar los datos de
establecimiento de impacto en la posición de cálculo de impacto de
los datos respectivos para los puntos de intersección en esta
tercera línea de cresta. Deseablemente, las líneas de cresta desde
la primero hasta la tercera son dadas como ecuaciones
terciarias.
Además, el dispositivo generador de imágenes
referente a un segundo aspecto de la invención comprende: medios de
establecimiento de impacto para establecer el estado de impacto
entre un objeto y un camino de viaje especificado por polígonos en
un espacio tridimensional virtual; y medios de generación de datos
de imagen para generar datos de imagen representando un estado donde
el objeto avanza por el camino de viaje mientras mantiene el
antedicho estado de impacto; en donde los medios de establecimiento
de impacto comprenden: medios correctores para corregir los datos de
establecimiento de impacto en la posición de impacto del objeto de
conformidad con los atributos del camino de viaje representado por
los polígonos; y medios de especificación de impacto para
especificar el impacto del objeto en el camino de viaje de
conformidad con los datos de establecimiento de impacto corregidos
por los medios correctores.
Por ejemplo, los datos de establecimiento de
impacto son la altura y el vector normal de la posición de impacto.
Además, por ejemplo, los atributos del camino de viaje son sangrías
en el camino de viaje, y los datos de la luz y sombra suministrados
como textura para adjuntar a los polígonos son utilizados como
información para las sangrías.
El dispositivo generador de imágenes referente a
un tercer aspecto de la invención comprende: medios de
establecimiento de impacto para establecer el estado de impacto
entre un objeto y un camino de viaje especificado por polígonos en
un espacio tridimensional virtual; y medios generadores de datos de
imagen para generar datos de imagen representando un estado donde
el objeto avanza por el camino de viaje mientras mantiene el estado
de impacto antedicho; en donde los medios de establecimiento de
impacto comprenden:
- medios de interpolación para determinar los
datos de establecimiento de impacto en una posición de impacto del
objeto por la interpolación de datos de vértice asignados a los
vértices de los polígonos del camino de viaje; medios correctores
para corregir los datos de establecimiento de impacto interpolados
por los medios de interpolación de conformidad con los atributos
del camino de viaje representado por los polígonos; y medios de
especificación para especificar el impacto del objeto en el camino
de viaje de conformidad con los datos de establecimiento de impacto
corregidos por los medios correctores. Por ejemplo, los datos de
establecimiento de impacto son la altura y el vector normal de la
posición de impacto.
En cualquier de los anteriores aspectos, el
objeto puede ser un coche en un juego de carrera de coches
moviéndose en el espacio tridimensional virtual.
El método de generación de imagen referente a un
cuarto aspecto de la invención es un método de generación de imagen
para generar datos de imagen representando el estado de un objeto
especificado por polígonos en un espacio tridimensional virtual
avanzando por un camino de viaje, mientras se establece el estado de
impacto entre el objeto y el camino de viaje, en donde datos de
establecimiento de impacto en la posición de impacto del objeto son
determinados por la interpolación de datos de vértice asignados a
los vértices de los polígonos del camino de viaje, y el impacto del
objeto en el camino de viaje es especificado de conformidad con
estos datos de establecimiento de impacto interpolados.
Además, el método de generación de imagen
referente a un quinto aspecto de la invención es un método de
generación de imagen para generar datos de imagen representando el
estado de un objeto especificado por polígonos en un espacio
tridimensional virtual avanzando por un camino de viaje, mientras
estableciendo el estado de impacto entre el objeto y el camino de
viaje, en donde los datos de establecimiento de impacto en la
posición de impacto del objeto se corrigen de conformidad con los
atributos del camino de viaje representado por los polígonos, y el
impacto del objeto en el camino de viaje es especificado de
conformidad con este datos de establecimiento de impacto
corregidos.
La figura 1 es un diagrama de bloques mostrando
la composición de un dispositivo de juego referente a una
realización de la presente invención;
La figura 2 es un diagrama mostrando un
procedimiento principal de operaciones implementadas principalmente
por la CPU;
La figura 3 es un diagrama de un procedimiento
subsidiario mostrando un esquema del procesamiento de cálculo de
impacto;
La figura 4 es un diagrama esquemático mostrando
la disposición de una pluralidad de polígonos constituyendo una
superficie de la carretera;
La figura 5 es un diagrama para ilustrar un
procedimiento para el procesamiento de la interpolación dentro de
un polígono en el procesamiento del cálculo de impacto;
La figura 6 es un diagrama para ilustrar un
procedimiento para el procesamiento de la interpolación dentro de
un polígono en el procesamiento del cálculo de impacto;
La figura 7 es un diagrama para ilustrar un
procedimiento para el procesamiento de la interpolación dentro de
un polígono en el procesamiento del cálculo de impacto;
La figura 8 es un diagrama para ilustrar un
procedimiento para la corrección del procesamiento de golpe en el
procesamiento del cálculo de impacto;
La figura 9 es un diagrama para ilustrar un
procedimiento para la corrección del procesamiento de golpe en el
procesamiento del cálculo de impacto;
La figura 10 es un diagrama para ilustrar un
procedimiento para la corrección del procesamiento de golpe en el
procesamiento del cálculo de impacto;
La figura 11 es un diagrama para ilustrar un
procedimiento para la corrección del procesamiento de golpe en el
procesamiento del cálculo de impacto;
La figura 12 es un diagrama para ilustrar un
procedimiento resumido para procesar para generar una nube de
polvo;
La figura 13 es un diagrama para ilustrar
procesamiento para generar una nube de polvo;
La figura 14 es un diagrama para ilustrar
procesamiento para generar una nube de polvo;
La figura 15 es un diagrama para ilustrar
procesamiento para generar una nube de polvo;
La figura 16 es un diagrama para ilustrar
procesamiento para generar una nube de polvo;
La figura 17 es un diagrama para ilustrar un
procedimiento resumido para procesar para representar luz
dispersa;
La figura 18 es un diagrama para ilustrar
procesamiento para representar luz dispersa;
La figura 19 es un diagrama para ilustrar
procesamiento para representar luz dispersa;
La figura 20 es un diagrama para ilustrar
procesamiento para representar luz dispersa; y
La figura 21 es un diagrama para ilustrar
procesamiento para representar luz dispersa.
A continuación, se describe una realización de
la presente invención con referencia a los dibujos.
El dispositivo de juego mostrado en la figura 1
es un modo de implementar un dispositivo generador de imágenes y el
método de generación de imagen referente a la presente invención.
Este dispositivo comprende, como elementos fundamentales, una placa
de procesamiento de juego 10, un dispositivo de entrada 11,
dispositivo de salida 12, monitor de vídeo 13 y altavoz 14. El
dispositivo de entrada 11 comprende un volante, acelerador, freno,
palanca de la palanca de cambios, interruptor de cambio de vista, y
similares; el dispositivo de salida 13 comprende un mecanismo de
retroceso del volante, y lámparas diversas de visualización, etc. El
monitor de vídeo 13 visualiza imágenes de un juego de carrera de
coches, y puede usarse un proyector en lugar del monitor de vídeo.
El interruptor de cambio de vista es un interruptor para alternar la
colocación de un punto de vista imaginario de la cámara. Manejando
este interruptor, el jugador puede seleccionar, por ejemplo, un
punto de vista delantero viendo desde el asiento del conductor, un
punto de vista mirando el coche oblicuamente desde la parte
posterior, o similares.
La placa de procesamiento de juego 10 comprende
un contador 100, CPU (unidad central de proceso) 101, una ROM 102
actuando como medio de almacenamiento para grabar los programas en
operación y los datos para el dispositivo de juego, una RAM 103,
dispositivo de audio 104, interfaz de entrada/salida 106,
dispositivo de cálculo de datos de desplazamiento 107, coprocesador
(unidad subsidiaria de procesamiento) 108, ROM de datos de terreno
109, geometrizador 110, ROM de datos de forma 111, dispositivo de
dibujo 112, ROM de datos de textura 113, RAM de mapa de textura
114, memoria tampón 115, dispositivo sintetizador de imagen 116, y
convertidor D/A 117.
De estos, la CPU 101 está conectada por una
línea de bus al contador 100, la cual cuenta en orden decreciente
desde un valor inicial, la ROM 102, la cual almacena programas
prescritos y programas de procesado de imágenes, etc., la RAM 103
almacenando datos de cálculo, el dispositivo de audio 104, la
interfaz de entrada/salida 106, dispositivo de cálculo de datos de
desplazamiento 107, coprocesador 108, y geometrizador 110. La RAM
103 funciona como una memoria tampón, y sirve para escribir órdenes
diversas al geometrizador (para visualizar objetos, etcétera.) Y
para escribir datos requeridos al hacer cálculos diversos,
incluyendo cálculo de matrices de conversión.
La interfaz de entrada/salida 106 está conectada
al dispositivo de entrada 11 y al dispositivo de salida 12, y
diversas señales operativas y señales de detección del dispositivo
de entrada 11 son introducidas a la CPU 101 como cantidades
digitales. Las señales generadas por la CPU 101, y similares, pueden
ser suministradas al dispositivo de salida 12. El dispositivo de
audio 104 está conectado vía un amplificador de potencia 105 a un
altavoz 14. Por ello, una señal en buen estado generada por el
dispositivo de audio 104 es amplificada y luego emitida desde el
altavoz 14 en forma de sonido.
En base a los programas contenidos en la ROM
102, la CPU 101 lee señales operativas desde el dispositivo de
entrada 11, y datos de terreno de la ROM de datos de terreno 109 o
datos de forma de la ROM de datos de forma 111 (datos
tridimensionales para "objetos, tales como el coche del jugador,
los coches rivales, etc." y " fondo, como la superficie de la
carretera, el terreno, el cielo, los espectadores, los objetos
estructurales, etc."), después de lo cual se realizan los
cálculos para calcular el impacto entre el terreno y el coche,
calculando los impactos entre coches, calculando el comportamiento
de suspensión de 4 ruedas, y la simulación de comportamiento para
calcular el comportamiento del coche, así como también los efectos
especiales de procesamiento, incluyendo procesamiento para generar
nubes de polvo y procesamiento para generar y controlar luz
dispersa.
El cálculo del comportamiento del coche simula
los movimientos del coche en el espacio tridimensional virtual
(espacio de juego) usando las señales operativas impartidas por el
jugador vía el dispositivo de entrada 11. Para realizar este paso,
después de que los valores de coordenadas para los polígonos que
constituyen el coche en el espacio tridimensional virtual han sido
determinados, estos valores de coordenadas son entonces
suministrados al geometrizador 110 junto con datos de forma (datos
de polígono) y una matriz de conversión para convertir las
coordenadas a un sistema de coordenadas de punto de vista de dos
dimensiones. El coprocesador 108 está conectado a la memoria de
sólo lectura de datos de terreno 108, y los datos de terreno
previamente decididos son transferidos al coprocesador 108 y la CPU
101. El coprocesador 108 principalmente emprende cálculos con coma
flotante durante los pasos de cálculo de impacto entre el terreno y
el coche y de calcular el comportamiento del coche. Por
consiguiente, la carga de cálculo en la CPU puede reducirse. El
geometrizador 110 está conectado a la memoria de sólo lectura de
datos de forma 111 y el dispositivo de dibujo 112. Como fue indicado
previamente, los datos de forma consistente en una pluralidad de
polígonos (datos tridimensionales para coches, terreno, fondo,
etc., comprendiendo tres o más vértices) son previamente almacenados
en la memoria ROM de datos de forma 111. Estos datos de forma son
transferidos a el geometrizador 110, el cual lleva a cabo una
conversión perspectiva de los datos de forma indicados usando una
matriz de conversión designada por la CPU 101, por consiguiente
produciendo datos de forma que han sido convertidos de un sistema de
coordenadas en un espacio virtual tridimensional a un sistema de
coordenadas de punto
de vista.
de vista.
El dispositivo de dibujo 112 adjunta textura a
estos datos de forma convertidos en el sistema de coordenadas de
punto de vista, y devuelve los datos a la memoria tampón 115. Con el
objetivo de adjuntar textura a los datos, el dispositivo de dibujo
112 está conectado a la memoria de sólo lectura de datos de textura
113 y la RAM de mapa de textura 114, así como también estando
conectado a la memoria tampón 115.
Los datos de polígono se refieren a un grupo de
datos de coordenadas para las coordenadas relativas o absolutas de
cada vértice de polígonos (principalmente, formas de tres o cuatro
lados) consistiendo en un conjunto de tres o más vértices. La antes
mencionada memoria de sólo lectura de datos de terreno 109 almacena
datos de polígono que son establecidos en condiciones relativamente
burdas suficientes para llevar a cabo los procesos de cálculo
prescritos (cálculo de impacto, y cosas por el estilo). La memoria
de sólo lectura de datos de forma 111, por otra parte, almacena
conjuntos de datos de polígono en condiciones más precisas,
referente a las formas constituyendo las imágenes del coche, fondo,
y similares.
El dispositivo de cálculo de datos de
desplazamiento 107 calcula los datos para las imágenes de
desplazamiento, como el texto, o similares (almacenados en la ROM
102). Este dispositivo calculador 107 y la memoria tampón 115
llevan vía un dispositivo que sintetiza imágenes 116 y un
convertidor D/A 117 hacia el monitor de vídeo. Por consiguiente, las
imágenes de polígono (resultado de la simulación) para el coche, el
terreno (el fondo), y similares, almacenadas temporalmente en la
memoria tampón 115 son sintetizadas con imágenes de desplazamiento
de información de texto, como la velocidad, el tiempo de vuelta,
etc., según una prioridad designada, y los datos de la imagen final
son generados para cada marco con una frecuencia uniforme. Estos
datos de imagen son convertidos a una señal analógica por el
convertidor D/A 117 y luego suministrados al monitor de vídeo 13,
donde son exhibidos en la pantalla de juego en tiempo real.
A continuación, se describe el procesamiento de
generación de imagen referente a una carrera de coches en el
dispositivo de juego según la realización presente. La figura 2
muestra una rutina principal para el procesamiento de generación de
imagen. Esta rutina principal es, por ejemplo, repetida por la CPU
101 para cada campo (1/60-avo de segundo) en
sincronismo con una interrupción de visualización. En la pantalla de
imagen se forman, por lo menos, un vehículo y una superficie de
carretera formando el camino en el cual el vehículo viaja por una
pluralidad de polígonos (por ejemplo, polígonos triangulares). En
particular, para cada vértice de cada polígono representando la
superficie de la carretera, la información referente a la altura de
una posición de referencia dentro del espacio virtual (en otras
palabras, información de posición del vértice) y un vector normal en
la posición del vértice son suministrados, guardándose esta
información previamente en una memoria.
En primer lugar, el CPU 101 lee la información
operativa del jugador según detectada vía el dispositivo de entrada
11 y la información calculacional computada durante la interrupción
precedente (paso 201). En esto, la información operativa incluye,
por ejemplo, el ángulo del volante y el ángulo del acelerador, según
sea operada por el jugador. Además, la información de cálculo
incluye las posiciones del coche del jugador y los coches rivales,
la información de comportamiento del vehículo, y el procesamiento de
efectos especiales referentes a nubes de polvo, luces dispersas, y
cosas por el estilo, computados por la CPU 101. El coche del jugador
está controlado por la CPU 101 con base en la información operativa,
y los coches rivales están controlados independientemente por la
CPU 101 con base en un programa predeterminado. Acto seguido, las
posiciones de cálculo de impacto para cada vehículo (las posiciones
de impacto con el suelo de los neumáticos del coche) durante la
interrupción precedente se calculan en base a la antes mencionada
información operativa y la información calculacional durante la
interrupción precedente (las posiciones y las direcciones de viaje
del coche de jugador y de los coches rivales, etc.) (Paso 202).
La CPU 101 luego lleva a cabo el procesamiento
de cálculo de impacto para cada una de las posiciones de cálculo de
impacto de cada vehículo (paso 203). Acto seguido, como efectos
especiales referentes al comportamiento del vehículo, se efectúa el
procesamiento para generar nubes de polvo y el procesamiento para
representar luz dispersa, secuencialmente (pasos 204, 205). El
procesamiento involucrado en los pasos desde el 203 al 205 es
descrito más adelante.
La CPU 101 calcula luego el comportamiento del
vehículo teniendo en cuenta la información operativa y los
resultados de cálculo de impacto (paso 206), crea y designa una
matriz perspectiva de conversión (paso 207), y especifica los datos
de polígono, y cosas por el estilo, requeridos para el dibujado de
la imagen (paso 208). Por estos medios, los datos de imagen son
actualizados en cada interrupción, y las imágenes acompañando el
desarrollo del juego de carrera de coches son visualizadas en el
monitor de vídeo 13, junto con otra información de texto. De este
modo, el jugador puede jugar un juego suministrando entradas
operacionales deseadas vía el dispositivo de entrada 11, mientras
observa la pantalla de visualización.
Aquí, el procesamiento del cálculo de impacto
ejecutado en el paso 203 será descrito detalladamente, junto con los
principios de dicho procesamiento, con referencia a las figuras
3-10.
La figura 3 muestra una rutina subsidiaria de
procesamiento implementada en el paso 203. Por medio de esta
rutina, se puede encontrar, a partir de una pluralidad de polígonos
PG formando una superficie de carretera determinada como se ilustra
en la figura 4, los polígonos sujetos al procesamiento de cálculo de
impacto que contienen puntos de cálculo de impacto calculados para
cada vehículo, en el plano xz en el espacio tridimensional virtual
(paso 203a).
Acto seguido, la altura del punto de cálculo de
impacto y el vector normal para el polígono sujeto se calculan
nuevamente por interpolación (paso 203b). Este método de cálculo es
descrito más abajo.
Como se ilustra en la figura 5, el polígono
sujeto se toma como polígono ABC, y el punto de cálculo localizado
en este polígono es tomado como P (Px, Pz). Si el punto P de cálculo
es tomado paralelamente al eje x, entonces encontrará bien el borde
AB o el borde BC del polígono ABC. Los puntos correspondientes de
intersección son designados P_{AB} y P_{BC}, respectivamente.
Consideremos ahora un sistema de dos dimensiones consistiendo del
borde AB y el eje y, por ejemplo. Como se ilustra en la figura 5 y
en la figura 6, puede ser planteada como hipótesis una curva que
enlaza un extremo de segmento de altura y_{A} en el punto A y un
extremo de segmento de altura y_{B} en el punto B. Esta curva es
denominada línea de cresta.
Introduciendo un parámetro posicional t donde t
= 0 en el punto A y t = 1 en el punto B, puede ser planteada como
hipótesis una fórmula f_{AB} (t) expresando la antes mencionada
línea de cresta como sigue:
(1)f_{AB} (t)
= y = at3 + bt2 + ct +
d
\newpage
(Ver figura 6). De las condiciones de contorno,
puede determinarse que:
- f (0) = d = y_{A} = altura en el punto A
- f (1) = a + b + c + d = y_{B} = altura en el punto B
- f' (0) = c = n_{A} = gradiente de la normal en el punto A
- f' (1) = 3 a + 2 b + c = n_{B} = gradiente de la normal en el punto B.
Y de esto, los coeficientes pueden calcularse
como sigue:
- a = 2 y_{A} - 2 y_{B} + n_{A} + n_{B}
- b = - 3 y_{A} + 3 y_{B} - 2 n_{A} - n_{B}
- c = n_{A}
- d = y_{A}.
Consecuentemente, dado que la altura Y_{A},
y_{B} en los puntos A, B y los gradientes de las líneas normales
n_{A}, n_{B} son suministrados previamente, los coeficientes a,
b, c, d pueden ser calculados. Por consiguiente, los coeficientes
a, b, c, d, que especifican la línea de cresta referente a los
puntos A, B pueden ser calculados según se requiera en tiempo real,
o pueden calcularse de antemano, almacenarse en una memoria en forma
de datos de tabla de coeficientes, y extraídos cuando se requiera.
La última opción es ventajosa desde el punto de vista de la
velocidad de procesamiento.
Al poner los valores calculados o extraídos de
los coeficientes a, b, c, d en la función f_{AB} de la ecuación
(1), se determina el valor funcional f_{AB} (P_{AB}) en el punto
de intersección P_{AB}. Por consiguiente, las coordenadas del
punto P_{AB} son (Px', f_{AB} (P'), Pz). Aquí, Px' es la
posición en coordenadas de la intersección entre P y AB cuando P es
movido a lo largo del eje X. El valor de la función en este caso es
P'.
Además, el vector normal Np' en punto de
intersección P_{AB} es calculado por interpolación lineal de los
vectores normal N_{A}, N_{B} en el punto A y en el punto B, por
medio de la siguiente ecuación.
(2)Vector \
N_{p}' = [(1 - t_{p}) \ N_{A} + t_{p} \ N_{B}]/| \ (N_{A} + N_{B}) \
|
Las coordenadas del punto de intersección
P_{BC} y el vector normal en el otro borde BC son calculadas de
una manera similar a la anterior, en base a una línea de cresta
formada por este otro borde BC.
Además, para el segmento P_{AB}P_{BC} entre
los antes mencionados dos puntos de intersección P_{AB} y
P_{BC}, puede ser planteada como hipótesis una línea de cresta
basada en una ecuación terciaria como se ilustra en la figura 7, en
una manera similar a lo anterior, y la coordenada y (altura) y el
vector normal (tamaño, dirección) en el punto P de cálculo pueden
calcularse sobre la base de esta línea de cresta. De este modo, la
información referente a la coordenada y (altura) y el vector normal
en el punto P de cálculo puede ser derivada simplemente de la
información de altura y la información del vector normal para los
vértices del polígono.
Además, en vez de limitar los bordes del
polígono sujeto usado en este cálculo al borde AB y al borde BC
solamente, es también posible usar el borde AC y el borde AB tomando
el punto P de cálculo de impacto paralelo al eje z. En resumen,
deberían usarse cualesquiera dos bordes.
Acto seguido, en la figura 3, la CPU 101 efectúa
el procesamiento para aplicar correcciones finas a la altura y al
vector normal en el punto de cálculo de impacto P, basado en las
abolladuras (sangrías) en la superficie de la carretera (pasos
203c, 203d, 203e). Este procesamiento de corrección es efectuado
considerando la luz y la sombra de la textura usada para crear
abolladuras como información de altura representando sangrías en la
superficie de la carretera, y este procesamiento es llamado
procesamiento de abolladura. Un rasgo característico de este
procesamiento es que los atributos de la textura aplicada al
polígono sirven para corrección de abolladuras (en otras palabras,
finalmente, para el cálculo de impacto), y además de la luz y la
sombra de la textura descrita arriba, se logra también llevar a cabo
corrección de abolladuras mediante el uso de artículos, como hierba,
piedras, etc., suministrados como textura, como información de
abolladura.
En el paso 203c, se determina si la textura de
abolladura ha sido aplicada dentro del polígono actualmente en
procesamiento o no, usando una bandera, o similar. Si ninguna
textura de abolladura ha sido aplicada (NO), entonces el paso 203d
se salta. Si la textura de abolladura ha sido aplicada (SÍ),
entonces en el paso 203d, se calculan la altura y el vector normal
en una posición de cálculo de impacto basado en la textura de la
abolladura. Este procedimiento de cálculo es descrito detalladamente
más adelante.
\newpage
En general, como se ilustra en la figura 8, en
el sistema de coordenadas uv para la textura y el sistema de
coordenadas xz para el polígono, se expresan imágenes de tres puntos
por las siguientes matrices M, M^. En otras palabras, la conversión
del sistema de coordenadas uv al sistema de coordenadas xz puede ser
lograda usando
Y la conversión del sistema de coordenadas xz al
sistema de coordenadas uv puede ser lograda usando
Si se seleccionan cuatro pixeles rodean el punto
(u_{o}, v_{o}) correspondiente a la posición del cálculo de
impacto en el sistema de coordenadas uv como se ilustra en la figura
9, estos cuatro pixeles respectivamente tendrán entonces datos de
altura T_{00}, T_{10}, T_{11}, T_{01}.
Las alturas T_{u0}, T_{u1} en la posición
v_{0} son calculadas respectivamente por interpolación lineal con
relación a los datos de altura T_{00} - T_{10} correspondientes
a los dos pixeles en un borde paralelo al eje u y los datos de
altura T_{01} - T_{11} correspondientes a los dos pixeles en el
otro borde.
De modo semejante, las alturas T_{0v},
T_{1v} en u_{0} en la posición u_{0} son calculadas
respectivamente por interpolación lineal con relación a los datos
de altura T_{00} - T_{01} correspondientes a los dos pixeles en
un borde paralelo al eje u y los datos de altura T_{10} - T_{11}
correspondientes a los dos pixeles en el otro borde. Acto seguido,
se deriva de estos datos interpolados de altura el gradiente de los
datos de altura T_{u0} - T_{u1} para un segmento dibujado
paralelo al eje u y este se toma como el valor diferencial en la
dirección del eje u (=gradiente) en el punto (u_{0}, v_{0}).
Además, el gradiente de los datos de altura T_{0v} - T_{1v} para
un segmento dibujado paralelo al eje v es también derivado y este
se toma como el valor diferencial en la dirección del eje v en el
punto (u_{0}, v_{0}).
Estos dos gradientes son convertidos a vectores
tangenciales du, dv en las direcciones de los ejes u y v, y estos
vectores se convierten desde el sistema de coordenadas uv de textura
al sistema de coordenadas xz del polígono, por medio de la matriz M
descrita arriba.
Además, la línea recta intersecando
ortogonalmente con ambos dos vectores tangenciales convertidos du,
dv, se convierte en el vector normal corregido de abolladura en el
punto de cálculo de impacto P (Px, Pz) (ver figura 10). La altura
corregida de abolladura en el punto de cálculo de impacto P (Px, pz)
es derivada por interpolación bilineal de los datos de altura para
los cuatro pixeles. Acto seguido, la CPU 101 se mueve al paso 203e
en la figura 3, donde la altura final y el vector normal para la
posición de cálculo de impacto son sintetizados de los datos
interpolados (altura, vector normal) en base al polígono calculado
en el paso 203b de arriba y los datos interpolados de abolladura
(altura, vector normal) calculados en el paso 203d. Para la altura,
los dos valores son añadidos o sustraídos.
Los vectores normales, por otra parte, son
convertidos como sigue. El vector normal obtenido por la
interpolación basada en el polígono es tomado como vector n y el
vector normal obtenido por la interpolación de la abolladura es
tomado como vector m. Dado que el vector m asume una dirección
normal cuando el vector n apunta directamente vertical (0, 1, 0),
entonces de conformidad con esto una matriz de conversión es
derivada para convertir (0, 1, 0) a vector n (ver figura 11). El
vector m se convierte luego usando esta matriz de conversión. El
vector m convertido forma el vector normal sintetizado final.
De este modo, la altura y los datos vectoriales
normales interpolados dentro del polígono son corregidos más
finamente por corrección de abolladura. Los datos finales de altura
y los datos de vectores normales para la posición de cálculo de
impacto obtenida como resultado de este procesamiento se usan para
determinar el impacto entre los neumáticos del vehículo y el
polígono sujeto (figura 3; paso 203f).
\newpage
El cálculo continuo de impacto se efectúa para
cada llanta de ambos los coches del jugador y los coches rivales,
realizando repetidamente la secuencia de pasos de procesamiento de
cálculo de impacto descrita arriba a intervalos de tiempo cortos y
uniformes.
Según la realización presente, en primer lugar,
la altura y el vector normal en la posición de cálculo de impacto
son interpolados de los datos del polígono. Por consiguiente, dado
que la dirección del vector normal suministrado como la dirección
de cálculo de impacto cambia de forma notablemente suave comparado
con los métodos convencionales, aun si la posición de cálculo de
impacto se transfiere desde un polígono hacia otro polígono donde
hay una diferencia de ángulo entre las superficies de los polígono,
la dirección de cálculo de impacto puede variarse suavemente, y por
lo tanto la exactitud del cálculo de impacto se mejora comparada con
los métodos convencionales, y se logra eliminar la generación de
efectos extraños.
Por consiguiente, en la realización presente, se
adopta un método de corrección de dos etapas, por medio del cual la
altura y el vector normal interpolado con base en el polígono como
fue descrito arriba están sujetos además a corrección de abolladura
por medio de los datos de luz y sombra formando atributos de
textura. Por consiguiente, después de efectuar suavemente cambios
amplios en la altura de la superficie de la carretera, el cálculo
de impacto es llevado a cabo usando datos de altura y de vectores
normales que reflejan fielmente las sangrías finas en la superficie
del camino, y por lo tanto la exactitud de cálculo de impacto es
sumamente alta y el comportamiento del vehículo puede ser simulado
de modo que transmita los atributos de la superficie de carretera
más exactamente.
Se obtiene una ventaja adicional debido a que no
siempre es necesario usar ambos procesos de interpolación basado en
los datos de polígono y procesos de interpolación basado en textura,
como se describió antes, y aun en los casos donde sólo uno de estos
procesos es ejecutado independientemente, la exactitud del
procesamiento del cálculo es sumamente alto comparado al cálculo
convencional de impacto.
A continuación, se describe el procesamiento
para generar nubes de polvo según el paso 204 de la figura 2.
Cuando el procesamiento de cálculo de impacto ha sido completado
como se describe arriba, la CPU 101 efectúa el procesamiento de
generación de la nube de polvo para crear una sensación de realismo
en la pantalla de visualización, como un tipo de procesamiento de
efectos especiales para el juego de carrera de coches. Este
procesamiento es descrito con referencia a las figuras 12 a 16. Un
esquema de la secuencia de procesamiento involucrada se muestra en
la figura 12.
En primer lugar, un conjunto de polígonos en
forma de cuadrícula es almacenado previamente en la memoria como
datos de polígono para representar una nube de polvo. La figura 13
da una ilustración esquemática de un ejemplo de tal conjunto de
polígonos, lo cual forma un mapa de dos dimensiones en donde la
dirección vertical R representa la dimensión de resolución del
polvo y la dirección horizontal T representa la dimensión del eje de
tiempo. Para dar un ejemplo específico, el número de polígonos en el
dirección vertical Rmax = 5, y el número de polígonos en el
dirección horizontal Tmax = 20. Estos números del polígono pueden
ser determinados según el caso de conformidad con la precisión de
visualización y la carga computacional.
La posición espacial actual, velocidad, y otros
parámetros son asignados respectivamente a los vértices de cada
polígono durante el cálculo de la nube de polvo. Cuanto mayor el
número de estos parámetros y el número de polígonos representando
la resolución en el tiempo y dirección vertical en la dirección
horizontal, más precisa es la simulación de una nube de polvo. Dado
que el procesamiento es implementado de manera que el conjunto de
polígonos de la nube de polvo cambia de forma durante la
visualización en respuesta a factores diversos, se utiliza
información de enlace para mutuamente conectar los vértices de cada
polígono en la cuadrícula como datos de imagen. Ésta es determinada
de forma que la forma de la nube de polvo se altere como un
todo.
Se supone ahora un caso donde una nube de polvo
es lanzada hacia arriba desde la rueda delantera de un vehículo. En
primer lugar, la posición de la superficie de contacto con la tierra
de la rueda delantera y una velocidad inicial derivada de la tasa
de revoluciones libre de los neumáticos de la superficie de
carretera y un número aleatorio son asignados a cada polígono del
conjunto polígono formando parte de la columna situada sobre la
dirección de la resolución R en la posición T = 0 en el eje de
tiempo (figura 12, paso 2031). Acto seguido, la posición en el eje
de tiempo se cambia a T = 1, y se determinan una posición y
velocidad para cada polígono en la columna situada sobre la
dirección de la resolución R en T = 1. Específicamente, son
determinados cada uno de los polígonos en posición T = 1 añadiendo
diversos parámetros de nube de polvo a ser obtenidos en la
visualización del marco actual para la posición y velocidad de cada
polígono en la posición T = 0 procesada para la visualización del
marco previo (paso 2032). Aquí, factores como dirección y fuerza del
viento, aceleración debida a la gravedad, resistencia del aire, y
similares, son utilizados como dichos parámetros. Estos parámetros
pueden ser derivados cuando se requiera de la información operativa,
velocidad actual del coche, y cosas por el estilo. Por
consiguiente, los polígonos en la segunda columna T = 1 pueden ser
suministrados con un movimiento que refleja el movimiento de los
polígonos en la columna previa durante el paso de procesamiento
previo.
Los cálculos descritos arriba son repetidos de
una manera similar desde la columna 3 en T = 2 hasta la columna n
+1-ésima en T = n (donde, n = 10, por ejemplo). En otras palabras, a
cada polígono en T = 2 se le asigna una posición y velocidad
obtenidas añadiendo parámetros de nube de polvo para la posición y
la velocidad de los polígonos en T = 1 en el paso de procesamiento
precedente. Además, a cada polígono en T = 3 se le asigna una
posición y velocidad obtenidas añadiendo parámetros de nube de polvo
para la posición y la velocidad de los polígonos en T = 2 e en el
paso de procesamiento precedente. El cálculo es repetido de esta
manera hasta que, finalmente, a cada polígono en T = n se le asigna
una posición y velocidad obtenidas añadiendo parámetros de la nube
de polvo para la posición y la velocidad de los polígonos en T =
n-1 en el paso de procesamiento precedente.
Las posiciones de los vértices de cada polígono
establecidas por medio de esta secuencia de cálculos son
reconstituidas para formar un objeto representando una nube de polvo
por medio de datos de enlace que enlazan vértices juntos (paso
2033). Por consiguiente, el objeto se vuelve a una sola forma, los
vértices que se mueven como una nube de polvo cuando es
visualizada.
Además, el conjunto de polígonos convertido de
dicha manera es adicionalmente sujeto a procesamientos diversos para
ajustar la apariencia de la nube de polvo (paso 2034). Estos
procesamiento incluyen: (1) procesamiento para aumentar la
transparencia mientras los polígonos se mueven a lo largo de la del
eje de tiempo T; (2) procesamiento para aumentar la transparencia en
una dirección ascendente, de tal modo que el borde entre los
polígonos más altos y el fondo no sobresale cuando la nube de polvo
como un todo es observada desde una dirección lateral; (3)
procesamiento para aplicar una niebla del mismo color que el polvo y
causar que la densidad de esta niebla aumente hacia el centro de la
nube de polvo, en los casos donde el punto de vista de la cámara se
ha introducido en la atmósfera de la nube de polvo, para impedir
efectos extraños en tales casos; y similares.
Por lo tanto, en la realización presente, una
nube de polvo es representada por un conjunto de polígonos, y una
nube de polvo es visualizada colocando los vértices de cada polígono
por cálculo físico y causando que el conjunto de polígonos deje un
rastro detrás de ellos. En particular, mientras se realiza el
cálculo físico, el movimiento de la columna previa de polígonos
durante el ciclo de procesamiento previo es reflejado en la
subsiguiente columna de polígonos, y además, los valores de los
parámetro de la nube de polvo, principalmente, los factores
ambientales, como la dirección y la fuerza del viento, la
aceleración debido a la gravedad, la resistencia del aire, y cosas
por el estilo, son también aplicados. Por consiguiente, como se
ilustra en la figura 14 y en la figura 15, una nube de polvo SS es
visualizada dejando un rastro detrás del vehículo y ensanchándose
mientras se mueve hacia el espectador, y su forma cambia libremente
según los diversos valores de los parámetros de la nube de polvo.
Dado que el movimiento de los vértices es determinado por medio del
cálculo físico, el comportamiento (levantando, ondulando) de la
nube de polvo como un todo aparece mucho más natural que en un
dispositivo convencional, y por lo tanto es posible virtualmente
eliminar el efecto extraño creado por una representación artificial
de una nube de polvo.
La nube de polvo como un todo también aumenta en
transparencia en una dirección ascendente y una dirección hacia
atrás. En otras palabras, la densidad de las partículas de la nube
de polvo es visualizada de modo que se reduce en cualquiera de
estas direcciones, y por lo tanto el contorno de la nube de polvo es
visualizado de una manera borrosa. Por lo tanto, es posible
eliminar la impresión antinatural creada por los dispositivos
convencionales donde el borde entre una nube de polvo y el entorno
circundante es demasiado distinto. Por este medio también, el
realismo obtenido al representar una nube de polvo es mejorado
notablemente.
Además, en los casos donde el coche del jugador
es alcanzado por un coche rival en aceleración EC, como se ilustra
en la figura 16, el punto de vista de la cámara localizado en la
posición del jugador en el propio coche del jugador puede entrar
completamente en la atmósfera de la nube de polvo lanzada hacia
arriba por el coche del rival. En situaciones como esta, según los
métodos convencionales, sólo se ha logrado visualizar una pantalla
creando una ilusión óptica como si el jugador hubiera entrado en un
túnel de polvo que está vacío en el medio. Sin embargo, en la
realización presente, se aplica una niebla del mismo color que el de
una nube de polvo, visualizándose pantallas en donde la densidad de
la niebla aumenta hacia el centro de la nube de polvo, y por
consiguiente se logra representar un estado real donde la porción
del centro de la nube de polvo es rellenada. El efecto extraño
creado por los métodos convencionales puede ser eliminado, pueden
ser representadas nubes de polvo sumamente realistas, y por lo
tanto el realismo del juego puede mejorarse. Además, por medio de
este procesamiento de niebla, se logra hacer uso del recorte de
pantalla (procesamiento por medio del cual un objeto no es
visualizado cuando se ha movido más allá de una cierta distancia
hacia el frente de la pantalla), y los efectos antinaturales en el
visualizador pueden ser evitados, a la vez que puede reducirse la
cantidad de procesamiento computacional.
Además, en caso de un coche cuatro por cuatro,
se genera una nube de polvo de todas las ruedas, pero cuándo el
coche está viajando hacia adelante, los polígonos de las nubes de
polvo generadas por las ruedas traseras son mezclados con esos
generados por las ruedas delanteras, y por lo tanto la generación de
estos polígonos de la nube de polvo puede omitirse. Cuando el coche
está retrocediendo, por otra parte, se logra omitir los polígonos de
la nube de polvo generados por las ruedas delanteras.
A continuación, se describe el procesamiento
para visualizar la luz dispersa según el paso 205 en la figura 2.
Después del procesamiento de generación de la nube de polvo, la CPU
101 comunica un sentido de realismo en la pantalla de visualización
llevando a cabo el procesamiento para representar luz dispersa, como
un tipo de procesamiento de efectos especiales para un juego de
carrera de coches. Este procesamiento es ahora descrito con base en
las figuras 17 a 21. La figura 17 muestra un resumen de la secuencia
de procesamiento implicada.
La figura 18 muestra la relación posicional
entre el vehículo y el punto de vista de la cámara en un espacio
virtual tridimensional. Una matriz indicando la posición espacial
del vehículo es tomada como Mc, y una matriz indicando la posición
espacial del punto de vista de la cámara es llamada como Me. Estas
matrices son representadas como sigue:
En primer lugar, como se ilustra por los
ejemplos en las figuras 19 (a) y (b), se determinan los respectivos
vectores direccionales Vc, Ve para el vehículo (orientación de la
fuente de luz) y el punto de vista de la cámara (figura 17; paso
2041). Estos vectores direccionales son cantidades que indican la
dirección a la que apuntan el vehículo (orientación de la fuente de
luz a ser visualizada) y el punto de vista de la cámara están
dentro del espacio de juego, y pueden ser derivados multiplicando
los componentes direccionales en las matrices respectivas Mc, Me por
(0, 0, 1), a saber,
Acto seguido, se determina el ángulo entre estos
dos vectores direccionales (paso 2042). Específicamente, este
ángulo puede ser derivado calculando el producto vectorial de los
dos vectores y determinando el coseno de esta dirección.
\newpage
En otras palabras, el coseno de esta dirección
se deriva como sigue:
De estos resultados, el seno de este ángulo es
derivado por:
sin \ \theta =
(1 - cos^{2} \
\theta)^{1/2}
(Paso 2043).
Acto seguido, de forma recíproca, se determina
1/sin \theta (paso 2044). Esta función 1/sin \theta forma una
curva que se expande hacia el infinito cuando los dos vectores
direccionales Vc, Ve son paralelos entre sí (ver figura 20). La
función sirve como un coeficiente de ampliación referente a un
objeto de visualización de luz dispersa, como se describe en
adelante. Acto seguido, un polígono de solo una fuente de luz PGL
(deseablemente, se usa un polígono por cada fuente de luz) es
localizado en una posición de fuente de luz, como un foco delantero
del vehículo, o similares, y se implementa el procesamiento de modo
que este polígono de fuente de luz es ampliado por la función 1/sin
\theta en dirección del plano que interseca ortogonalmente con la
línea de visión (paso 2045). Dado que el polígono de fuente de luz
no es siempre perpendicular con relación al vector de la línea de
visión, el ángulo formado entre el polígono de luz y el polígono de
fuente de luz (vector direccional del vehículo) es calculado en el
procesamiento de la antes mencionada ampliación, y el polígono luz
es ampliado y se le hace cambiar de forma a una forma elíptica
según este ángulo (en un espacio virtual tridimensional, la
dirección del eje x o la dirección del eje y es ampliada en una
forma elíptica). Si el polígono de fuente de luz es perpendicular
con relación al vector de la línea de visión (en otras palabras, si
el polígono de fuente de luz está de frente directamente hacia el
vector de la línea de visión), se ejecuta el procesamiento para
alargar el polígono de fuente de luz en una forma circular. El
polígono de fuente de luz está diseñado de modo que cambie de
transparente en los bordes de este a un color opaco de fuente de luz
hacia el centro de esto.
Por ello, mientras el ángulo entre el punto de
vista de la cámara y el vehículo (la orientación de la fuente de
luz) se acerca al paralelismo, el estado de la emisión luminosa
propagándose desde la fuente de luz cambia a un ritmo creciente de
una forma elíptica a una forma circular infinitamente grande, como
se representa en las figuras 21 (b) y (c). Además, dado que la
fuente de la emisión de luz localizada en el centro de la
propagación de luz es opaca, puede ser representada como el punto
más brillante. La figura 21 (a) muestra un estado inicial en el
procesamiento computacional referente a una fuente de luz como se ha
descrito anteriormente, y en este estado, la forma de la fuente de
luz es un círculo o una elipse de diámetro pequeño. Por
consiguiente, es posible transmitir fielmente al jugador que
observa la pantalla (la posición del observador en el punto de vista
imaginario de la cámara) una impresión de la direccionalidad de la
luz dispersa, y dado que esta impresión es muy similar a la
experimentada ordinariamente en relación a coches reales, contribuye
a mejorar el sentido de realismo comunicado por el comportamiento
del vehículo. El cambio en la forma de la fuente de luz no está
limitado a este descrito aquí, y se logra también adoptar una
colección variada de formas, como formas de la estrella, o
similares.
En particular, dado que la luz dispersa se
representa como si fuera más grande que la pantalla de visualización
cuando el estado de emisión luminosa es tal que el punto de vista
de la cámara coincide con la dirección del vehículo, esto crea una
gran impresión en el jugador, por consiguiente aumentando el interés
del jugador en el juego y proporcionando una imagen que puede ser
comprendida de una manera instintiva. Además, este procesamiento
para representar luz dispersa se aparta de los métodos
convencionales, y aunque crea un impacto visual muy significativo,
el método de procesamiento de cálculo se basa en el procesamiento
para alargar un solo polígono, y por consiguiente es muy simple.
Consecuentemente, este método está caracterizado porque la carga
computacional involucrada es sólo pequeña y la velocidad de
procesamiento es rápida.
El procesamiento para representar luz dispersa
no está limitado a los focos delanteros del vehículo, y ciertamente
puede ser aplicada para los faros traseros, o ambos focos delanteros
y faros traseros de este. Además, este procesamiento para
representar luz dispersa puede ser aplicado satisfactoriamente en
casos donde, por ejemplo, se representa el estado disperso de la
luz del sol reflejado desde la superficie de vidrio de una cabina
del piloto de un avión de guerra en un juego de aviones de
guerra.
La presente invención no está limitada a la
implementación en un juego, un dispositivo formando un dispositivo
generador de imágenes realizando un juego de carrera de carros. Esta
puede implementarse satisfactoriamente en un dispositivo de juego
que haga que un objeto representando un cuerpo en movimiento se
mueva a lo largo de un camino de viaje establecido en un espacio
tridimensional virtual, por ejemplo, una carrera de botes en agua,
un juego de patinete, o similares.
Además, la invención también puede ser aplicada
para pulverización de agua, además de para nubes de polvo. También
puede ser aplicada para humo. En resumen, puede ser aplicada para la
visualización de cualquier elemento emanando de un objeto en
movimiento que representa los resultados de este movimiento. Para el
medio de almacenamiento en la presente invención, se logra también
incluir otros medios de almacenamiento, por ejemplo, medios de
almacenamiento comúnmente conocidos, como un disco duro, ROM de tipo
de cartucho, CD-ROM, o similares, o medios de
comunicaciones (Internet, redes de comunicaciones de ordenadores
personales, o información localizada en los servidores en estas
redes, etc.)
Como se ha descrito, según la presente
invención, es posible proveer un dispositivo generador de imágenes
y un método de generación de imágenes según los cuales los factores
referentes a la interferencia entre un vehículo formando un cuerpo
en movimiento y el entorno circundante de este pueden ser
representados de una manera más realista, por lo tanto aumentando
el sentido de realismo en juegos basados en el tema principal de un
vehículo en movimiento, y también elevando el interés creado por
consiguiente, sin aumentar notablemente la carga computacional, o
el volumen de datos implicado. En particular, es posible lograr un
realismo y autenticidad notablemente mejorados en la representación
del comportamiento del vehículo comparados con la técnica anterior,
implementando un procesamiento de cálculo de impacto más natural el
cual crea pocos efectos extraños al impedir cambios bruscos en la
dirección de cálculo en caso del procesamiento del cálculo de
impacto cuando un vehículo cruza la unión entre dos polígonos, e
implementando un procesamiento de cálculo de impacto que toma en
consideración sangrías en la superficie del camino.
Además, se logra también eliminar el efecto
extraño creado por nubes de polvo convencionales suaves o
artificiales a la vista representando la sensación de partículas
formando una nube de polvo, es más, las nubes de polvo pueden ser
representadas sin efectos extraños en el estado de la nube según es
vista desde el punto de vista de la cámara, aun en los casos donde
el punto de vista de la cámara está espacialmente localizado dentro
de una nube de polvo.
Además, imágenes de luz dispersa teniendo una
orientación, como focos delanteros, lámparas traseras, o luz
reflejada, emitidas desde un vehículo en movimiento, pueden ser
generadas en un modo dinámico, y por lo tanto la luz dispersa puede
ser representada de una manera más realista.
Claims (9)
1. Un dispositivo generador de imágenes
que comprende:
- Medios de establecimiento de impacto (203) para establecer el estado de impacto entre un objeto y un camino de viaje especificado por polígonos (PG) en un espacio tridimensional virtual; y
- Medios de generación (203f) para generar datos de imagen representando un estado donde dichos movimientos del objeto a lo largo de dicho camino de viaje mientras mantiene dicho estado de impacto;
En donde dichos medios de establecimiento de
impacto comprenden:
- Medios de interpolación (203b) para el determinar los datos de establecimiento de impacto en una posición de impacto (P) de dicho objeto por la interpolación desde datos de vértice asignados a los vértices de los polígonos de dicho camino de viaje; y medios de especificación de impacto (203c al f) para especificar el impacto de dicho objeto en dicho camino de viaje de conformidad con los datos de establecimiento de impacto interpolados por dichos medios de interpolación.
2. El dispositivo generador de imágenes
según la reivindicación 1, en donde dichos datos de vértice
comprenden la altura y el vector normal de cada vértice, y dichos
datos de establecimiento de impacto comprenden la altura y el vector
normal de dicha posición de impacto.
3. El dispositivo generador de imágenes
según la reivindicación 1 o la reivindicación 2, en donde dichos
medios de interpolación comprenden medios para especificar
respectivamente dos bordes de dicho polígono intersecando
ortogonalmente y extendiéndose desde dicha posición de impacto
paralelamente a los ejes de coordenadas; medios para establecer una
primera y una segunda línea de cresta en base de los datos de
vértice para cada extremo de dichos bordes; medios para determinar
datos respectivos para los puntos de intersección de dichas línea
de crestas con dichos dos bordes; medios para especificar una
tercera línea de cresta de un segmento teniendo extremos en los
puntos de intersección con dichos dos bordes; y medios para
determinar dichos datos de establecimiento de impacto en dicha
posición de cálculo de impacto de los datos respectivos para dichos
puntos de intersección en esta tercera línea de cresta.
4. El dispositivo generador de imágenes
según la reivindicación 3, en donde la primera a la tercera línea de
crestas son dadas como ecuaciones terciarias.
5. Un dispositivo generador de imágenes
según la reivindicación 1:
En donde dichos medios de establecimiento de
impacto además comprenden medios correctores para corregir los datos
de establecimiento de impacto interpolados por dichos medios de
interpolación de conformidad con los atributos de dicho camino de
viaje representado por dichos polígonos; y especificando medios para
especificar el impacto de dicho objeto en dicho camino de viaje de
conformidad con dichos datos de establecimiento de impacto
corregidos por dichos medios correctores.
6. El dispositivo generador de imágenes
según la reivindicación 5, en donde dichos datos de establecimiento
de impacto son la altura y el vector normal de dicha posición de
impacto.
7. El dispositivo generador de imágenes
según la reivindicación 5, en dónde dichos atributos de dicho camino
de viaje son sangrías en el camino de viaje, y la luz y la sombra
suministrada como textura para adjuntar a dichos polígonos son
utilizadas como información para dichas sangrías.
8. El dispositivo generador de imágenes
según cualquiera de las reivindicaciones de la 1 a la 7, en donde
dicho objeto es un coche en un juego de carrera de coches moviéndose
en dicho espacio tridimensional virtual.
9. Un método de generación de imagen
para generar datos de imagen representando el estado de un objeto
especificado por polígonos en un espacio tridimensional virtual
moviéndose por un camino de viaje, mientras establece el estado de
impacto entre dicho objeto y dicho camino de viaje,
en donde los datos de establecimiento de impacto
en la posición de impacto de dicho objeto son determinados por
interpolación (203b) de los datos de vértice asignados a los
vértices de los polígonos de dicho camino de viaje, y el impacto de
dicho objeto en
dicho camino de viaje es especificado (203c al
f) de conformidad con estos datos de establecimiento de impacto
interpolados.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30622697 | 1997-11-07 | ||
| JP9-306226 | 1997-11-07 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2283076T3 true ES2283076T3 (es) | 2007-10-16 |
Family
ID=17954523
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES98951725T Expired - Lifetime ES2283076T3 (es) | 1997-11-07 | 1998-11-06 | Dispositivo generador de imagenes y metodo de generacion de imagenes. |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US6657630B1 (es) |
| EP (2) | EP1720132A3 (es) |
| JP (1) | JP4226663B2 (es) |
| KR (1) | KR100816622B1 (es) |
| CN (1) | CN1183493C (es) |
| DE (1) | DE69836805T2 (es) |
| ES (1) | ES2283076T3 (es) |
| WO (1) | WO1999024937A1 (es) |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3363137B2 (ja) * | 2000-11-29 | 2003-01-08 | コナミ株式会社 | 当たり判定方法、その装置、当たり判定処理プログラムを記録したコンピュータ読み取り可能な記録媒体及びビデオゲーム装置 |
| JP2002216151A (ja) * | 2001-01-12 | 2002-08-02 | Namco Ltd | 画像生成システム、プログラム及び情報記憶媒体 |
| JP4610748B2 (ja) * | 2001-01-16 | 2011-01-12 | 株式会社バンダイナムコゲームス | 画像生成システム、プログラム及び情報記憶媒体 |
| JP4846919B2 (ja) * | 2001-04-23 | 2011-12-28 | 本田技研工業株式会社 | 模擬運転装置 |
| KR100420859B1 (ko) * | 2001-08-11 | 2004-03-02 | 학교법인연세대학교 | 범프 매핑 처리 장치 및 방법 |
| JP4148868B2 (ja) * | 2003-10-08 | 2008-09-10 | 任天堂株式会社 | ゲームプログラムおよびゲーム装置 |
| US7077749B1 (en) * | 2003-11-20 | 2006-07-18 | Microsoft Corporation | Dynamic weather simulation |
| CN101941012B (zh) * | 2009-07-03 | 2012-04-25 | 泰怡凯电器(苏州)有限公司 | 清洁机器人及其脏物识别装置和该机器人的清洁方法 |
| US20170185057A1 (en) * | 2011-04-14 | 2017-06-29 | Suntracker Technologies Ltd. | System and method for the optimization of radiance modelling and controls in predictive daylight harvesting |
| US9690762B1 (en) * | 2013-01-14 | 2017-06-27 | Google Inc. | Manipulating image content items through determination and application of multiple transparency values to visually merge with other content as part of a web page |
| US9643735B2 (en) * | 2015-05-27 | 2017-05-09 | Honeywell International Inc. | Integration of braking action information with flight deck runway functions |
| AU2016305571B2 (en) * | 2015-08-13 | 2022-02-03 | Cgg Services Sas | System and method for gravity and/or gravity gradient terrain corrections |
| CN106056655B (zh) * | 2016-09-06 | 2019-09-10 | 珠海金山网络游戏科技有限公司 | 一种可编辑的虚拟摄像机系统和方法 |
| JP7020926B2 (ja) | 2018-01-09 | 2022-02-16 | 株式会社コーエーテクモゲームス | プログラム、画像処理方法、及び画像処理装置 |
| US11136025B2 (en) | 2019-08-21 | 2021-10-05 | Waymo Llc | Polyline contour representations for autonomous vehicles |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4148485A (en) * | 1977-09-19 | 1979-04-10 | Atari, Inc. | Driving games method for automatically controlled cars |
| US4645459A (en) * | 1982-07-30 | 1987-02-24 | Honeywell Inc. | Computer generated synthesized imagery |
| US4895376A (en) * | 1988-06-17 | 1990-01-23 | Tigers Electronics, Inc. | Interactive video game |
| JPH04242281A (ja) | 1991-01-16 | 1992-08-28 | Nissan Motor Co Ltd | ドライビングシミュレータ |
| JP2883523B2 (ja) * | 1992-08-26 | 1999-04-19 | 株式会社ナムコ | 画像合成装置及び画像合成方法 |
| JP3335445B2 (ja) | 1993-10-21 | 2002-10-15 | 株式会社ナムコ | 3次元シミュレータ装置 |
| JPH08276070A (ja) | 1995-04-06 | 1996-10-22 | Sega Enterp Ltd | ゲーム装置 |
| US5755620A (en) * | 1995-04-03 | 1998-05-26 | Kabushiki Kaisha Sega Enterprises | Game system and data processing method thereof |
| US6064393A (en) * | 1995-08-04 | 2000-05-16 | Microsoft Corporation | Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline |
| JP3138424B2 (ja) | 1996-03-26 | 2001-02-26 | 株式会社ナムコ | シミュレーション装置及び衝突判定方法 |
| JP3753338B2 (ja) | 1996-06-06 | 2006-03-08 | 株式会社ナムコ | 3次元シミュレータ装置及び画像合成方法 |
| JP3046578B2 (ja) * | 1998-06-11 | 2000-05-29 | 株式会社ナムコ | 画像生成装置及び情報記憶媒体 |
| US6339429B1 (en) * | 1999-06-04 | 2002-01-15 | Mzmz Technology Innovations Llc | Dynamic art form display apparatus |
-
1998
- 1998-11-06 US US09/341,189 patent/US6657630B1/en not_active Expired - Fee Related
- 1998-11-06 WO PCT/JP1998/005015 patent/WO1999024937A1/ja not_active Ceased
- 1998-11-06 EP EP06016923A patent/EP1720132A3/en not_active Withdrawn
- 1998-11-06 KR KR1019997006168A patent/KR100816622B1/ko not_active Expired - Fee Related
- 1998-11-06 DE DE69836805T patent/DE69836805T2/de not_active Expired - Lifetime
- 1998-11-06 CN CNB988017164A patent/CN1183493C/zh not_active Expired - Fee Related
- 1998-11-06 EP EP98951725A patent/EP0973132B1/en not_active Expired - Lifetime
- 1998-11-06 ES ES98951725T patent/ES2283076T3/es not_active Expired - Lifetime
- 1998-11-06 JP JP52595799A patent/JP4226663B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0973132B1 (en) | 2007-01-03 |
| CN1183493C (zh) | 2005-01-05 |
| DE69836805T2 (de) | 2007-11-29 |
| KR20000069955A (ko) | 2000-11-25 |
| EP0973132A4 (en) | 2003-01-02 |
| HK1024767A1 (en) | 2000-10-20 |
| DE69836805D1 (de) | 2007-02-15 |
| US6657630B1 (en) | 2003-12-02 |
| EP0973132A1 (en) | 2000-01-19 |
| EP1720132A2 (en) | 2006-11-08 |
| CN1251674A (zh) | 2000-04-26 |
| EP1720132A3 (en) | 2010-05-26 |
| JP4226663B2 (ja) | 2009-02-18 |
| KR100816622B1 (ko) | 2008-03-24 |
| WO1999024937A1 (fr) | 1999-05-20 |
| WO1999024937A9 (en) | 1999-11-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2283076T3 (es) | Dispositivo generador de imagenes y metodo de generacion de imagenes. | |
| US6667741B1 (en) | Image generating device and image generating method | |
| JP3227158B2 (ja) | 3次元ゲーム装置 | |
| CN100501768C (zh) | 图像处理装置、方法及设备 | |
| JPWO1995035139A1 (ja) | 3次元シミュレータ装置及び画像合成方法 | |
| EP1008959A1 (en) | Image processing system and image processing method | |
| EP2158948A2 (en) | Image generation system, image generation method, and information storage medium | |
| WO1995035139A1 (en) | Three-dimensional simulator and image generating method | |
| JPWO1999024937A1 (ja) | 画像生成装置および画像生成方法 | |
| JPH0863616A (ja) | 3次元シミュレータ装置及び画像合成方法 | |
| EP0845130B1 (en) | Atmospheric effects simulation | |
| US7881521B2 (en) | Rotational image generation method, program, and information storage medium and virtual camera | |
| Wolf | Z-axis Development in the Video Game | |
| JP3335445B2 (ja) | 3次元シミュレータ装置 | |
| HK1024767B (en) | Image generating device and image generating method | |
| HK1096481A (en) | Image generating device and image generating method | |
| JP3254091B2 (ja) | 3次元シミュレータ装置及び画像合成方法 | |
| JPH09259303A (ja) | シミュレーション装置及び衝突判定方法 | |
| JP3350661B2 (ja) | 3次元シミュレータ装置及び画像合成方法 | |
| JP3452512B2 (ja) | ゲーム装置及びゲーム用の画像生成方法 | |
| JP2000105533A (ja) | 3次元シミュレ―タ装置及び画像合成方法 | |
| JP3956318B2 (ja) | 画像処理装置、画像処理方法及びこれを用いたゲーム装置並びに記憶媒体 | |
| JPH11134515A (ja) | ゲーム装置及びゲーム画面合成方法 | |
| JP3937180B2 (ja) | 画像処理装置、画像処理方法及びこれを用いたゲーム装置並びに記憶媒体 | |
| GB2324013A (en) | Three-dimensional simulator and image synthesising method |