虚拟图象生成设备及其方法

文档序号:1634347阅读:188来源:国知局
专利名称:虚拟图象生成设备及其方法
技术领域
本发明涉及一种用于游戏机、模拟器和类似设备的虚拟图象产生技术,具体是一种用于产生当一个存在于虚拟三维空间(以后称为虚拟空间)的物体投影(透视投影)于对应给定视点的二维平面的图象的技术。
近年来,开发了装有虚拟图象生成设备的游戏机和模拟器,使在三维空间运动的物体进行战斗成为可能。这种虚拟图象生成设备通常装有一个包含用于执行所存储程序的计算机的虚拟图象生成设备主单元,一个用于向计算机单元发送控制信号从而移动被显示在屏幕上虚拟图象中物体的输入设备,一个用于显示计算机单元根据程序序列产生的虚拟图象的显示器,和一个用于根据程序序列产生声音的声音装置。
具有上述结构的游戏机包括那些战斗题材的,其中,一个游戏者操纵的物体(机器人、人物或其他类似物)在一个虚拟空间生成的区域中(以后称为虚拟区域)与敌方物体进行战斗。在上述游戏机中由游戏者操纵的物体隐蔽在障碍物,或其他虚拟区域提供的类似物后面对敌人进行射击。
为了在虚拟空间中能进行运动的三维显示,采用了一种从一个给定视点观察虚拟空间所得到的图象。这通过透视投影的坐标变换实现,虚拟空间的坐标系被表示为从一给定视点得到的透视图,并将其投影在视点前方的一个二维平面上。在许多情况下,虚拟图象视点的视线指向游戏者的物体,以便使游戏者能看到其操纵的物体。游戏者操纵的物体做为一个主体显示在显示器的中央。
然而因为虚拟图象的视点和游戏者物体的位置关系在运动中是固定的,障碍物有时会阻挡到游戏者物体的视线。在这种情况下,游戏者物体就被障碍物挡住了,使游戏者无法看到物体的运动,从而无法控制物体。游戏者对物体失去控制会减少游戏的激烈程度,使游戏变的没有趣味。
这种情况可以参照图6。如图6A所示,当用做为虚拟图象视点的虚拟相机C′观察主体R′时,这种位置关系有时会使视线被障碍物O挡住。如图6A所示,当视线被阻挡后,在生成的虚拟图象中,主体R被障碍物O挡住,如图6B所示,因此游戏者无法确定如何才能最好地控制主体R′。
为了避免上述情况的发生,可以采用的方法有(1)不显示障碍物;或(2)从开始就用线框(wire frame)显示障碍物。
然而采取(1)中的方法会产生新的问题,即游戏者操纵的物体可见,而其它物体不可见。采取(2)中的方法能够看到障碍物,但是因为在主体R没被障碍物O挡住时,依然用线框显示障碍物,所以破坏了游戏的外观。
为了解决上述问题,本发明旨在提供一种不同于前述方法(1)和(2)的,不破坏游戏外观的虚拟图象生成设备。本发明的另一目的在于提供一种能够正确判断一个被显示的主体在虚拟空间是否与物体重叠的,并进行适当的透视处理使主体和物体均可见的虚拟图象生成设备及其方法。
为了达到上述这些目的,关于本申请的发明是一种用于产生从一个给定视点(如在主体斜上方,从虚拟空间的垂直方向进行观察)观察到的虚拟空间(如实际坐标系确定的空间)中的主体(如游戏者操纵的机器人、飞机或其它物体)的虚拟图象(游戏图象、模拟图象或其它图象)的虚拟图象生成方法,它包括的步骤有根据涉及虚拟空间中的物体(虚拟区域、障碍物、不规则区域表面和其它类似物体)的形态数据(多边形数据,指定形态位置的数据,表面数据和其它类似数据)和一个主体的位置数据(坐标数据和其它类似数据)判断特定的条件是否满足,例如,判断位于视点和主体之间的物体是否重叠,是否从视点可见;如果确定了主体和物体处于一个给定的重叠状态,则产生其中物体经过给定显现处理(网格处理、透明处理、物体的线条勾画或其它类似处理)的虚拟图象;如果确定了主体和物体处于一个不同于给定重叠状态的状态,则进行物体不被显现的非显现处理(正常纹理数据应用处理或其类似处理)。
更具体地,权利要求1的发明是一种在虚拟空间中产生下述主体,或其它存在于上述虚拟空间之中,能够从视点观察到的物体的虚拟图象的虚拟图象生成设备,对上述图象进行显现或非显现处理,其包括用于在给定条件满足时,使上述非显现图象转变为显现图象,在上述给定条件不再满足时,使上述显现图象转变为非显现图象的虚拟图象产生装置。
权利要求2的发明是一种包括用于存储与上述虚拟空间中的物体有关的形态数据的形态数据存储装置;用于为上述主体指定位置的位置数据指定装置;用于根据存储在上述形态数据存储装置中的形态数据和由上述位置数据指定装置为上述主体指定的位置数据,确定位于上述视点和上述主体之间的上述物体是否重叠和是否从上述视点可见的重叠判断装置,和用于产生虚拟图象的图象生成装置,其中,当重叠判断装置确定了上述主体和上述物体处于一种给定的重叠状态时,对其中物体进行显现处理,当重叠判断装置确定了上述主体和上述物体处于一种不同于给定的重叠状态的状态时,对其中物体进行非显现处理。
在权利要求3的本发明中,上述重叠判断装置计算沿上述视点观察上述主体方向的第一矢量,和沿上述物体到上述主体方向的第二矢量,计算第一矢量和第二矢量形成的角度,如果根据给定基准角度此角度属于给定的关系,则确定重叠状态存在,或如果此角度不属于给定的关系,则确定非重叠状态存在。较优选地,由第一矢量和第二矢量形成的角度与给定的基准角度相比较;当此角度小于上述基准角度时,则确定重叠状态存在,当此角度大于上述基准角度时,则确定非重叠状态存在。
上述角度可以是当矢量投影在给定坐标平面上时形成的。上述基准角度可以选择一个足够大的值以便允许去判断这两个矢量的方向是否基本相同。
权利要求4的发明涉及一个权利要求2中规定的虚拟图象生成设备,其中的重叠判断装置将相对于一个给定地面点(实际坐标系中的x-z平面或其它类似平面)的预先指定给主体的第一基准点(底边、几何重心、或物体外部的其它点)的偏移(y轴向的偏移,如高度或其它类似量)与相对于一个地面点的预先指定给物体的第二基准点的偏移进行比较。如果第一基准点的偏移小于第二基准点的偏移,则确定重叠状态存在;如果第一基准点的偏移大于第二基准点的偏移,则确定重叠状态不存在。
在权利要求5中,权利要求3的重叠判断和权利要求4的重叠判断同时应用,两个判断条件都满足时才能确定重叠状态的存在。
权利要求6的发明涉及权利要求2中规定的虚拟图象生成设备,对于显现显示,图象产生装置根据给定模式(一种象素点被部分替代的模式、一种条纹模式,或其它模式)显示主体的象素,而不是物体的象素点,以产生虚拟图象。
权利要求7的发明涉及如权利要求6中规定的虚拟图象生成设备,其中的模式包括一种显示物体的象素点和显示主体的象素点的交替序列。
根据本发明,当特定的给定条件满足时(例如当从视点观察时,物体在视点和主体之间),没有经过显现处理被显示的障碍物和其他物体进行显现处理;当条件不再满足时,物体图象返回非显现处理。
通常,当物体在从视点观察到的主体前面经过时,主体被物体挡住,从而使主体对虚拟图象的观看者不是充分可见的。面对这样一种主体被物体挡住的状态,本发明使用一种判断,当重叠状态存在时,对物体进行显现处理,使障碍物和主体对观看者都是充分可见的。因此在察觉障碍物存在的时候,游戏者也能操作主体,同时也没有破坏游戏外观。
当一组物体被判断处于重叠状态,对每个被判断处于重叠状态的物体都进行显现处理。
从特定视点观察时,如果物体位于主体和视点之间,从视点到主体的矢量的方向和从物体到主体的矢量的方向基本重合。在这种情况下,由两个矢量确定的角度相对很小。
根据权利要求3的发明,将此角度与基准角度相比较;如果基准角度设定得足够小以便能判断重叠,从而准确判断物体是否重叠主体。
另一方面,举视点处于能够从上方进行观察的位置为例,当主体低于物体时,物体挡住了主体,从而产生一个重叠状态。
根据权利要求4的发明,将位于主体上的第一基准点的偏移和位于物体上的第二基准点的偏移,即对应于前述示例中高度的参数,进行了比较。因此可以判断主体和物体是否处于一种重叠状态的位置关系。如权利要求5中所述,与权利要求3中的重叠状态判断同时使用有助于保证判断的准确性。
根据权利要求6的发明,显现处理根据一种用于显示的给定模式替换象素点来实现,从而产生在其中物体和主体均可见的虚拟图象。更具体的是通过用权利要求6中所述的方式交替物体显示象素点和背景显示象素点,显示一种给定的模式以生成虚拟图象显示,其中具有没有降低物体质量的主体,物体后的背景被清晰显示。


图1是根据本发明的一个实施方案的游戏机的示意框图;图2是根据本发明的一个实施方案的游戏机的运行流程图;图3是重叠判断的示意图;图4是根据本发明的一个实施方案虚拟图象(其中不存在重叠状态)显示示例;图5是根据本发明的一个实施方案虚拟图象(其中存在重叠状态)显示示例;图6是在常规示例中当覆盖存在时产生的虚拟图象的示意图;图7显示了在障碍物前表面、后表面和侧表面的,从障碍物到主体(物体)的矢量;图8是描述障碍物和主体位置关系的侧视图;图9是根据另外一个实施方案的与图8相似的侧视图;图10仍是根据另外一个实施方案的与图8相似的侧视图;图11根据另外一个实施方案描述两个障碍物,主体和视点之间位置关系的侧视图;图12是由图11中两个矢量形成的内角的示意图;和图13是描述虚拟空间中右手坐标系的斜视图。
以下将参照附图对本发明的优选实施方案进行说明。
(1)结构描述根据本发明的此实施方案的游戏机的情节是作为主体的物体(机器人)在三维空间中彼此战斗。游戏者操纵他或她的机器人,在三维空间中自由移动去攻击敌方机器人。观察虚拟图象的视点(相机)跟随着游戏者的机器人。
根据此实施方案的游戏机的结构如图1所示。如图1所示,游戏机1000包括以下基本部件一个游戏机主体10,一个输人装置11,一个输出装置12,一个TV监视器13和扬声器14。
输入装置11装有由游戏者左右手操纵以控制机器人运动的控制杆。与控制杆各种控制状态有关的编码被作为控制信号传送给I/O接口106。输出装置12装有提示游戏者游戏机操作状态的各种指示灯。TV监视器13显示了战斗的图象;也可以用头戴式显示器(HMD),投影仪或其它类似物代替TV监视器。
作为图象产生装置,游戏机主体10具有一个计数器100,一个CPU(中央处理单元)101;它还装有ROM102,RAM103,一个音响装置104,一个I/O接口106,一个上卷数据处理器107,一个协处理器108,区域数据ROM109,一个几何分析器110,形态数据ROM111,一个显示装置112,纹理数据ROM113,纹理映射RAM114,一个帧缓冲器115,一个图象合成装置116,和一个D/A转换器117。游戏机主体10在给定间隔(例如对应电视制式的垂直同步周期,1/60秒)产生新的虚拟图象。
作为位置数据指定装置和重叠判断装置的CPU通过总线与以下部件相连,从一初始值开始计数的计数器100,存储有游戏和图象生成存储程序的ROM102,存储临时数据的RAM103,音响装置104,I/O接口106,上卷数据处理器107,协处理器108和几何分析器110。
RAM103暂时地存储多边形数据坐标变换和其它功能所需的数据,并且存储为几何分析器编写的各种指令(如物体显示)、变换处理的矩阵运算结果以及其它数据。
当输入装置11输入控制信号时,I/O接口106向CPU发出中断请求;当CPU101为指示灯发送数据时,此数据被发送到输出装置12。
音响装置104通过功放105与扬声器14相连。音响装置104输出的音频信号被功放105放大,并送往扬声器104。
ROM111存储生成虚拟图象所需的物体的形态数据,如游戏者的机器人,敌方机器人,炸弹爆炸的图象,和障碍物,背景以及地形特征等虚拟区域的基本图案。
ROM109存储进行重叠判断是否主体(物体)被障碍物或其它地形特征挡住,以及进行碰撞判断是否主体与其它地形特征相碰撞所需的物体形态数据(建筑物,障碍物,地形特征,和其它类似物)。
不同于存储在ROM111中用于图象显示的相对比较详细的多边形数据组,存储在ROM109中的数据组只包含能进行重叠判断和类似功能的较粗略的数据。如,忽略组成区域和其它类似物的物体的详细表面纹理信息,只需要模拟全部的实体外形,ROM109存储用于显示上述实体外形的数据,和确定实体外形每个表面的数据。
这些数据可以作为对物体之间进行碰撞判断和重叠判断的基础,也可以作为进行涉及各种物体形态特征,如高度,宽度和深度判断的基础。如,地形特征数据包含有定义每个表面的地形特征的ID,这种ID和地形特征的对应关系以表格的形式存放在ROM111中。
所谓多边形数据就是包含各组顶点的多个集合的数据组,并用相对坐标或绝对坐标指定了构成物体形态的多边形(通常为三角形或四边形)和基本图象的顶点的位置。
为了产生虚拟图象,一种指明物体,障碍物和其它物体在一个虚拟空间相对位置的坐标系(实际坐标系)必须被转换为从指定视点(如相机或其它类似物)观察到的,代表虚拟空间的二维坐标系(视点坐标系)。视点被设置在某些可以看到受控主体的给定位置(如主体的斜上方)。视点和主体之间的位置关系在游戏过程中是变化的。代表主体位置的坐标被作为控制信号从输入装置11发送到CPU11。
当来自输入装置11的控制信号被输入时,CPU101响应控制信号为下一个间隔产生视点坐标和物体坐标,以实现主体的移动。一旦这些坐标确定了,CPU101对物体进行重叠判断和碰撞判断。
物体、障碍物和其它物体由一组多边形数据集合构成。对每个组成物体的多边形,整体形态由坐标系(本体坐标系)确定,其中一个点被选作原点,其它点用坐标表示;从而使组成物体的多边形的数据集合联系在一起。
当一个物体或其它类似物从观察虚拟图象的视点观察时位于障碍物之后,为了执行显现处理,必须要判断物体的重叠状态。这种根据本发明的重叠判断将在以后予以详细描述。为了在一个物体或障碍物被子弹或光束击中之后显示爆炸图象,必须计算物体之间的相对位置关系,并判断物体是否碰撞。为得到本体坐标系表示的物体的相对位置,必须进行到组成虚拟空间(实际坐标系)的给定坐标系的变换。一旦每个物体的相对位置被确定,就可以判断物体是否与其它物体碰撞。
一旦在虚拟空间坐标系中的物体的相对位置被确定,转换过程则产生虚拟图象,转换过程涉及在构成视场的二维平面上的投影,重新产生从一个给定视点(如相机)观察到的虚拟空间中物体的图象。这称为透视投影,通过矩阵运算为透视投影进行的坐标变换称之为透视变换。透视变换是由几何分析器110进行的,从而产生要实际显示的虚拟图象。
几何分析器110与形态数据ROM111和显示装置112相连。几何分析器110接受CPU101提供的表示透视变换所需的多边形的数据,以及透视变换所需的矩阵数据。根据CPU101提供的矩阵,几何分析器110对存储在形态数据ROM111中的多边形数据进行图象变换,从而产生由虚拟空间中三维坐标系到视点坐标系的变换数据。此时如果根据CPU101的碰撞判断需要显示一个爆炸图象,则使用爆炸图象的多边形数据。
显示装置112将纹理加到变换后的视场坐标系形态数据上,并将结果数据输出到帧缓冲器115。如果根据CPU101的重叠判断,物体或类似物隐蔽在障碍物之后,则进行给定的显现处理。为了加入纹理,显示装置112与纹理数据ROM113和纹理映射RAM114,以及帧缓冲器115相连。
上卷数据处理器107计算文本和其它上卷屏幕数据(存在ROM102中)。图象合成装置116将来自处理器107的文本数据加到前述帧缓冲器115提供的图象数据中,然后重新合成图象。重新合成的图象通过D/A转换器117输出到TV监视器。
(II)操作说明接下来,将参照流程图2对本实施方案中的重叠判断过程进行说明。
在S1步中,CPU101为显示障碍物进行必须的初始化。具体是当输入装置11提供一个新的控制信号时,CPU101执行赋予控制信号的操作,计算游戏者控制的物体所要到达目的地的坐标。一旦物体目的地被确定,观察作为主体的物体的视点的新位置也被确定。
一旦视点的新坐标被计算出来,CPU101就选择从该视点观察虚拟空间时需要透视投影的物体,视点在主体中央。在进行选择时,协处理器108参考存储在形态数据ROM109中的形态数据。被选择的物体与确定构成物体表面的数据一起存储在RAM103中。
当被显示的障碍物或其它物体不在从视点观察得到的虚拟空间的视场中时(S2步否),CPU101为从新视点进行透视投影提供所需的转换矩阵数据给几何分析器110,并完成操作。因为多个障碍物或其它物体通常在视场中(S2步是),所以下述重叠判断过程顺序处理在视场中每个障碍物或其它物体。
在如图13所示的右手坐标系的虚拟空间中,覆盖判断取决于由矢量CR和矢量OR形成的角度θ的大小,CR矢量从C点(视点((虚拟相机))在x-z平面的投影)指向点R(作为主体的物体在x-z平面的投影),矢量OR从障碍物O指向点R(见图3)。
图3对应于在Y方向上观察的虚拟空间视图,朝向x-y平面。矢量OR用图7中所示的方法被预先确定。在图7中,障碍物O是沿图3中相同的方向进行观察的。与障碍物右表面720接界的区域2具有与x-y平面平行的矢量72。与障碍物左表面760接界的区域4具有与矢量72相反的矢量76。
与障碍物前表面740接界的区域3具有与x-z平面平行的确定矢量74。与障碍物后表面700接界的区域1被指定了一个与矢量74相反的矢量70。这些矢量70,72,74和76与各自表面垂直。
矢量70和72指定给区域5,矢量72和74给区域6,矢量72和76给区域7,矢量76和70给区域8。每个区域的矢量以表格的形式存储在ROM111中。
在步骤S3中,如图2所示,(x,z)从物体的当前坐标位置读得,根据(x,z)所属于的区域(区域1到8),从障碍物到物体的矢量OR被指定为矢量70到76中的一个。
因为重叠判断通常根据前述矢量OR和矢量CR所确定的角度,所以矢量大小并不重要;因此这些矢量通常被赋予一个给定值。
从视点投影点C指向物体投影点R的矢量CR根据投影点C在x-z平面的坐标(x1,z1)和投影点R在x-z平面的坐标(x2,z2)计算得到。
接下来,在S4步中,将计算由矢量CR和OR形成的角度(或是矢量OR以矢量CR为基基准而形成的角度,为方便起见,角度较小的内角就称为内角),矢量CR对应一条从视点到主体的视线。
在S5步中,CPU101将程序给定的基准角度与S4步中计算得到的内角进行比较。当矢量OR和矢量CR形成的角度在基准角度之内(S5步是),将主体基准点的高度(y方向上的距离)与障碍物的基准点高度进行比较(S6步)。
当主体的高度小于障碍物的高度时(S6步是),即,当矢量OR和矢量CR所形成的内角小于基准角度和主体的高度小于障碍物的高度的条件均满足时,CPU101将指定上述障碍物的物体数据,以及规定对障碍物进行显现处理的编码通过几何分析器110一起提供给显示装置112(S8步)。当主体在一组障碍物后面移动时,对每个障碍物都进行重叠判断,因此如果所有障碍物的重叠状态都满足前述条件,就向几何分析器提供一组物体的数据和编码。
当矢量OR和矢量CR形成的角度大于基准角度(S6步否),或者主体的高度大于障碍物的高度(S6步否)时,就向几何分析器110提供规定非显现处理(障碍物的正常显示模式)的编码。
例如,如图3A所示,因为物体在x-z平面上的投影点R属于图7的区域1,矢量70被选作矢量OR。从虚拟相机(其作为视点)在x-z平面上的投影点C到投影点R的视线矢量CR如图3A所示。矢量OR和矢量CR形成的角度θ1小于基准角度,物体R′和障碍物O相重叠(见图6)。系统执行到S6步。
接下来,如图8所示,当前物体坐标被用来计算物体R′相对于虚拟地面80的高度H(y坐标)。高度H与障碍物高度相比较,当物体的第一起点(物体的底边)的高度(H1)高于障碍物第二起点(障碍物的顶边)的高度H0,则可以确定整个物体对视点C′是可见的,物体和障碍物能够重叠,可以用正常的方式产生障碍物O的图象,不必进行显现处理。
相反,当物体高度(H2)低于障碍物的高度(H0),则可以确定物体对R′视点C′是不可见的,要产生能显现的障碍物O的图象。
如图3B所示,因为物体在x-z平面上的投影点R属于图7的区域3,矢量74被选作矢量OR。从虚拟相机(其作为视点)在x-z平面上的投影点C到投影点R的视线矢量CR如图3B所示。矢量OR和矢量CR形成的角度θ2大于基准角度,物体R′和障碍物O不会重叠。系统转S2步骤。如图3B所示,甚至当主体的高度低于障碍物O的高度时,重叠状态也不会产生,因此没有进行S6步的处理。
在本发明的此实施方案中,由于以下原因,采用矢量形成的角进行物体和障碍物重叠的判断。如图3A所示,在视点观察时物体置于障碍物之后,当从障碍物的后表面700进行观察时,矢量OR和矢量CR都处于基本相同的方向。在这种情况下,两个矢量形成的内角将很小。
相反,如图3B所示,在视点观察时物体置于障碍物之前,矢量OR从障碍物后表面700指向前表面740,而矢量CR从障碍物前表面740指向后表面700。因为这两个矢量彼此相反,它们形成的内角将大于图3A中的。
因此通过定义一个能够区分图3A所示状态和图3B所示状态的基准角度作为内角,并将两个矢量形成的实际内角与基准角度相比较,能够区分图3A和图3B。基准角度的大小取决于视点和物体形成的角度和距离,但最好在70-90°之间。
在S6步中,物体的高度,即在虚拟空间实际坐标系中它们的y坐标被用作基准,因为视点的y坐标始终大于障碍物的y坐标。因此在游戏机中,当设置视点的高度低于障碍物的高度时,用每个物体的x坐标值的比较代替高度的比较。
当进行显现处理时(S8步),显示装置112进行网格处理,根据纹理数据将纹理加到讨论中的障碍物中。当对一组物体进行显现处理时,对这组物体进行网格处理。网格处理就是从显示讨论中的障碍物的象素点中选择部分象素点,根据给定模式通过插入显示背景的象素点替换显示障碍物的这些象素点。只要是可作背景的,物体能够辨认的,不会过多改变障碍物外观的模式都可以作为给定模式。例如障碍物象素点和背景象素点交替放置的模式较好。
在同以上类似的实施方案中,重叠状态的判断根据两个准则从视点到物体的矢量和从障碍物到物体的矢量形成的角度,两个物体之间的高度差。这能够确保对重叠状态的准确判断。本发明也没有排除使用物体和障碍物的坐标值,或其它方法进行两者的重叠判断。
当判断重叠状态存在时,进行显现处理,以便使障碍物能够以网格形式被显示。因此,即使障碍物在视点和主体之间,游戏者也不会看不见主体,可以继续玩,同时也可以察觉障碍物的存在。
因为矢量OR以表格的形式存储在存储器中,关于障碍物的物体位置从存储器中读取,所以判断能够快速地,方便地进行。
(II)其它实施方案i)覆盖判断在前述实施方案中,当有关矢量CR和矢量OR形成的角度的条件和有关主体高度和障碍物高度的条件均满足时,则可以判断重叠状态存在。然而也可以单独使用角度判断进行重叠判断。因为电视游戏中的主体运动是非常剧烈的,在视点与障碍物相距较远,或障碍物高度较低的情况下,这种位置关系通常都不会使游戏者在玩游戏的过程中有迷失方向的感觉,甚至不需要显现处理。
根据在视点观察时障碍物,主体,或其它物体的物体大小(即重心到边的距离),当重叠存在时矢量OR和视线矢量CR形成的角度会不同。此角度也会因视点与每个物体的距离而不同。S5步中用于比较的基准角度根据物体外部大小和视点与物体之间的距离而变化。
如图9所示,也可以根据主体位置和障碍物位置计算OR矢量。此矢量为从障碍物O上的给定基准点到主体R′上的基准点的矢量。基准点可以是主体或障碍物的中心。中心是指对应于物体实体外形的重心的点。在游戏机中,物体和视点快速运动,因此不必过于精确计算物体的中心,只需将作为中心坐标的位置存储到ROM109或其它类似设备中。判断物体高度的给定的基准点可以与进行矢量计算所用的物体中心相同;对于障碍物,可以采用障碍物的上表面的高度,对于作为主体的物体,可以采用物体最低面作为基准。
ii)显现处理在前述实施方案中,使用网格处理实现图象生成设备进行的显现处理,网格处理对每个点进行修正;然而,可以根据其它模式对象素点进行替换。具体而言,可以进行每两个点的替换,或者用条纹方式显示背景和障碍物。也可以采用使障碍物透明显示的显现处理代替网格处理,处理的过程中,替换了象素点。为了使象素点透明,可以对显示障碍物和背景的颜色信息(RGB)进行各种处理(相加,相乘等),以便使被障碍物挡住的部分背景能够被识别。
如图10所示,描述图10的方向与图8相同,来自视点C′的视场的视场角是θ-1,物体R′在Y方向的延伸被障碍物O覆盖的区域属于θ-2。因此只对在θ-2区域中被选择的区域进行显现处理。
在前述如图2所示的实施方案中,将对属于视点视场的障碍物进行重叠判断。可以采用如图2所示的过程对视场中的这些障碍物而不是所有的障碍物进行处理。将参照图11对此过程进行说明。
与图7的描述方向相同的图11显示了从Y方向观察到的障碍物O1和O2。图11说明两个物体在x-z平面上的投影点R-1和R-2,相对R-1的视点投影点C-1和相对R-1的视点投影点C-2具有以下关系(1)R-1 障碍物O1的背面700-1障碍物O2的前面740-2C-1 障碍物O1的前面740-1(2)R-2 障碍物O1的背面700-1障碍物O2的背面700-2C-2 障碍物O1的背面700-1障碍物O2的前面740-2由以下矢量形成内角投影点C-1和投影点R-1构成的矢量CR-1;障碍物O1和投影点R-1构成的矢量OR-1;投影点C-2和投影点R-2构成的矢量CR-2;和障碍物O2和投影点R-1构成的矢量OR-1。
如图12所示。
从图11和图12中可以看到,当投影点是R-1时,对障碍物O1进行显现处理,而对障碍物O2进行非显现处理。
另一方面,当物体投影点是R-2时,对障碍物O1和障碍物O2都进行显现处理。因为此时视点在C-2,障碍物O1不在视场中,不作为图象显示在TV监视器13上。
当对虚拟空间中的所有障碍物进行重叠判断时,可以对每个障碍物指定一个ID,对所有的ID进行S3到S7步骤中的处理。
ROM可以作为状态标志寄存器,以标明对各个障碍物是否有必要进行重叠判断。例如当障碍物的高度低于物体的高度,以至于整个物体几乎都没有被障碍物挡住,即使改变视点的位置也如此,则在标志位置“1”,标明没有必要进行重叠判断。
示例以下将说明一个采用前述实施方案的游戏机。
图4说明当主体和障碍物之间没有重叠时的位置关系。如图4B所示,在此例中,观察主体R的虚拟相机C′从主体R′上方观察虚拟空间,在R′中心。如俯视图4A所示,当相机C′位于点P1时,在相机C′观察时障碍物O位于主体R的后方,因此从视点到主体的矢量和从障碍物到主体的矢量形成的角大于基准角度,所以可以判断不存在重叠状态。所以不必对障碍物O进行显现处理。如图4C所示的正常虚拟图象显示在监视器上。
然而相机圆周运动到4A中的点P2时,障碍物O位于相机C′和主体R′之间,产生重叠状态。此时相机C′和主体R′的的位置关系如图5A的俯视图所示;位置关系也如侧视图5B所示。此时,两个矢量形成的角度小于基准角度,而且主体R′也低于障碍物。所以对障碍物O进行显现处理,对障碍物的纹理进行网格处理,如图5C所示,以便使隐蔽在其后的主体R′显现显示在显示器中的虚拟图象。
根据本发明,图象根据以下的方式生成没有经过显现处理所产生的图形被处理成显现图形,从而提供了一种虚拟图形生成设备,它不会损害游戏外观,不需要忽略障碍物的显示,不需要从开始就以线条外形的形式显示障碍物或其它方式。
主体被物体挡住时的位置关系被判断为重叠状态,则对挡住主体的物体进行显现处理。因此主体图形是充分可见的,从而允许游戏者没有困难地操纵和观察主体的状态。
更具体地,覆盖判断是根据从视点到主体的矢量和从障碍物到主体的矢量形成的角度进行的,从而可以方便准确地判断障碍物是否挡住了主体。当主体被障碍物挡住时进行的显现处理允许一种无迷失方向感的图象显示。覆盖判断也可以通过比较主体和物体的高度实现。
通过根据给定的模式替换象素点以影响显现处理,可以用相对简单的方法使图象变得显现,而不会损害颜色,形态和物体与主体的外观。具体是,通过以交替的方式显示物体显示象素点和背景显示象素点,可以得到处于重叠状态也能足够可见的虚拟图象。
权利要求
1.一种虚拟图像生成设备,在对所述图像进行显现或非显现处理时,能够在所述虚拟空间中产生虚拟图象,就象从规定的视点对其进行观察一样,其包括用于在给定条件满足时,使上述非显现图象转变为显现图象,在上述给定条件不再满足时,使上述显现图象转变为非显现图象的虚拟图象产生装置。
2.一种虚拟图像生成设备,在对所述图像进行显现或非显现处理时,能够在所述虚拟空间中产生虚拟图象,就象从规定的视点对其进行观察一样,其包括用于存储与上述虚拟空间中的物体有关的形态数据的形态数据存储装置;用于为上述主体规定位置的位置数据指定装置;用于根据存储在上述形态数据存储装置中的形态数据和由上述位置数据指定装置为上述主体指定的位置数据,确定位于上述视点和上述主体之间的上述物体是否重叠和是否从上述视点可见的重叠判断装置;和用于产生虚拟图象的图象生成装置,其中,当重叠判断装置确定了上述主体和上述物体处于一种给定的重叠状态时,对其中物体进行显现处理,当重叠判断装置确定了上述主体和上述物体处于一种不同于给定的重叠状态的状态时,对其中物体进行非显现处理,使其不显现。
3.权利要求2的虚拟图象生成设备,其特征在于上述重叠判断装置计算沿上述视点观察上述主体方向上的第一矢量,和沿上述物体到上述主体方向上的第二矢量,计算第一矢量和第二矢量形成的角度,如果根据给定基准角度此角度属于给定的关系,则确定重叠状态存在,或如果此角度不属于给定的关系,则确定非重叠状态存在。
4.权利要求2的虚拟图象生成设备,其特征在于重叠判断装置将相对于一个给定地面点的预先指定给上述主体的第一基准点的偏移与相对于一个地面点的预先指定给上述物体的第二基准点的偏移进行比较,如果上述第一基准点的偏移小于上述第二基准点的偏移,则确定重叠状态存在;如果上述第一基准点的偏移大于上述第二基准点的偏移,则确定重叠状态不存在。
5.权利要求2的虚拟图象生成设备,其中只有在权利要求3中规定的角度与上述基准角度具有给定的关系,以及权利要求4中规定的上述第一基准点的偏移小于上述第二基准点的偏移时,重叠判断装置才能确定重叠状态存在。
6.权利要求2的虚拟图象生成设备,其中,对于上述显现显示,图象生成装置根据给定模式显示上述主体的象素,而不是上述物体的象素点,以产生虚拟图象。
7.权利要求6的虚拟图象生成设备,上述模式包括一种显示上述物体的象素点和显示上述主体的象素点的交替序列。
8.一种在虚拟空间中产生存在于上述虚拟空间之中,能够从视点观察到的物体的虚拟图象的虚拟图象生成方法,包括以下步骤根据与上述在虚拟空间的物体有关的形态数据和为上述主体指定的位置数据,判断当从上述视点观察时位于上述视点和上述主体之间的上述物体是否重叠,当确定了上述主体和上述物体处于一种给定的重叠状态时,产生一个虚拟图象,物体进行显现处理;而当确定了上述主体和上述物体处于一种不同于给定的重叠状态的状态时,产生一个虚拟图象,对其进行非显现处理,使其中的物体是非显现的。
9.一种用于记录用于在虚拟空间中产生存在于上述虚拟空间之中,能够从给定视点观察到的物体的虚拟图象的程序数据的记录介质,上述程序数据用于判断过程,即根据与上述在虚拟空间的物体有关的形态数据和为上述主体指定的位置数据,判断从上述视点观察时位于上述视点和上述主体之间的上述物体是否重叠,当确定了上述主体和上述物体处于一种给定的重叠状态时,产生一个虚拟图象,对其中物体进行显现处理,而当确定了上述主体和上述物体处于一种不同于给定的重叠状态的状态时,产生一个虚拟图象,对其进行非显现处理,其中的物体是非显现的。
全文摘要
一个虚拟图象生成设备包括用于存储与障碍物有关的形态数据的形态数据存储装置,用于为上述主体指定位置数据的位置数据指定装置,用于根据形态数据和位置数据判断位于视点和主体之间的物体是否重叠和是否从上述视点可见的重叠判断装置,用于当确定了主体和物体处于重叠状态时,产生一个虚拟图象,对其中物体进行给定的显现处理的图象产生装置。
文档编号A63F13/00GK1161096SQ96190888
公开日1997年10月1日 申请日期1996年8月9日 优先权日1995年8月10日
发明者山本健二 申请人:世雅企业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1