CN1183493C - 图象生成装置和图象生成方法 - Google Patents
图象生成装置和图象生成方法 Download PDFInfo
- Publication number
- CN1183493C CN1183493C CNB988017164A CN98801716A CN1183493C CN 1183493 C CN1183493 C CN 1183493C CN B988017164 A CNB988017164 A CN B988017164A CN 98801716 A CN98801716 A CN 98801716A CN 1183493 C CN1183493 C CN 1183493C
- Authority
- CN
- China
- Prior art keywords
- acting force
- data
- travel path
- polygon
- image
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title description 36
- 238000012545 processing Methods 0.000 claims description 96
- 239000013598 vector Substances 0.000 claims description 57
- 230000001915 proofreading effect Effects 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims 2
- 238000007373 indentation Methods 0.000 abstract description 2
- 239000000428 dust Substances 0.000 description 81
- 238000010586 diagram Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 22
- 230000006399 behavior Effects 0.000 description 19
- 239000011159 matrix material Substances 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 230000009466 transformation Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000007796 conventional method Methods 0.000 description 6
- 238000005096 rolling process Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000035807 sensation Effects 0.000 description 4
- 239000000779 smoke Substances 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000003321 amplification Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 239000003500 flue dust Substances 0.000 description 3
- 230000035772 mutation Effects 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 206010021403 Illusion Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007598 dipping method Methods 0.000 description 1
- 235000012489 doughnuts Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000009931 harmful effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000003595 mist Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- A63F13/10—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- 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/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
-
- 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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 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; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
Abstract
本发明包括用于建立在虚拟空间中由多边形所表示的车辆与道路表面之间的作用力状态的作用力建立装置,以及用于生成表示了其中所述车辆沿道路表面运动而同时保持上述作用力状态的状态的图象数据的生成装置。该作用力建立装置包括用于通过对道路表面多边形的各顶点进行插值而确定车辆在作用力位置上的作用力建立数据的插值装置,用于根据道路表面的凹坑来对插值所得的作用力建立数据进行校正的校正装置,以及用于根据校正所得的作用力建立数据来表示出车辆在道路表面上的作用力的作用力表示装置。
Description
技术领域
本发明一般涉及图象生成装置和图象生成方法,具体涉及一种利用其可以在游戏装置中更精确及更逼真地表现出在虚拟三维空间中运动的运动物体与周围环境-如行进路径或诸如此类之间的关系的图象生成装置和图象生成方法。
背景技术
随着近年来计算机图形学的不断发展,无论是在工业级应用还是在家庭级应用方面,模拟装置和游戏装置得均到了广泛地应用。有一类风格的游戏机所刻画的是一种十分流行的其中游戏者驾驶构成了虚拟游戏空间中的某个物体的汽车进行比赛的赛车游戏。通常,此类游戏装置均包括一个含有用于执行事先所设定的游戏程序的内置计算机装置的主单元,用于向该装置主单元提供指明游戏中所表示的物体的运动状态的操作信号的操作部,用于显示根据由主单元所执行的游戏程序随着游戏情节发展而不断变化的图象的监视器,以及用于随着游戏情节发展而产生声音的声音装置。
由于赛车游戏的游戏形式通常均是其中游戏者的汽车与对手汽车进行比赛,所以如果想要将其制作得更加逼真,显然需要更逼真地来模拟汽车的运动,而其中一个重要因素是诸如汽车与构成了背景一部分的车道或地形(环境)之间的关系,以及车辆与周围环境之间的关系等图象处理描绘要素的精确性和真实性。
然而,在常规的用于运行赛车游戏的游戏机中,在寻求以图象格式来表示与汽车在其路径上行驶时发生在车辆和周围环境之间的相互影响有关的因素的过程中,出现了如下未被解决的问题。
(1)为了将车辆的行进状态表示为一幅图象,其需要以均匀的时间间隔来确定地形和车辆轮胎(车轮)之间的作用力。近几年,通常均是用合适数目的多边形数据来描绘地形,其中地形被分割得十分精细。这些多边形数据的每个元素均含有其多个顶点的位置坐标,以及表示与该多边形的整个表面有关的单一法向矢量的数据。由于常规的作用力判断处理均是针对多边形的实际表面(多边形表面坐标)来进行的,所以当两个毗邻的多边形相差相对较大的角度时,在车辆经过其之间的结点时,作用力判断的方向可能会发生突变,从而使汽车表现出不自然的行为。例如,即使汽车正在沿一段外观相对较平滑的车道行使时,由于多边形表面之间存在较大的角度差,所以汽车的行驶方向可能会从平进方向而突变为俯仰方向,或偏航方向,从而使游戏者产生异样的感觉。当然,如果将与车道表面或表示周围环境的地形相关的单个多边形表面制成与轮胎大小相比极小的尺寸,则可以提高地形作为整体的平滑度并因此使得不易于出现上述作用力判断方向上的突变。然而,将多边形表面以此方式设置为很小的尺寸将会使与地形有关的数据量增加很多,因此存储器所需的存储容量将变得很大,从而使计算机装置的CPU上的计算负担将显著增大。即使假设可以安装样一种大存储容量的存储器,其仍会使该装置作为整体的处理速度有很大下降。处理速度方面的任何下降对现有游戏装置均极端不利,并将会对可销售性产生不良影响。因此,多边形表面所能设置的尺寸有其固有的限制。
另外,除了两个多边形表面之间行为上的变化之外,描绘了每个多边形表面中的精细凹坑(indentation)的车辆行为对于提高游戏的真实性也极端重要。通常,在要描绘此效果时,事先存储了用于每个多边形(纹理)的凹坑的高度信息,并需要针对这些凹坑高度信息来判断作用力的大小,其所生成的海量数据及其计算负担在实践中被证明是不可行的。
另外,其中车辆行为对周围环境产生影响的多种因素之一便是随着汽车运动而从车道表面和地形所生成的尘云。这些尘云在逼真描绘车道表面状态和汽车行驶状态,即车辆的速度和加速度的过程中是一个极重要的因素。
尽管如此,通常,与尘云有关的图象处理均很难实现,在许多情况中,往往由于此类描绘的品质较差而并未对尘云进行描绘。而在尝试表现尘云的情况中,也只是简单地将一个或多个代表了烟雾(烟云)的外表面的多边形,以三维方式叠加在背景上,或诸如此类。因此,其所描绘出来的均是从汽车后部冲出的轮廓截然分明的物体用以表示尘云。
然而实际中,一眼看上去尘云并不很明显,所以上面那样表示将给人以一种不真实的感觉。因此,为了造成一种确实是由微粒产生尘云的印象,在许多情况中,均是通过将烟云减小为用一个多边形来表示的图象处理而产生尘土微粒印象的,但即使在这些情况中,所得到的尘云也很缺乏真实性。另外在某些情况中,例如当对手汽车加速并超过游戏者的汽车时,摄像机视点的位置有可能会进入到尘云气体中。此时,尽管摄像机视点处于尘云内部,通常其也只能产生并不符合实际状态的图象,即其中只能看到尘云的外表面,就好象摄像机处于一条其中只描绘出隧道侧壁的隧道中一样。
运动车辆与周围环境发生相互影响的另一个因素与车辆上所照明的前灯和尾灯有关,另外其还与在游戏空间中由车辆的部分车体所反射的虚构阳光的光线有关。
在常规的游戏装置中,当表示那些具有较高亮度的物体时,采用的方法是,或者是将这些物体自身的颜色显示成很亮,或者是利用通过安装的硬件单元所产生的雾化效果来描绘其,或者是通过放置于发光点的并一直延伸到游戏者的汽车处的一个从发光物体边缘向其中心由透明变为模糊的单独层来描绘其。
然而,这些方法均只描绘了来自物体的光亮,而没有一种方法能够表现来自运动物体的发散光的方向,而这恰恰是其基本特征,因而将会缺乏从运动车辆动态地发出光线的感觉。例如,参看上述第三种方法中的前灯,其将会产生一种不自然的效果,使得即使从后部看所述车辆也能看到发散光。
发明内容
本发明的目的是为了克服上述与游戏装置有关的未被解决的问题,其共同目的是提供一种图象生成装置和图象生成方法,可以在不显著增加所涉及的计算负担或数据量的条件下更逼真地表现与作为一运动物体的车辆和其周围环境之间的相互影响有关的因素,并由此增加基于运动车辆主题的游戏的真实感,也因此增大游戏者对其的兴趣。
具体地说,本发明的第一目的是,通过实施其中通过防止在车辆穿过两个多边形之间的结点时所进行的作用力判断处理中很少出现由于判断方向发生突变而造成异样效果的更为自然的作用力判断处理,并通过实施其中将车道表面中的凹坑考虑在内的作用力判断处理,而在不显著增加其中所涉及的计算负担和数据量的条件下提供一种与现有技术相比在表现车辆行为的过程中真实性和确实性有显著提高的图象生成装置和图象生成方法。
本发明的第二目的是在不显著增加其中所涉及的计算负担或数据量的条件下提供一种其中通过表现出尘云由微粒构成的感觉,并且对尘云的表示使得即使在摄像机视点实际位于尘云内部时从摄像机视点处来看尘云也不会产生异样效果,从而消除掉由常规的平滑或不真实外观尘云所引起的异样效果的图象生成装置和图象生成方法。
本发明的第三个目的是提供一种图象生成装置和图象生成方法,通过其能够在不显著增加其中所涉及的计算负担或数据量的条件下以动态方式产生如前灯、尾灯所发出的具有一定方向的发散光或从运动车辆上发出的反射光的图象,并因此能够以更逼真的方式来表现发射光线。
为了实现上述目的,与本发明的第一方面有关的图象生成装置包括:用于建立虚拟三维空间中由多边形所表示的物体和行进路径之间的作用力状态的作用力建立装置;以及用于产生表现物体在保持上述作用力状态的同时沿行进路径运动的状态的图象数据的图象数据生成装置;其中作用力建立装置包括:用于通过对指派给行进路径的多边形各顶点的顶点数据进行插值来确定物体的作用力位置上的作用力建立数据的插值装置;用于根据由插值装置插值所得到的作用力建立数据来表示物体在行进路径上的作用力的作用力表示装置。
比如,顶点数据包括每个顶点的高度和法向矢量,而作用力建立数据则包括作用力位置的高度和法向矢量。另外,例如插值装置包括:用于分别指定多边形的从作用力位置开始平行于坐标轴延伸并垂直相交的两条边线的装置;用于根据这些边线的每个末端的顶点数据而设置第一和第二脊线的装置;用于确定这些脊线与两条边线的各自相交点数据的装置;用于指定第三脊线的装置,该第三脊线是以和上述两边线相交的点作为两个端点的线段;以及用于从第三脊线的各交点数据来确定该作用力判断位置上的作用力建立数据的装置。优选地,第一到第三脊线由三次方程给定。
另外,与本发明的第二方面有关的图象生成装置包括:用于建立虚拟三维空间中由多边形所表示的物体和行进路径之间的作用力状态的作用力建立装置;以及用于产生表现物体在保持上述作用力状态的同时沿行进路径运动的状态的图象数据的图象数据生成装置;其中作用力建立装置包括:用于根据由多边形所代表的行进路径的属性来校正在该物体的作用力位置上的作用力建立数据的校正装置;以及用于根据由校正装置进行校正所得的作用力建立数据来表示物体在行进路径上的作用力的作用力表示装置;
例如,作用力建立数据为作用力位置的高度和法向矢量。另外,例如行进路径的属性为行进路径中的凹坑,而作为粘贴到多边形上的纹理所提供的光线和阴影数据则被用作这些凹坑的信息。
与本发明的第三方面有关的图象生成装置包括:用于建立虚拟三维空间中由多边形所表示的物体和行进路径之间的作用力状态的作用力建立装置;以及用于产生表现物体在保持上述作用力状态的同时沿行进路径运动的状态的图象数据的图象数据生成装置;其中作用力建立装置包括:用于通过对指派给行进路径的多边形各顶点的顶点数据进行插值来确定物体的作用力位置上的作用力建立数据的插值装置;用于根据由多边形所代表的行进路径的属性来校正由插值装置插值所得的作用力建立数据的校正装置;以及用于根据由校正装置进校正所得的作用力建立数据来表示行进路径上物体的作用力的作用力表示装置。例如,作用力建立数据为作用力位置的高度和法向矢量。
与本发明的第四方面有关的图象生成装置包括:用于根据该物体的运动状态对从虚拟三维空间中的运动物体上的光源所发射出的发散光的图象数据进行控制的发散光控制装置;以及用于产生代表了该物体的运动状态并包括用于发散光的此受控图象数据在内的图象数据的生成装置。
优选地,该发散光控制装置包括:用于确定代表了光源方向的光源矢量和代表了摄像机视点在虚拟三维空间中的方向的视线矢量的装置;用于将一个单独的多边形表示为发散光的图象数据的装置;以及用于根据与两个矢量之间的角度有关的信息来改变该多边形的大小的变形装置。另外,优选地该变形装置是通过乘以一个当两个矢量的方向彼此重合时趋向于无穷的系数来改变该多边形的大小的。
与本发明的第五方面有关的图象生成装置包括:用于根据该物体的运动状态对由在虚拟三维空间中的运动物体所产生的尘云的图象数据进行控制的尘云控制装置;以及用于产生代表了该物体的运动状态并包括此受控尘云图象数据在内的图象数据的生成装置。
在本情况的一个优选示例中,尘云控制装置包括:用于将尘云图象数据表示为多个多边形的装置;用于确定由包括物体行为在内的多种因素所施加的物理影响的大小程度的装置;用于根据这些影响的程度来计算多个多边形的各自行为的装置;以及用于根据计算所得的结果将该多个多边形连在一起并重构出一多边形组的装置。另外,例如尘云控制装置可以包括用于对所重构出的多边形组进行处理以表现出与尘云外观有关的在透明度方面的变化以及雾态的形状的装置。
在上述任何一种构造中,物体可以是赛车游戏中一辆在虚拟三维空间中运动的汽车。
与本发明的第六方面有关的图象生成方法是一种用于在建立了物体与行进路径之间的作用力状态的同时产生代表了在虚拟三维空间中由多个多边形所表示的的物体沿行进路径运动的状态的图象数据的图象生成方法,其中该物体作用力位置上的作用力建立数据由通过对指派给行进路径的多个多边形各顶点的顶点数据进行插值来确定的,而物体在行进路径上的作用力则是根据此插值所得的作用力建立数据来表示的。
另外,与本发明的第七方面有关的图象生成方法是一种用于在建立了物体与行进路径之间的作用力状态的同时产生代表了在虚拟三维空间中由多个多边形所表示的的物体沿行进路径运动的状态的图象数据的图象生成方法,其中根据由多个多边形所表示的行进路径的属性来对该物体作用力位置上的作用力建立数据进行校正,并根据校正所得的此作用力建立数据来表示物体在行进路径上的作用力。
在与本发明的第八方面有关的图象生成方法中,将使从虚拟三维空间中某一运动物体上的光源中发出的发散光的大小和亮度随着发散光的方向接近空间中的摄像机视点的方向而不断增大。
另外,在与本发明的第九方面有关的图象生成方法中,将根据物体的行为来改变虚拟三维空间中某一运动物体所产生的尘云的形状,并使得其透明感沿朝向其外边缘的方向不断增大。
附图说明
图1所示为根据本发明的一个实施例的游戏装置的构造示意图;
图2所示为原理上由CPU所实施的主要程序的示意图;
图3所示为用于显示作用力判断处理概要的辅助程序的示意图;
图4所示为用于显示构成了车道表面的多个多边形的排列形式的示意图;
图5所示为作用力判断处理中在多边形内所进行的插值处理程序的示意图;
图6所示为作用力判断处理中在多边形内所进行的插值处理程序的示意图;
图7所示为作用力判断处理中在多边形内所进行的插值处理程序的示意图;
图8所示为作用力判断处理中的凸起(bump)校正处理程序的示意图;
图9所示为作用力判断处理中的凸起校正处理程序的示意图;
图10所示为作用力判断处理中的凸起校正处理程序的示意图;
图11所示为作用力判断处理中的凸起校正处理程序的示意图;
图12所示为用于产生尘云的处理的简明程序的示意图;
图13所示为用于产生尘云的处理的示意图;
图14所示为用于产生尘云的处理的示意图;
图15所示为用于产生尘云的处理的示意图;
图16所示为用于产生尘云的处理的示意图;
图17所示为用于表示发散光的处理的简明程序的示意图;
图18所示为用于表示发散光的处理的示意图;
图19所示为示用于表示发散光的处理的示意图;
图20所示为用于表示发散光的处理的示意图;
图21所示为用于表示发散光的处理的示意图。
接下来将参照附图对本发明的一个实施例进行说明。
优选实施方式
图1所示的游戏装置是根据本发明的图象生成装置和图象生成方法的一种实施模式。此装置包括,作为基本元件的,游戏处理板10,输入装置11,输出装置12,视频监视器13和扬声器14。输入装置11包括方向盘,加速器,刹车,离合器,视点切换开关及诸如此类。输出装置12包括方向盘回转机构,以及多种显示灯,等等。视频监视器13用于显示赛车游戏的图象,也可以用投影仪来代替视频监视器。视点切换开关是用于改变虚构摄像机视点的位置的开关。通过对此开关进行操作,游戏者可以选择,例如从驾驶员座位进行观察的前视点,从汽车斜后方进行观察的视点,或诸如此类的视点。
游戏处理板10包括计数器100,CPU(中央处理单元)101,用作用于记录操作程序和游戏装置所用数据的存储介质的ROM 102,RAM 103,声音装置104,输入/输出接口106,滚动数据计算装置107,协处理器(辅助处理单元)108,地形数据ROM 109,几何图形生成器110,形状数据ROM 111,绘图装置112,纹理数据ROM 113,纹理映象RAM 114,帧缓冲器115,图象合成装置116,和D/A转换器117。
CPU 101通过总线与从某初始值开始倒计数的计数器100,存储有预定程序和图象处理程序等程序的ROM 102,存储有计算数据的RAM 103,声音装置104,输入/输出接口106,滚动数据计算装置107,协处理器108和几何图形生成器110相连。RAM 103起到了缓冲器的作用,被用来向几何图形生成器写入多种命令(用于显示物体,等等),并用来写入进行包括计算变换矩阵在内的多种计算时所需的数据。
输入/输出接口106与输入装置11和输出装置12相连,来自输入装置11的多种操作信号和检测信号作为数字量被输入到CPU 101中。可以将由CPU 101或诸如此类器件所产生的信号加载到输出装置12上。声音装置104通过功放105与扬声器14相连。由此可以在将由声音装置104所产生的声音信号进行功率放大之后以声音的形式来从扬声器14进行输出。
根据ROM 102中所存储的程序,CPU 101从输入装置11中读出操作信号,从地形数据ROM 109中读出地形数据或从形状数据ROM111读出形状数据(诸如游戏者的汽车、对手汽车等多种“物体”以及诸如车道表面,地形,天空,观众,建筑物体等“背景”的三维数据),此后便进行用于判断地形与汽车之间的作用力,判断汽车之间作用力的计算,并计算出四轮悬挂系统的行为,并进行用于计算汽车行为的行为模拟,以及执行包括用于产生尘云和用于产生及控制发散光的处理在内的特效处理。
利用由游戏者通过输入装置11所输入的操作信号,通过汽车行为计算可以模拟出汽车在虚拟三维空间(游戏空间)中的运动。为了执行此步骤,在确定了用于在虚拟三维空间中构成汽车的多边形的坐标值之后,随后便将这些坐标值与形状数据(多边形数据)和用于将该坐标系转换为二维视点坐标系的变换矩阵一起提供给几何图形生成器110。协处理器108与地形数据ROM 109相连,先前所确定的地形数据便被传送给协处理器108和CPU 101。协处理器108在判断地形与汽车之间的作用力,以及计算汽车行为的过程中主要进行浮点运算。因此,可以减小CPU上的计算负担。几何图形生成器110与形状数据ROM 111和绘图装置112相连。如上所述,事先在形状数据ROM 111中存储有由多个多边形所组成的形状数据(用于汽车,地形,背景等的三维数据,包括三个或更多顶点)。此形状数据被传送到几何图形生成器110,其利用由CPU101所指定的变换矩阵对所指示的形状数据进行投影变换,由此产生已从三维虚拟空间中的坐标系变换为视点坐标系中的形状数据。
绘图装置112将纹理粘贴到转换到视点坐标系中所得的此形状数据上,并将此数据输出至帧缓冲器115。为了将纹理粘贴到数据上,绘图装置112与纹理数据ROM 113和纹理映象RAM 114相连,并与帧缓冲器115相连。
多边形数据指的是用于含有三个或更多顶点的多边形(主要是三边或四边形)的每一个顶点的相对或绝对坐标的坐标数据组。上述地形数据ROM 109中存储有以足够进行预定判断处理(作用力判断及诸如此类的处理)的相对较粗糙的条件所设置的多边形数据。另一方面,形状数据ROM 111存储有以更精确条件设置的与构成汽车、背景和诸如此类图象的形状有关的多边形数据。
滚动数据计算装置107计算用于诸如文本或诸如此类(存储在ROM 102中)的滚动图象的数据。此计算装置107和帧缓冲器115通过图象合成装置116和D/A转换器117与视频监视器相连。由此,根据所设定的优先级将暂时存储在帧缓冲器115中的汽车、地形(背景)及诸如此类的多边形图形(模拟结果),和诸如速度、单圈时间等文本信息的滚动图象合成在一起,并以均匀定时产生用于每帧的最终图象数据。D/A转换器117将此图象数据转换为模拟信号,并随后将其提供给视频监视器13,在此将其实时地显示在游戏屏上。
(动作)
(主例程处理)
接下来,将对根据本实施例的游戏装置中的车赛有关的图象生成处理进行说明。图2所示为图象生成处理的主例程。例如,由CPU101与显示中断保持同步地为每个场(60分之一秒)重复执行此主例程。在图象屏幕中,至少由多个多边形(例如,三角形)形成有一辆汽车以及构成了让该汽车行驶于其上的路径的车道表面。具体地说,对于代表了车道表面的每个多边形的每个顶点,提供有与距离虚拟空间中的参考位置的高度有关的信息(换句话说,顶点位置信息),以及在该顶点位置上的法向矢量,此信息被事先存储在存储器中。
首先,CPU 101读入所检测到的由游戏者通过输入装置11输入的操作信息以及在前一中断中计算所得的计算信息(步骤201)。在此,操作信息包括,例如,由游戏者所操作的方向盘和加速器的角度。另外,计算信息包括由CPU 101计算所得的游戏者的汽车和对手汽车的位置,车辆行为信息,以及与尘云、发散光和诸如此类的有关特效处理。游戏者的汽车由CPU 101根据操作信息来控制,而对手汽车则由CPU 101根据预定程序来独立地进行控制。
此后,根据上述操作信息和前一中断中的计算信息(游戏者的汽车和对手汽车的行进位置和方向等)计算出前一中断中每部车的作用力判断位置(汽车轮胎的地面作用力位置)(步骤202)。
CPU 101随后对每部车的每个作用力判断位置进行作用力判断处理(步骤203)。其后,作为与车辆行为有关的特效处理,将顺序地执行用于产生尘云的处理和用于绘制发散光的处理(步骤204,205)。稍后将对步骤203到205中所涉及的处理进行说明。
CPU 101随后在同时考虑操作信息和作用力判断结果的情况下计算出车辆的行为(步骤206),生成并指明投影变换矩阵(步骤207),并确定绘图处理所需的多边形数据,及诸如此类的数据(步骤208)。通过此种方式,在每个中断均要对图象数据进行更新,而随着赛车游戏情节的不断发展,将在视频监视器13上显示出与之对应的图象和其它文本信息。以此方式,游戏者能够在观看显示屏的同时通过提供经由输入装置11所输入的所需操作输入来操控游戏。
(作用力判断处理)
接下来将参照图3到图10对在步骤203中所执行的作用力判断处理,以及所述处理的原理进行详细地说明。
图3所示为在步骤203中所实施的处理的辅助例程的示意图。利用此例程,从构成了如图4所示的车道表面的多个多边形PG中可以在虚拟三维空间中的平面xz上发现其中含有针对每部车辆计算所得的作用力判断点并将受到作用力判断处理的多边形(步骤203a)。
其后,通过插值计算可以重新计算出作用力判断点的高度和主题多边形的法向矢量(步骤203b)。接下来将对其计算方法进行说明。
如图5所示,取多边形ABC作为主题多边形,取P(Px,Pz)作为位于此多边形中的作用力判断点。如果将判断点P取成与x轴平行,则其将会碰到多边形ABC的边线AB或边线BC。相应交点被分别标注为PAB和PBC。我们现在考虑的是例如由边线AB和y轴所构成的二维系统。如图5和6所示,可以假设有一条连接点A处高度为YA的线段顶点和点B处的高度为YB的线段顶点的曲线。此曲线被称作脊线。
通过引入一个在点A处等于0而在点B处等于1的位置参数t,可以假设出表示上述脊线的公式fAB(t):
fAB(t)=Y=at3+bt2+ct+d
(1)
(见图6)。由边界条件,其能够确定:
f(0)=d=YA=点A处的高度
f(1)=a+b+c+d=YB=点B处的高度
f’(0)=c=nA=点A处的法线梯度
f’(1)=3a+2b+c=nB=点B处的法线梯度
由此,可以计算出各系数:
a=2YA-2YB+nA+nB
b=-3YA+3YB-2nA-nB
c=nA
d=YA
因此,由于事先提供了点A,B处的高度YA,YB以及法线梯度nA,nB,所以可以计算出系数a,b,c,d。因此,可以实时地计算出所需的表示了与点A,B有关的脊线的系数a,b,c,d,或者也可以事先计算出这些系数并将其以系数表数据的形式存储在存储器中,并在需要的时候再将其读出。从处理速度的角度来看,后一种方法有其优势。
通过将计算出的或读出的系数值a,b,c,d代入到公式(1)中的函数fAB中,便可以求出交点PAB处的函数值fAB(PAB)。因此,点PAB的坐标则为(Px’,fAB(P’),Pz)。其中,Px’为P与AB之间当P沿X轴移动时的交点的坐标位置。此时该函数值为P’。
另外,利用如下公式,通过对点A和B处的法向矢量NA和NB进行线性插值计算出交点PAB处的法向矢量Np’,
矢量Np’=[(1-tP)NA+tPNB]/|(NA+NB)| (2)
根据由另一边线BC所形成的脊线,以类似于上述方法的方式计算出交点PBC的坐标和另一边线BC上的法向矢量。
另外,对于上述两个交点PAB和PBC之间的线段PABPBC,可以假设有一条如图7所示由三次方程给定的脊线,而以类似于上述方法的方式,根据此脊线则可以计算出判断点P处的y坐标(高度)和法向矢量(大小,方向)。以此方式,可以从多边形顶点的高度信息和法向矢量信息中简单地推导出与判断点P处的y坐标(高度)和法向矢量有关的信息。
另外,除了将此计算过程中所用的主题多边形的边线仅限于边线AB和边线BC之外,其也可以通过将作用力判断点P取成与z轴平行来用边线AC和边线AB进行计算。简言之,可以用任何两条边线来进行计算。
此后,在图3中,CPU 101执行用于根据车道表面上的凸起(凹坑)来对作用力判断点P处的高度和法向矢量进行精细校正的处理(步骤203c,203d,203e)。通过将用于生成凸起的纹理的光线和阴影看作是代表了车道表面上的凹坑的高度信息来执行此校正处理,而此处理被称作凸起处理。此处理的特征是应用于多边形上的纹理的多种属性被用于凸起校正(换句话说,最后用于作用力判断),而除了上述纹理的光线和阴影以外,其还可以通过将作为纹理提供的诸如玻璃,石头等物件作为凸起信息来执行凸起校正。
在步骤203c中,其可以利用一个标志或诸如此类的方法来确定在当前所正在处理的多边形内是否已施加了凸起纹理。如果没有施加凸起纹理(NO),则将跳过步骤203d。而如果施加了凸起纹理(YES),则在步骤203d,将根据该凸起纹理计算出作用力判断位置上的高度和法向矢量。接下来将对此计算过程进行详细地说明。
通常,如图8所示,在纹理的uv坐标系和多边形的xz坐标系中,利用如下矩阵M,M^来表示三点图象。换句话说,从uv坐标系到xz坐标系的变换矩阵为:
而从xz坐标系到uv坐标系的变换矩阵为:
如果如图9所示选中了对应于uv坐标系中的作用力判断位置的点(u0,v0)周围的四个象素,则这四个象素的高度数据分别为T00,T10,T11和T01。
通过对与平行于v轴的一边线上的两个象素相对应的高度数据T00-T10以及与另一条这样的边线上的两个象素相对应的高度数据T01-T11进行线性插值,可以分别计算出位置v0处的高度Tu0,Tu1。
类似地,通过对与平行于u轴的一边线上的两个象素相对应的高度数据T00-T01以及与另一条这样的边线上的两个象素相对应的高度数据T10-T11进行线性插值,可以分别计算出位置u0处的高度T0v,T1v。
此后,从进行插值计算所得的此高度数据中,可以推导出平行于u轴所画的一条线段的高度数据Tu0-Tu1的梯度并将其取为点(u0,v0)处沿u轴方向的导数值(等于梯度)。另外,也可以推导出平行于v轴所画的一条线段的高度数据T0v-T1v的梯度并将其取为点(u0,v0)处沿v轴方向的导数值。
将这两个梯度转换为沿u轴和v轴方向的切向矢量du,dv,并利用如上所述的矩阵M将这两个矢量从纹理uv坐标系变换到多边形xz坐标系中。
另外,与转换所得到的两个切向矢量du,dv均垂直相交的直线则成为作用力判断点P(Px,Py)处的凸起校正法向矢量(见图10)。通过对四个象素的高度数据进行双线性插值可以推导出作用力判断点P(Px,Py)的凸起校正高度。
此后,CPU 101运行到图3所示的步骤203e,在此根据步骤203b中所计算出的多边形的插值数据(高度,法向矢量)以及步骤203d中所计算出的凸起插值数据(高度,法向矢量)合成出作用力判断位置的最终高度和法向矢量。对于高度,则是将这两个值相加或相减。
另一方面,对法向矢量进行如下变换。将根据多边形的插值所得到的法向矢量取作矢量n,而将通过凸起插值所得到的法向矢量取作矢量m。由于假定矢量m的方向为矢量n指向(0,1,0)时的法线方向,所以可以根据此关系推导出将(0,1,0)变换为矢量n(见图11)的变换矩阵。随后便利用此变换矩阵来对矢量m进行变换。变换所得的矢量m便构成了最终合成所得的法向矢量。
以此方式,通过凸起校正可以对在多边形内进行插值所得的高度和法向矢量数据进行更精细地校正。作为此处理的结果所得到的作用力判断位置的最终高度数据和法向矢量数据将被用于确定车辆轮胎与主题多边形之间作用力(图3;步骤203f)。
通过重复地以均匀的短时间间隔来执行如上所述的一系列作用力判断处理步骤,可以对游戏者的汽车和对手汽车的每个轮胎进行连续的作用力判断。
根据本实施例,首先,对多边形数据进行插值得到作用力判断位置上的高度和法向矢量。因此,由于与常规方法相比作为作用力判断方向所提供的法向矢量的方向可以更加平滑地改变,所以即使当作用力判断位置从一个多边形转换到另一个多边形而两个多边形表面之间又存在角度差时,作用力判断的方向也可以平滑地改变,由此与常规方法相比作用力判断的精度得到了提高,所以其能够抑制异样效果的产生。
因此在本实施例中,采用两级校正方法,通过其将利用构成了纹理属性的光线和阴影数据对如上所述根据多边形进行插值所得的高度和法向矢量进行进一步的凸起校正。因此,当平滑地实现了车道表面的高度上的大范围变化后,将利用精确反应了车道表面中的精细凹坑的高度和法向矢量数据来执行作用力判断,并由此可以得到很高的作用力判断精度,并且能够更精确地以表现出车道表面属性的方式来模拟出车辆的行为。
本发明的另一个优点是其并不总是需要如上所述同时使用根据多边形数据的插值处理以及根据纹理的插值处理,即使在只独立地执行这些处理中的一种的情况下,其作用力判断处理的精度与常规的作用力判断相比也高了许多。
(用于产生尘云的处理)
接下来将根据图2所示的步骤204对用于产生尘云的处理进行说明。在如上所述完成了作用力判断处理之后,为了在显示屏上产生更逼真的视觉感受,CPU 101将执行作为赛车游戏的特效处理之一的尘云生成处理。下面将参照图12到16对此处理进行说明。本处理的大致概要如图12所示。
首先,在存储器中事先存储了作为用于表示尘云的多边形数据的网格形状的一组多边形。图13所示为这样一组多边形的一个简例,其形成了其中垂直方向R代表了烟尘的分辨率维向,而水平方向T则代表了时间轴维向的二维映射。为了给出一个具体的例子,垂直方向上的多边形的数目Rmax=5,而水平方向上的多边形的数目Tmax=20。可以根据显示器的精度和计算负担来合适地确定多边形的上述数目。
在尘云计算的过程中分别为每个多边形的顶点指定了其当前空间位置,速度和其它参数。这些参数的数目以及代表了垂直方向上的分辨率和水平方向上的时间的多边形的数目越大,则尘云的模拟将变得更准确。由于实施了通过其尘云中的该组多边形响应于多种因素而在显示过程中改变形状的处理,用于将网格中每个多边形的顶点相互连在一起的连接信息被用作图象数据。这样作将使得尘云可以作为一个整体来改变形状。
现在假设其中尘云是由车辆前轮向上扬起的。首先,前轮接地面的位置和从轮胎相对于车道表面的自转速率中推导出的初始速度和一个随机数被指派给属于分辨率R方向上位于时间轴位置T=0处一列的多边形集合中的每一个多边形(图12,步骤2031)。此后,时间轴上的位置平移到T=1,并为位于分辨率R方向上在T=1处的一列中的每个多边形设置位置和速度。具体地说,通过将在当前帧显示中所要获得的各种尘云参数加到为前一帧显示所处理的在T=0位置上的每个多边形的位置和速度上便可以确定位置T=1上的每个多边形(步骤2302)。这里,诸如自然风的方向和强度,由重力所引起的加速度,空气阻力以及诸如此类的因素,均被用作上述参数。在需要时可以从操作信息,当前汽车速度以及诸如此类的信息中推导出这些参数。由此,可以在第二列T=1中的多边形提供反应了前一处理步骤过程中前一列中的多边形的运动的运动状态。
以类似方式从第三列位置T=2开始重复上述计算直到第n+1列的位置T=n处(例如n=10)。换句话说,对T=2处的每个多边形均指定了通过将尘云参数加到前一处理步骤中T=1处的多边形的位置和速度上所得到的位置和速度。另外,T=3处的每个多边形被指定了通过将尘云参数加到前一处理步骤中T=2处的多边形的位置和速度上所得到的位置和速度。以此方式重复进行上述计算直到最后T=n处的每个多边形被指定了通过将尘云参数加到前一处理步骤中T=n-1处的多边形的位置和速度上所得到的位置和速度。
利用此一系列的计算可以重构出每个多边形集合的顶点的位置以利用将各顶点连在一起的连接数据形成出代表了尘云的物体(步骤2033)。由此,该物体回复到单一形状,在显示其时其顶点将如同尘云一样移动。
另外,将对以上述方式转换所得的多边形集合进一步进行多种处理以调节该尘云的外观(步骤2034)。此处理包括:(1)用于在多边形沿时间轴T移动时增大透明度的处理;(2)用于以当从人行道方向将尘云作为一个整体来看时其最上方的多边形和背景之间的边界并不十分显著的方式沿向上方向增大透明度的处理;(3)用于为了在摄像机视点进入到尘云的气体中之后不致产生异样效果而将具有相同颜色的烟雾用作烟尘并使得此烟雾的密度向尘云中心不断增大的处理;以及诸如此类的处理。
因此,在本实施例中,尘云由一组多边形来表示,而通过利用物理计算来设置每个多边形的顶点并使得该组多边形在其之后留下一条尾迹而显示出尘云。具体地说,在进行物理计算时,将前一处理周期中的前一列多边形的运动反应在下一列多边形中,另外主要应用的是尘云的参数值,也应用了诸如风向和风强,由重力引起的加速度,空间阻力及诸如此类的环境因素。因此,如图14和图15所示,将尘云SS显示成在车辆后部留下一条随着向观察者靠近而不断增大的尾迹,其形状将根据多种尘云参数值而自由地变化。由于这些顶点的运动是利用物理计算来确定的,所以与常规装置相比尘云作为一个整体的行为(上升,翻滚)将表现的更为自然,因此其能够从实际上消除掉由于尘云的仿真显示所产生的异样效果。
该尘云作为整体还沿向上方向和向后方向增大其透明度。换句话说,所显示的尘云的微粒密度沿这两个方向均不断减小,因此该尘云的轮廓是以一种模糊方式来显示的。由此,其能够消除掉常规装置所产生的其中尘云和周围环境之间的边界太明显所造成的不自然的印象。利用此方法,还大大提高了在描绘尘云方面的真实性。
另外如图16所示,当游戏者的汽车被一辆正在加速的对手汽车EC超过时,位于游戏者汽车内的游戏者所在位置上的摄像机视点可能会完全进入到由对手汽车所扬起的尘云中。在此种情况中,根据常规方法,其只能显示出造成一种游戏者进入到一条中空的烟尘隧道中假象的画面。然而,在本实施例中,则施加了具有与尘云相同颜色的烟雾,所显示的是其中烟雾的密度向尘云中心不断增大的画面,因此其能够表现出进入到尘云中心位置时的真实状态。从而可以消除掉由常规方法所产生的异样效果,描绘了及其真实的尘云,由此提高了游戏的真实性,另外,利用此种烟雾处理,其能够利用画面剪裁(利用其在某物体运动到超出画面某一距离之外时便不再显示该物体的处理),而能够在减小计算处理量的同时避免显示不自然的效果。
另外,当采用的是四轮驱动车辆时,将会从所有四个车轮中产生尘云,但当该汽车向前行进时,由后轮所产生的尘云的多边形将与前轮所产生的尘云的多边形混合在一起,因此可以不用再产生这些尘云多边形。而另一方面当汽车倒车时,其则能够不用产生由前轮所产生的尘云多边形。
接下来,将根据图2中所示的步骤205对用于显示发散光的处理进行说明。紧接着尘云生成处理,CPU 101通过执行作为用于赛车游戏的特效处理之一的用于描绘发散光的处理而在显示器中表现出真实性的视觉感受。现在将根据图17-21对此处理进行说明。图17所示为其中所涉及的处理序列的概要。
图18所示为虚拟三维空间中车辆与摄像机视点之间位置关系的示意图。令Mc为表示了车辆空间位置的矩阵,而令Me为表示了摄像机视点的空间位置的矩阵。这些矩阵如下所示:
首先,如图19(a)和(b)各示例所示,先确定车辆和摄像机视点的各自方向矢量Vc(光源的方向),Ve(图17;步骤2041)。这些方向矢量指示了车辆方向(所要显示的光源的方向)以及摄像机视点在游戏空间内所朝向的方向,通过将(0,0,1)乘以各自矩阵Mc,Me中的方向分量可以推导出这些方向矢量,即,
其后便可以确定这两个方向矢量之间的角度(步骤2042)。具体地说,通过计算这两个方向矢量的内积并确定出该方向的余弦便可以推导出此角度。
换句话说,此方向的余弦可以由如下公式来计算:
cosθ=(Vc·Ve)÷(|Vc|×|Ve|)
=(mc00me00+mc10me10+mc20me20)÷
=[(mc00 2+mc10 2+mc20 2)1/2×
(mc00 2+mc10 2+mc20 2)1/2]
由上述计算结果,此角度的正弦的计算公式如下:
sinθ=(1-cos2θ)1/2(步骤2043)
其后,便可以确定其倒数,1/sinθ(步骤2044)。此函数1/sinθ形成了一条当两个方向矢量Vc,Ve相互平行时趋向于无穷的曲线(见图20)。此函数起到了如下所述与发散光显示物体有关的放大系数的作用。
此后,将一个单独的光源多边形PGL(优选地,每个光源使用一个多边形)定位在诸如车辆前灯或诸如此类光源的位置上,并实施其中由函数1/sinθ沿与视线垂直相交的平面的方向对该光源多边形进行放大的处理(步骤2045)。由于光源多边形并不总是垂直于视线矢量,所以在上述放大处理中要计算出光多边形与光源多边形之间所形成的角度(车辆的方向矢量),将光多边形放大并根据此角度将其变为椭圆形状(在虚拟三维空间中,X轴方向或Y轴方向以椭圆形状来进行放大)。如果光源多边形与视线矢量垂直(换句话说,如果光源多边形正朝向视线矢量),则将执行用于以圆形放大光源多边形的处理。对该光源多边形进行映射以使其从其边缘上的透明状态变为向其中心处的模糊光源颜色状态。
由此,如图21(b)和(c)所示,当摄像机视点与车辆之间的角度(光源的方向)接近平行时,从光源发散出的光线的状态将以增长速率从椭圆形到无限大圆形来变化。另外,由于位于该发散光中心处的发光源是模糊不清的,所以其可以用最亮点来表示。图21(a)所示为如上所述与光源有关的计算处理的初始状态,而在此状态中,光源的形状是小直径的圆形或椭圆形。因此,其能够可靠地传达给正在观看画面的游戏者(虚构摄像机视点处的观察者)以一种发散光的方向性印象,而由于此印象与通常在真实汽车所感受到的感觉十分类似,所以其将十分可靠地改善车辆行为所表现出的真实性感觉。光源形状的变化并不仅局限于此处所描述的形式,其也可以采用其它多种类型的形状,如星形或诸如此类。
具体地说,由于将发散光表示为当光发射状态处于摄像机视点与车辆方向重合时的状态时将变得大于显示屏,从而其将对游戏者产生很大的印象,由此增加游戏者对游戏本身的兴趣并提供出以自然方式所看到的图象。
另外,用于表示发散光的这种处理与常规方法相比较明显不同,尽管其产生了十分显著的视觉冲击,但该处理计算方法仍旧是基于用于放大单个多边形的处理,因此仍十分简单。此方法特征在于其中所涉及的计算负担将会很小而其处理速度很快。
用于表示发散光的处理并不局限于车辆的前灯,其当然也可以应用于汽车的尾灯,或其同时应用于这两种车灯。另外,用于表示发散光的此处理可以被十分满意地应用于,其中表现了比如从战机游戏中的飞机座舱的玻璃表面所反射的太阳光的发散状态的情况中。
本发明并不局限于游戏装置中构成了执行赛车游戏的图象生成装置的实施例。也可以将其满意地应用于任何其中在虚拟三维空间中一个运动物体沿所设定的行进路径运动,例如水上赛艇,滑板游戏等诸如此类的游戏装置中。
另外,除了尘云之外还可以将本发明应用于水雾。其还可以应用于烟雾。简言之,可以将其应用于显示任何从某一运动物体中所发出的描绘了此运动结果的现象。
作为本发明中的存储介质,其还可以包括任何其它存储装置,例如硬盘、卡式ROM、CD-ROM或诸如此类的常见存储介质,或通信介质(因特网,个人电脑通信网络,或位于这些网络中的服务器上的信息,等等)。
如上所述,根据本发明,其能够提供一种通过其在不显著增加其中所涉及的计算负担或数据量的情况下可以更逼真地表现与构成了移动体的车辆与其周围环境之间的相互影响有关的因素的图象生成装置和图象生成方法,由此根据运动车辆的主题可以增加游戏中真实性感受,并提高游戏者对游戏的兴趣。
具体地说,通过实施其中防止当一部车穿过两个多边形的结点时在作用力判断处理过程中判断方向发生突变而不易产生异样效果的更自然的作用力判断处理,以及实施其中将车道表面上的凹坑考虑在内的作用力判断处理,而使得与现有技术相比,在表现车辆行为方面其能够显著地提高真实性和确实性。
另外通过描绘出尘云由微粒构成的感觉,其还能够消除掉由常规方法平滑或不真实外观的尘云所产生的异样效果,再者,当从摄像机视点观看时,即使当摄像机视点位于尘云内部时其也能够在不产生异样效果的情况下来表示出尘云。
另外,其还能够以动态方式来生成从运动车辆上,如前灯、尾灯发射出的具有一定方向的发散光,或反射光的图象,并由此能够以更逼真的方式来表示发散光。
Claims (10)
1.一种图象处理装置,包括:
用于判断虚拟三维空间中由多边形所表示的某个物体与行进路径之间的作用力状态的作用力判断装置;以及
用于生成反映所述判断结果并且表示所述物体沿所述行进路径运动状态的图象数据的图象生成装置;
其中所述作用力判断装置包括:
用于通过对指派给所述行进路径的多边形各顶点的顶点数据进行插值而确定所述物体的作用力位置上的作用力判断数据的插值装置;以及
用于根据由所述插值装置进行插值所得的作用力判断数据来表示出所述物体在所述行进路径上的作用力的作用力表示装置。
2.如权利要求1所述的图象处理装置,其特征在于所述顶点数据包括每个顶点的高度和法向矢量,而所述作用力判断数据则包括所述作用力位置的高度和法向矢量。
3.如权利要求1或2所述的图象处理装置,其特征在于所述插值装置包括用于分别指定所述多边形的从所述作用力位置开始平行于坐标轴延伸并垂直相交的两个边线的装置;用于根据所述边线的每个末端的顶点数据设定第一和第二脊线的装置;用于确定所述脊线与所述两个边线的交点的各自数据的装置;用于指定第三脊线的装置,该第三脊线是以和上述两边线相交的点作为两个端点的线段;以及用于根据此第三脊线上的所述各交点的各自数据确定出在作用力判断位置的所述作用力判断用数据的装置。
4.如权利要求3所述的图象处理装置,其特征在于第一到第三脊线由三次方程来给定。
5.一种图象处理装置,包括:
用于判断虚拟三维空间中由多边形所表示的某个物体与行进路径之间的作用力状态的作用力判断装置;以及
用于生成反映所述判断结果并且表示所述物体沿所述行进路径运动状态的图象数据的图象生成装置;
其中所述作用力判断装置包括:
用于根据由所述多边形所表示的所述行进路径的凹凸属性来对所述物体的作用力位置上的作用力判断数据进行校正的校正装置;以及用于根据由所述校正装置进行校正所得的所述作用力判断数据来表示出所述物体在所述行进路径上的作用力的作用力表示装置。
6.一种图象处理装置,包括:
用于判断虚拟三维空间中由多边形所表示的某个物体与行进路径之间的作用力状态的作用力判断装置;以及
用于生成反映所述判断结果并且表示所述物体沿所述行进路径运动状态的图象数据的图象生成装置;
其中所述作用力判断装置包括:
用于通过对指派给所述行进路径的多边形各顶点的顶点数据进行插值而确定所述物体的作用力位置上的作用力判断数据的插值装置;用于根据由所述多边形所表示的所述行进路径的凹凸属性对由所述插值装置进行插值所得的作用力判断数据进行校正的校正装置;以及用于根据由所述校正装置进行校正所得的所述作用力判断数据来表示出所述物体在所述行进路径上的作用力的作用力表示装置。
7.如权利要求5或6所述的图象处理装置,其特征在于表示所述行进路径的凹凸的属性是作为纹理所提供的粘贴到所述多边形上的光线和阴影数据。
8.如权利要求5或6所述的图象处理装置,其特征在于所述作用力判断数据为所述作用力位置的高度和法向矢量。
9.一种图象处理方法,用于判断在虚拟三维空间中由多边形所表示的物体与行进路径之间的作用力的状态,并同时生成表示所述物体沿所述行进路径运动状态的图象数据,
其中所述物体的作用力位置上的作用力判断数据是通过对指派给所述行进路径的多边形各顶点的顶点数据进行插值来确定的,而所述物体在所述行进路径上的作用力则是根据插值所得的该作用力判断数据来表示的。
10.一种图象处理方法,用于判断在虚拟三维空间中由多边形所表示的物体与行进路径之间的作用力状态,并同时生成表示所述物体沿所述行进路径运动状态的图象数据,
其中将根据由所述多边形所表示的表示所述行进路径的凹凸属性来对所述物体的作用力位置上的作用力判断数据进行校正,而所述物体在所述行进路径上的作用力则是根据校正后的该作用力判断数据来表示的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30622697 | 1997-11-07 | ||
JP306226/1997 | 1997-11-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1251674A CN1251674A (zh) | 2000-04-26 |
CN1183493C true CN1183493C (zh) | 2005-01-05 |
Family
ID=17954523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB988017164A Expired - Fee Related CN1183493C (zh) | 1997-11-07 | 1998-11-06 | 图象生成装置和图象生成方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6657630B1 (zh) |
EP (2) | EP1720132A3 (zh) |
JP (1) | JP4226663B2 (zh) |
KR (1) | KR100816622B1 (zh) |
CN (1) | CN1183493C (zh) |
DE (1) | DE69836805T2 (zh) |
ES (1) | ES2283076T3 (zh) |
HK (1) | HK1024767A1 (zh) |
WO (1) | WO1999024937A1 (zh) |
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 |
CA2994789A1 (en) * | 2015-08-13 | 2017-02-16 | 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 | 株式会社コーエーテクモゲームス | プログラム、画像処理方法、及び画像処理装置 |
US11260857B2 (en) | 2019-08-21 | 2022-03-01 | 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次元シミュレータ装置 |
US5755620A (en) * | 1995-04-03 | 1998-05-26 | Kabushiki Kaisha Sega Enterprises | Game system and data processing method thereof |
JPH08276070A (ja) * | 1995-04-06 | 1996-10-22 | Sega Enterp Ltd | ゲーム装置 |
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 EP EP06016923A patent/EP1720132A3/en not_active Withdrawn
- 1998-11-06 EP EP98951725A patent/EP0973132B1/en not_active Expired - Lifetime
- 1998-11-06 JP JP52595799A patent/JP4226663B2/ja not_active Expired - Fee Related
- 1998-11-06 ES ES98951725T patent/ES2283076T3/es not_active Expired - Lifetime
- 1998-11-06 DE DE69836805T patent/DE69836805T2/de not_active Expired - Lifetime
- 1998-11-06 KR KR1019997006168A patent/KR100816622B1/ko not_active IP Right Cessation
- 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 active IP Right Grant
- 1998-11-06 CN CNB988017164A patent/CN1183493C/zh not_active Expired - Fee Related
-
2000
- 2000-07-04 HK HK00104080A patent/HK1024767A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1720132A3 (en) | 2010-05-26 |
EP0973132B1 (en) | 2007-01-03 |
KR20000069955A (ko) | 2000-11-25 |
KR100816622B1 (ko) | 2008-03-24 |
WO1999024937A1 (en) | 1999-05-20 |
HK1024767A1 (en) | 2000-10-20 |
DE69836805T2 (de) | 2007-11-29 |
JP4226663B2 (ja) | 2009-02-18 |
CN1251674A (zh) | 2000-04-26 |
EP1720132A2 (en) | 2006-11-08 |
DE69836805D1 (de) | 2007-02-15 |
EP0973132A4 (en) | 2003-01-02 |
WO1999024937A9 (fr) | 1999-11-04 |
US6657630B1 (en) | 2003-12-02 |
ES2283076T3 (es) | 2007-10-16 |
EP0973132A1 (en) | 2000-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1183493C (zh) | 图象生成装置和图象生成方法 | |
CN1171649C (zh) | 游戏装置及其处理方法 | |
US6667741B1 (en) | Image generating device and image generating method | |
CN1134748C (zh) | 图像处理装置,图像处理方法,和游戏机 | |
CN110109552A (zh) | 基于真实环境的虚拟驾驶场景建模方法 | |
CN100341595C (zh) | 游戏装置 | |
JP3379702B2 (ja) | ゲーム装置、画像データの形成方法及び媒体 | |
CN1230789C (zh) | 图象生成装置 | |
AU726228B2 (en) | Apparatus for and method of displaying image and computer-readable recording medium | |
US7274365B1 (en) | Graphical processing of object perimeter information | |
CN1559054A (zh) | 图像产生装置和计算机程序 | |
JP2846252B2 (ja) | 3次元シミュレータ装置及び画像合成方法 | |
CN1653490A (zh) | 图像处理方法与系统 | |
CN1218940A (zh) | 分隔多边形的图象处理 | |
CN1559056A (zh) | 图象产生装置及其方法,以及计算机程序 | |
CN1462415A (zh) | 从影子进行的三维重构 | |
CN1340180A (zh) | 用于实现折射映射的系统及其方法 | |
CN1618086A (zh) | 创建运动幻象的方法和设备 | |
CN100346358C (zh) | 图象产生装置、图象产生方法、电子设备 | |
EP0845130B1 (en) | Atmospheric effects simulation | |
Yoshimoto et al. | The history of research and development of driving simulators in Japan | |
JP4861862B2 (ja) | プログラム、情報記憶媒体、及び、画像生成システム | |
JPH0154749B2 (zh) | ||
JP2003123093A (ja) | 画像生成システム及び画像生成プログラム | |
CN117472753A (zh) | 一种基于ros的分布式仿真测试系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050105 Termination date: 20151106 |
|
EXPY | Termination of patent right or utility model |