ES2283076T3 - Dispositivo generador de imagenes y metodo de generacion de imagenes. - Google Patents

Dispositivo generador de imagenes y metodo de generacion de imagenes. Download PDF

Info

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
Application number
ES98951725T
Other languages
English (en)
Inventor
Masahito Kurosawa
Hajime Sugiyama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sega Corp filed Critical Sega Corp
Application granted granted Critical
Publication of ES2283076T3 publication Critical patent/ES2283076T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/20Three-dimensional [3D] animation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods 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/643Methods 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/663Methods 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/80Features 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/8017Driving on land or water; Flying
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision 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.
Antecedentes de la invención 1. Campo de la invención
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.
2. Descripción de la técnica relacionada
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.
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.
Resumen de la invención
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.
Breve descripción de los dibujos
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.
Descripción de las realizaciones preferidas
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.
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.
Acción Procesamiento de la rutina principal
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.
Procesamiento del cálculo de impacto
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
100
Y la conversión del sistema de coordenadas xz al sistema de coordenadas uv puede ser lograda usando
101
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.
Procesamiento para generar nubes de polvo
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:
102
103
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,
104
105
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:
106
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.)
Aplicabilidad industrial
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.
ES98951725T 1997-11-07 1998-11-06 Dispositivo generador de imagenes y metodo de generacion de imagenes. Expired - Lifetime ES2283076T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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