图象生成装置及方法

文档序号:1616025阅读:151来源:国知局
专利名称:图象生成装置及方法
技术领域
本发明一般涉及图象生成装置,具体涉及一种适用于枪战游戏以及诸如此类游戏的图象生成装置,其本质在于对要在虚拟三维空间中运动的可移动对象和摄像机视点(即监视器图象)在此空间内的运动进行控制,以使得图象能够跟随可移动对象运动。
背景技术
随着近几年计算机图象学的不断发展,商业用途和国防研究用途的仿真装置得到了大规模的普及。作为其中一种类型的游戏装置,出现了一类用于击倒在虚拟空间中运动的多个目标(敌人)的射击游戏(枪战游戏),并得到了广泛地流行。
此类游戏装置通常所配备的硬件有,枪械单元、用于图形处理的CPU、监视器等。当游戏者(player)在瞄准了出现在监视器屏幕上的敌人之后并抠动了扳机时,CPU将检测出从枪械单元射出的光信号打在监视器屏幕上的位置,并进行包括根据此位置数据来“击倒”敌人的处理在内的图象处理。
作为截止到目前的最具代表性的枪战游戏,有一种由SEGAENTERPRISES,LTD.(世雅企业股份有限公司)出品的名为“VirtuaCop(商标)”的游戏。其是一种其中多个游戏者利用枪械单元来射击出现在监视器屏幕上所显示的虚拟三维空间(游戏空间)中的敌人,来比赛各自得分的枪战游戏。在此游戏中,敌人以预定的时序出现在监视器屏幕上的预定位置上。当游戏者把枪械单元瞄准了该敌人时,监视器屏幕上的视点将接近该敌人,同时此敌人将被放大显示在监视器屏幕上。敌人的运动是由本装置中的CPU根据预定的程序来进行控制的,同时如果必要,也可以通过设置,来让敌人对注视监视器屏幕的游戏者进行攻击。
然而,经过本发明人对各种常规枪战游戏的研究发现,近年来对能够提高用户对其兴趣的极端真实和实景游戏的需求,还远未充分地得到满足。
(1)例如,常规的枪战游戏中所存在一个问题是,当敌人在CPU的控制下开火,而向游戏者进行攻击时,游戏者会处于游戏中的“危险处境”(被敌人描述的状态)。然而,常规方法中,由于当敌人锁定游戏者时其正前方的区域最小,所以仅仅由敌人的图象,游戏者将很难意识到其正处于“危险处境”。因此,游戏者将会有突然被敌人击中的感觉,这与真实世界中的游戏相比,有些不太自然。
为了避免出现上述情况,有很多常规装置均采用了在监视器屏幕上显示一个标志,以使得游戏者可以意识到其正处于“危险处境”的方法。然而,这样一来又会使人觉得不真实,而不能提供自然游戏的感觉。
(2)其次,摄像机视点(即,游戏者注视的监视器屏幕的视点)也不能准确地移动来跟随敌人,而不致使敌人逃出视野范围。例如,当敌人的运动速度很快时,或当存在有多个敌人时,由于常规摄像机视点的旋转过于不连贯,将会出现游戏者无法在屏幕上看到敌人的问题。
(3)另外,在常规的枪战游戏中,为了控制人的行为,其还必须具有一个对应于所有可能出现的情况的规则库。因此,例如,为了不使一个角色的行为表现得不自然,如“在一处于惊吓状态之后,立即冷静地进行反击”,其将需要准备一些用于此种行为(结果)与起因之间的联系的规则,并将其事先存储成一个数据库。因此,开发上述数据库将需要较多的时间和人力,同时其还存在的一个问题是,开发成本将大幅升高。另外,由于其是作为数据库来进行存储的,所以还有一个问题在于,很难发现所存储信息的错误。此外,用于上述数据库的存储容量也将增加。
(4)再者,在常规的枪战游戏中,除了上述可移动对象之外的其他结构,如墙壁和障碍物等,一般均不会运动。因此,子弹与此类结构之间的碰撞(接触)判断,是以上述结构一直位于游戏空间中的固定位置上作为前提来进行的。尽管这样做能够得到较为精确的图象,但从提高游戏的娱乐性的角度看,对于产生碰撞的威力效果,或动态游戏情节的发展来说是不够的。
(5)另外,常规枪战游戏中还存在如下多种问题,即,在构成角色的各个组成部分的运动,或角色动作之间的运动缺乏真实性。例如,在常规方法中,一旦被一颗子弹击中,其将仅仅产生倒地而亡的动作。但实际上理想的情况应该是,表现出真实世界中被子弹击中时的各种反应,或诸如“我中弹了,但还没死”及诸如此类的表情。另外,在减少角色前一个动作和下一个动作之间运动的运算负荷,以及如何使上述运动尽可能地平滑方面,常规的方法也不尽如人意。

发明内容
因此,本发明的目的便在于解决现有技术中所遇到的上述问题,而其主要的目的是,提供一种适用于枪战游戏和诸如此类游戏的图象生成装置,其特点在于具有比常规方式更为丰富的真实性和现场感,同时与常规装置相比,也不需承受太多运算处理。
另外,本发明的另一个目的是,通过使游戏者能够准确地意识到“危险处境”,来提高游戏的现场感,以及显著地提高游戏者对游戏感觉和游戏娱乐性的兴趣。
本发明的再一个目的是,提供一种适用于枪战游戏或诸如此类游戏,同时通过使摄像机视点的运动能够准确地跟随敌人的运动,而不会使敌人逃出视野范围之外,来显著提高人们对游戏感觉和游戏娱乐性的兴趣的游戏装置。
另外,本发明的再一个目的是,提供一种适用于枪战游戏和诸如此类游戏的游戏装置,其特点在于在对角色的动作进行控制时,角色的“行为”要素源自于其“情绪”要素(即,行为与情绪相关),同时其还可以在与常规方法相比,不增加运算负荷的情况下,提供丰富的真实性和现场感。
本发明的再一个目的是,提供一种游戏装置,其能够使得与除了可移动对象之外的、诸如墙壁和障碍物等其他结构之间的碰撞更具感染力,从而能够实现游戏情节的动态发展,增加现场感,并显著地提高游戏感觉,以及对游戏的兴趣。
本发明的再一个目的是,提供一种适用于枪战游戏和诸如此类游戏的游戏装置,其能够提高构成角色的各组成部分的运动、或角色各动作之间的运动的真实性,从而增加真实性和现场感,同时与常规装置相比,也并不需承担过多的运算处理。
为了实现上述目的,根据本发明的图象生成装置的结构如下。
第一种结构是一种图象生成装置,用于生成在虚拟三维空间中的摄像机视点所捕捉到的,在该虚拟三维空间中运动的可移动物体的图象,该图象生成装置包括运动装置,用于根据和运动物体相关的可视点与发自当前摄像机视点的视线之间的位置关系,来控制摄像机视点的运动;人工智能AI处理装置,用于在虚拟三维空间中执行含有由游戏情节,评估/判定,以及行为因素所影响的运动物体的情绪的AI处理。优选地,上述虚拟三维空间即为游戏空间,而运动物体是枪战游戏中在游戏空间中的敌人。优选地,上述图象生成装置另外包括用于在屏幕上显示游戏空间的显示装置;能够通过游戏者操纵扳机来产生射向屏幕的信号的枪械单元;用于检测上述信号在显示装置屏幕上的抵达位置的传感器;以及用于根据抵达位置,在敌人与游戏者之间实现枪战游戏的游戏实现装置。
例如,可视点的位置位于除了运动物体之外的其他位置上,而上述图象生成装置另外包括用于对于一帧图象的每次显示,均将可视点向运动物体移动的可视点运动装置。上述可视点运动装置的作用是,对于一帧图象的每次显示,沿连接可视点与可移动物体的直线,将可视点向可移动物体移动预定距离。上述可视点运动装置包括用于计算摄像机的当前视线与从摄像机位置延伸并通过可视点的直线之间张角的装置;用于根据上述张角计算出旋转角的装置;以及用于对于一帧图象的每次显示,按照上述旋转角将摄像机视点的当前视线向可视点旋转的装置。
优选地,上述运动装置包括判断装置,用于判断随游戏者的操纵而不断变化的摄像机视点与可视点之间的相对位置关系中,是否出现特定情况;和视点运动控制装置,用于当由判断装置判定为特定情况时,通过对摄像机视点位置进行控制,来连续地捕捉可视点的位置。例如,视点运动控制装置包括移动摄像机的装置和根据摄象机运动前后从摄象机位置延伸穿过可视点的直线之间的夹角来旋转摄象机视点的装置旋转摄象机视点的装置按照上述角度将摄像机视点向所述可视点旋转。举例来说,视点旋转装置是用于通过将角度增加/减小预定值,来向可视点一侧旋转摄像机视点的装置。由此,可视点可以在屏幕上进行细小地移动,同时其还可以主动地向游戏者提供移动和环绕的感觉。另外其还配备有用于让游戏者通过操纵屏幕上游戏者自己的仿真角色,来避开敌人所射来的子弹的避让操纵装置;其中判断装置判断避让操纵装置是否处于操纵状态。
本发明的第二种结构是一种图象生成装置,用于生成图象,以让游戏者可以与存在于虚拟游戏空间中的敌人角色一起进行枪战游戏,该图象生成装置包括用于通过提供图象,来事先向游戏者建议敌人角色对游戏者即将实施的攻击的图象处理装置。优选地,上述图象包括由敌人角色射出并且在虚拟游戏空间中具有射向游戏者的路径的至少一颗子弹的至少一幅图象,该路径在预定条件满足之前偏离游戏者的位置。例如,该子弹的显示是按照弧线飞行的子弹来显示。
本发明的第三种结构是一种图象生成装置,用于向游戏者显示画面图象,以使其与存在于虚拟游戏空间中的敌人角色一起进行枪战游戏,该图象生成装置包括AI处理装置,用于在游戏中执行含有由游戏情节、评估/判定、以及行为因素所影响的角色的情绪的AI处理。例如,情绪因素可以由与游戏相关的恐惧和愤怒的情绪元素来表示。优选地,上述AI处理装置包括,用于进行处理以将基于行为因素的行为结果反映到情绪因素上的装置。
本发明的第四种结构是一种图象生成装置,用于通过将仿真人物并在虚拟三维空间中运动的可移动对象,表示为多个通过连接点连在一起的多个组成部分,来生成图象,该种图象生成装置包括第一指定装置,用于针对上述多个组成部分中的两个相邻部分,指定末端侧上的子部分,以及中心侧的主部分;第一运算装置,用于在假定子部分到主部分之间的连接点为固定点的情况下,计算由子部分所传送给主部分的冲量(impulse);第一重复装置,用于以循环方式,从可移动对象的末端侧到其中心侧,重复执行第一指定装置和第一运算装置的动量;第二指定装置,用于针对多个组成部分中的两个相邻部分,指定中心侧的主部分,以及末端侧上的子部分,第二运算装置,计算由主部分所传送给子部分的冲量;和第二重复装置,用于以循环方式,从可移动对象的中心侧到其末端侧,重复执行第二指定装置和第二运算装置的操作。
在上述第四种结构中,第一和第二运算装置的至少一个,是包括用于在仿真某人物时执行类似调剂(seasoning-like)的运算处理的装置。例如,上述类似调剂的运算处理包括如下各运算中的至少一种用于根据该人物各关节的运动限制,向各组成部分施加反向力矩的运算;用于将该人物所受到的外力反映到各组成部分上的运算;用于校正由于计算误差所引起的各组成部分位置之间的不自然性的运算;用于将由于该人物的物理特征所引起的内力力矩加载到其各组成部分上的运算;以及用于对各组成部分的旋转和运动速度进行控制,以将由该人物的心理情况所引起的外在表情反映到各组成部分上的运算。
本发明的第五种结构是一种用于通过对在虚拟三维空间内运动的可移动对象的两种类型的运动之间进行内插,来生成图象数据的图象生成装置,其包括运算装置,用于根据当前旋转角、目标旋转角、以及为达到上述目标旋转角所需的图象帧数,而离散地计算两种类型的运动之间动作的函数曲线;以及用于根据上述运算装置的运算结果,进行动作内插的内插装置。
本发明的第六种结构是一种用于生成,需要进行在虚拟三维空间内运动的可移动对象与位于该空间内的其它结构物体之间的碰撞判断的图象的图象生成装置,其包括碰撞判断装置,用于在移动结构物体的同时,进行与可移动对象的碰撞判断,其中,在与结构物体相关的坐标系中,坐标是在结构物体移动时固定在结构物体碰撞面上的,并根据该坐标来确定碰撞。优选地,上述碰撞判断装置是一种用于在以平行或旋转方式移动上述结构物体,进行碰撞判断的装置。
另外,本发明提供了一种在游戏显示屏上移动摄象机视点以使得可视物体最佳地显示在游戏显示屏上的方法,包括确定可视物体的当前位置;确定目标点的当前位置,其中目标点位于从摄象机位置延伸穿过目标点的第一直线上;把目标点向可视物体移动预定距离;计算第一直线与摄象机视线之间的夹角;根据计算出的夹角,把摄象机视线向第一直线旋转。
本发明还提供了一种在游戏显示屏上移动摄象机视点以使得可视物体最佳地显示在游戏显示屏上的方法,包括确定摄象机的第一位置到目标点的第一方向;将摄象机从第一位置移动到第二位置;确定摄象机的第二位置到目标点的第二方向;和计算第一方向和第二方向之间的夹角;根据计算出的夹角,旋转摄象机视线。
本发明还提供了一种在游戏显示屏上移动摄象机视点以使得可视物体最佳地显示在游戏显示屏上的系统,包括确定可视物体当前位置的装置;确定目标点当前位置的装置,其中目标点位于从摄象机位置延伸穿过目标点的第一直线上;把目标点向可视物体移动预定距离的装置;计算第一直线与摄象机视线之间的夹角的装置;和根据计算出的夹角,把摄象机视线向第一直线旋转的装置。
本发明还提供了一种在游戏显示屏上移动摄象机视点以使得可视物体最佳地显示在游戏显示屏上的系统,包括确定从摄象机的第一位置到目标点的第一方向的装置;将摄象机从第一位置移动到第二位置的装置;确定从摄象机的第二位置到目标点的第二方向的装置;和计算第一方向和第二方向之间的夹角的装置;根据计算出的夹角,旋转摄象机视线装置。
本发明还提供了一种提示游戏者敌人发动攻击的方法,包括确定敌人的攻击已经开始还是将要开始;计算偏离游戏者位置的弹道;处理弹道,一直到敌人连续射出的子弹数达到一预定数目。
在上述提示游戏者敌人发动攻击的方法中,弹道为弧形。
在上述提示游戏者敌人发动攻击的方法中,弹道和游戏者位置之间的偏离随连续射出的子弹数的增加而减小。
本发明还提供了一种提示游戏者敌人发动攻击的系统,包括确定敌人的攻击已经开始还是将要开始的装置;计算偏离游戏者位置的弹道的装置;和处理弹道一直到敌人连续射出的子弹数达到一预定数目的装置。
在上述提示游戏者敌人发动攻击的方法中,弹道为弧形。
在上述提示游戏者敌人发动攻击的方法中,弹道和游戏者位置之间的偏离随连续射出的子弹数的增加而减小。
本发明还提供了一种控制游戏中角色的方法,包括根据至少一种情况或行为确定角色的情绪因素;和根据情绪因素确定角色的行为。
在上述控制游戏中角色的方法中,情绪因素反映角色的愤怒和恐惧程度。
在上述控制游戏中角色的方法中,确定角色的情绪因素包括根据下述情况中的至少一种改变角色的情绪因素子弹从角色附近经过,角色受到不利的影响;另一个角色受到不利的影响;角色的表现;时间的流逝。
在上述控制游戏中角色的方法中,改变角色的情绪因素包括至少下述一种当子弹从该角色附近经过时,增加该角色的恐惧;当敌对角色击败该角色的一个战友时,增加该角色的愤怒;当敌对角色击败该角色的一个战友时,增加该角色的恐惧;当该角色受伤时,增加该角色的愤怒;当敌对角色受伤时,降低该角色的愤怒和恐惧;当该角色不能使敌对角色受伤时,增加该角色的愤怒而降低该角色的恐惧;随着时间过去,降低该角色的愤怒和恐惧。
在上述控制游戏中角色的方法中,根据情绪因素来确定角色的行为包括至少下述一种当恐惧较弱时,增加角色的击中率;当恐惧较强时,降低角色的击中率;当愤怒较强时,增加角色的移动速度;当恐惧较强时,抑制角色的射击;当愤怒较强时,增加角色的射击速率。
本发明还提供了一种用于控制游戏中角色的系统,包括用于根据至少一种情况或行为确定角色的情绪因素的装置;和用于根据所述情绪因素确定角色行为的装置。
在上述用于控制游戏中角色的系统中,所述情绪因素反映了角色的愤怒或恐惧程度。
在上述用于控制游戏中角色的系统中,所述用于确定角色情绪因素的装置包括根据下述情况中的至少一种改变角色的情绪因素的装置子弹从角色附近经过,角色受到不利的影响;另一个角色受到不利的影响;角色的表现;时间的过去。
在上述用于控制游戏中角色的系统中,用于改变角色的情绪因素的装置包括至少下述一种当子弹从该角色附近经过时,增加该角色的恐惧的装置;当敌对角色击败该角色的一个战友时,增加该角色的愤怒的装置;当敌对角色击败该角色的一个战友时,增加该角色的恐惧的装置;当该角色受伤时,增加该角色的愤怒的装置;当敌对角色受伤时,降低该角色的愤怒和恐惧的装置;当该角色不能使敌对角色受伤时,增加该角色的愤怒而降低该角色的恐惧的装置;和随着时间过去,降低该角色的愤怒和恐惧的装置。
在上述用于控制游戏中角色的系统中,用于根据情绪因素来确定角色的行为的装置包括至少下述一种当恐惧较弱时,增加角色的击中率的装置;当恐惧较强时,降低角色的击中率的装置;当愤怒较强时,增加角色的移动速度的装置;当恐惧较强时,抑制角色的射击的装置;当愤怒较强时,增加角色的射击速率的装置。


图1所示为作为根据本发明一种实施例的图象生成装置的游戏装置的全景图。
图2所示为游戏处理板的电路方框图。
图3所示为游戏空间一个实例的概念示意图。
图4所示为显示器所显示的游戏画面的典型实例的示意图。
图5所示为由CPU所执行的主要例程的简要流程图。
图6所示为摄像机视点运动控制处理子例程的简要流程图。
图7所示为用于解释摄像机视点运动控制原理的示意图。
图8所示为用于解释摄像机视点运动控制原理的示意图。
图9所示为用于解释摄像机视点运动控制原理的示意图。
图10所示为用于解释摄像机视点运动控制原理的示意图。
图11所示为攻击模式建议处理子例程的简要流程图。
图12所示为根据攻击建议处理所显示的游戏画面的一个实例的示意图。
图13所示为情绪/动作AI处理子例程的简要流程图。
图14所示为用于解释情绪因素的二维表示方法的示意图。
图15所示为出于比较说明目的,用于显示AI处理子例程的简要流程图。
图16所示为实时动态动作计算处理子例程的简要流程图。
图17所示为代表了由多个组成部分所构成的人物的示意图。
图18所示为非线性离散运动内插处理子例程的简要流程图。
图19所示为作为常规运动内插的,一种函数曲线线性内插的一个实例的示意图。
图20所示为作为另一种常规运动内插方法的,函数曲线的三维曲线插值的一个实例的示意图。
图21所示为非线性离散动作内插处理各个步骤的示意图。
图22所示为碰撞运动控制处理子例程的简要流程图。
图23所示为用于解释固定碰撞平面的碰撞判断原理的示意图。
图24所示为用于解释平行运动碰撞平面的碰撞判断的示意图。
图25所示为用于解释旋转运动碰撞平面的碰撞判断的一个步骤的示意图。
图26所示为用于解释旋转运动碰撞平面的碰撞判断的一个步骤的示意图。
图27所示为用于解释旋转运动碰撞平面的碰撞判断的一个步骤的示意图。
具体实施例方式
接下来将参照附图对本发明的一个实施例进行说明。
图1所示为作为本发明图象生成装置的游戏装置外观的一种实例的示意图。上述游戏装置的功能是,实现用于射击在虚拟游戏空间中运动的目标(敌人)的枪战游戏。
如图1所示,上述游戏装置包括一个装置主体1。该装置主体1的形状总体上类似于一个盒子,同时在其正面上包含有一个显示器1a。在该显示器1a的侧面则安装有一个接下来所要进行说明的扬声器14。
在装置主体1正面显示器1a的下方,配备有一个操纵面板2。在该操纵面板2上安装有枪械单元11,其中包含了一个由游戏者进行操纵的扳机。当游戏者抠动(操纵)枪械单元11的扳机时,来自枪械单元11的光信号将射向显示器1a。另外,在装置主体11的下方部分,配备有一个作为由游戏者来操纵的避让操纵装置的踏板传感器4。此踏板传感器4用于,移动显示器屏幕上模拟游戏者本人的角色,以避让子弹,如此等等。踏板传感器4的检测信息将被送到接下来所要说明的游戏处理板上。同时,其也可以用手动开关或手动游戏杆来代替上述踏板传感器。
在显示器1a的显示器屏幕上配备有用于检测来自枪械单元11的光信号的射入位置的位置传感器5。位置传感器5构成了枪械单元11的一个部件。位置传感器5的检测信息将被送到接下来所要说明的游戏处理板上。
游戏处理板被配置在装置主体1的内部。诸如显示器1a、踏板传感器4、位置传感器5、输出装置12(诸如指示器,扬声器14)等类型的装置,均以电气的方式与该游戏处理板相连接。游戏者通过一边观看显示在显示器1a上的游戏画面,一边操纵枪械单元11,来玩游戏。
图2所示为根据本发明实施例的游戏装置的方框图。如图2所示,游戏处理板10包含有一个计数器100,CPU(中央处理单元)101,ROM102,RAM 103,发声装置104,I/O接口106,滚屏数据运算装置107,协处理器(辅助运算处理装置)108,图形数据ROM 109,几何图形生成器110,形状数据ROM 111,绘图装置112,纹理数据ROM 113,纹理映射RAM 114,帧缓存115,图象同步装置116,以及D/A变换器117。
在上述各装置中,CPU 101通过总线,与存储了预定程序或图象处理程序的ROM 102、存储有原始数据的RAM 103、发声装置104,I/O接口106,滚屏数据运算装置107,协处理器108,和几何图形生成器110相连。RAM 103起到了缓存器的作用,并被用来将各种命令(显示物体等)写入到几何图形生成器中,以及写入各运算中所需的数据。
I/O接口106与踏板传感器4和位置传感器5相连,而上述两个传感器的检测信号则均作为数字值被写入到CPU 101中。发声装置104通过一个功放105与扬声器14相连。因此,由发声装置104所产生的声音信号,将先被进行功率放大,随后再作为声音从扬声器14中输出。
根据ROM 102所存储的程序,CPU 101从枪械单元11中读出操纵信号,从地形数据ROM 109中读出地形数据,从形状数据ROM 111中读出形状数据(三维数据,例如,诸如敌人的“角色”和诸如地形、天空之类的“背景”,以及各种结构“建筑物”),并进行包括角色的行为计算(仿真)以及特殊效果计算在内的运算。
行为计算的目的在于仿真敌人在虚拟三维空间(游戏空间)中的运动。为了实现上述计算,当在虚拟三维空间中确定了敌人多边形的坐标值之后,其将由几何图形生成器110来指定用于将此坐标值变换到二维视野坐标系中的变换矩阵,和形状数据(多边形数据)。地形数据ROM 109与协处理器108相连,并将预定的地形数据传送给协处理器108和CPU 101。协处理器108的主要任务是进行浮点数运算。因此,由于其将先由协处理器108来执行多种判断,随后再将判断结果提供给CPU 101,因此CPU的运算负担将得到大幅减轻。
几何图形生成器110与形状数据ROM 111和绘图装置112相连。如上所述,先前存储在形状数据ROM 111中的是由很多多边形所构成的形状数据(由各自顶点所构成的诸如角色、地形、背景等等三维数据)。上述形状数据被传送给几何图形生成器110。几何图形生成器110利用从CPU 101传送来的变换矩阵,对所指定的形状数据进行透视变换,并得到从三维空间中的坐标系变换到视野坐标系中所得的数据。
随后,绘图装置112则将纹理贴附到变换到视野坐标系中的形状数据上,并将其输出给帧缓存器115。为了贴附上述纹理,绘图装置112与纹理数据ROM 113和纹理映射RAM 114,以及帧缓存器115相连。
这里,多边形数据所表示的是与由多个顶点构成的多边形(这里所说多边形主要是三角形和四边形)的各个顶点相关的坐标值数据组,或绝对坐标值。存储在地形数据ROM 109中的是被设置为相对较粗略、但足以实现预定判断(碰撞判断等)的多边形数据。同时,存储在形状数据ROM 111中的是,与诸如敌人和背景的结构画面相关的、被设置为相对较精确的多边形数据集。
滚屏数据运算装置107计算诸如各角色的滚屏画面的数据(存储于ROM 102中)。此运算装置107和帧缓存器115通过图象合成装置116和D/A变换器117,送至显示器1a。由此,敌人和地形(背景)的多边形画面(仿真结果)被暂时地存储在帧缓存器115中,随后,其根据预定的优先级来对诸如角色信息及诸如此类的滚屏画面进行合成,同时针对每个固定的时序,来生成最终所要显示的图象数据帧。而D/A变换器117则将此图象数据帧变换为模拟信号,并将其发送给显示器1a,并作为游戏画面实时地进行显示。
此游戏装置通过接下来所说明的、主要利用CPU 101所进行的运算处理来执行枪战游戏。图3所示为由此种游戏装置所提供的游戏空间的概念示意图。图4所示为显示器1a上所显示的游戏画面的典型实例的示意图。
图3中,游戏空间由虚拟三维空间构成,其包括一个敌人(运动物体)3a,障碍物(结构物体)3b,摄像机视点3c,子弹(运动物体)3d,如此等等。敌人3a是游戏者所要射击的目标,其在装置一侧CPU的控制下,在避让由摄像机视点位置上所仿真的游戏者利用枪械单元11所射出的子弹的同时,自动地移动,同时其也向在摄像机视点位置上所模拟的游戏者进行攻击(开火)。摄像机视点3a是游戏者的视点,例如,其可以位于诸如直升飞机的飞行物体上。此视点将在游戏空间中不断移动,以跟踪敌人的运动。另外,游戏空间中也可以存在多个敌人3a。障碍物3b可以是诸如集装箱、建筑物、或墙壁等类型的结构,以使游戏具有多样性。敌人3a和摄像机视点3c在游戏空间中移动,同时避免与上述障碍物3b发生碰撞。
在图4中,游戏屏幕对应于从图3的摄像机视点3c观察所得到的图像构图。描准镜3e被显示在游戏屏幕上。这个描准镜3e随着游戏者改变枪械单元11的方向而发生移动。当描准镜3e与敌人3a重叠并且游戏者扣动枪械单元11的扳机时,子弹3d将被射向敌人3a。
(运行)[主程序处理]接下来,将对本实施例所述游戏设备中枪战游戏的图像生成处理进行说明。图5显示了图像生成处理的主程序。这个主程序例如被CPU101在与显示中断同步的每个范围内(1/60秒)重复地执行。
起初,CPU 101读取踏板传感器4、枪械单元11的信息,换句话说,先读取位置传感器5的信息(步骤S1)。
接下来,CPU 101将判断出目标敌人是否被确定(步骤S2)。如果目标敌人已被确定,则下面的敌人确定处理(步骤S3)将被跳过,并且多个敌人之中被作为视点目标的敌人将被系统方确定为一个预定的敌人,因为在游戏的开始阶段目标敌人并未被确定(步骤S3)。因此,在游戏开始阶段,在中心位置上具有预设的敌人的游戏空间将被显示在显示屏1a之上。但是,目标敌人会随着游戏的进程而发生改变。
然后,CPU 101从步骤S4至步骤S12进行连续处理。这些处理步骤也是本发明的特色所在。
首先执行的是用于使摄像机视点移向确定的或预先确定的目标敌人的处理过程(步骤S4,S5)。因此,当目标敌人偏离摄像机的视点时,摄像机视点将跟随这个敌人。摄像机视点的移动应使得显示屏上的敌人构图位于最佳的位置上。移动摄像机视点的处理将在后面加以说明。
另外,用于提醒游戏者有敌人攻击的处理过程也会被执行(步骤S6,S7)。因为由系统方控制的敌人正在追猎游戏者,所以此举可使游戏者预先得知他/她正处于“危险状态”的环境之中。这个攻击提醒处理也将在后面得到说明。
还有,被称为“情感/动作AI(人工智能)处理”的处理过程也被执行(步骤S8,S9)。这个情感/动作AI处理可通过给AI增加“情感”因素(这种情感控制着敌人、同志以及游戏中的其它人的行为),从而以更为真实的方式模拟出人的情感。这个情感/动作AI处理也将在后面得到说明。
另外,用于控制敌人行为和移动的处理也被执行(步骤S10,S11)。这个处理包括对敌人进行“实时动态动作处理”和“非线性离散动作内插处理”。按照这两种处理步骤,所显示的敌人的移动和行为将被更为真实地表达出来。这个处理也将在后面得到说明。
还有,子弹与敌人、障碍物之间的碰撞判断处理(碰撞处理)也被执行(步骤S12)。这个碰撞判断处理包括了被称为“移动碰撞处理”的处理过程,该过程可通过移动碰撞面而产生动态感觉。这个处理也将在后面得到说明。
在完成上述各种特色处理步骤之后,CPU 101将执行游戏处理过程(步骤S13)。换句话说,在此步骤中,将有一个转换矩阵被生成以用于将由摄像机视点在步骤S5中所确定的三维游戏空间全部转换成二维透视屏幕,而且这个工作被指定由几何图形处理器来完成,另外,用来表示角色和障碍物(如敌人)的部分(由多个多边形构成)也被指定由几何图形处理器来完成。变换矩阵和上述多边形数据被反馈给上述步骤S5,S7,S9,S11和S12中所处理的行为计算的各个因子。
当这个游戏处理过程结束后,处理过程将再次返回至步骤1,并且对每个固定时间画面重复执行上述一系列的处理步骤。其结果是,为每个固定时间画面所模拟的各个画面的图像数据将作为游戏屏幕显示而被在显示屏1a上实时连续显示出来,而且游戏图像是按照经过的时间而展开的。
接下来将对本发明的各个特色子程序进行详细说明。这些子程序都被执行于上述主程序运行期间。
(摄像机视点移动处理)现在将参考图6至图8对摄像机视点移动处理进行说明。
图6是待由CPU 101在主程序的步骤S5上执行的摄像机视点移动处理的详细举例。此处,如图7所示,可视点P被移向可视敌人E,并且摄像机C的视线(当视点被放置在摄像机上时的视觉区域中心线)跟随着这个可视点P的方向。即,可视点P是摄像机C视线的目标点,而且可视敌人E是可视点P的移动目标点。摄像机视线的移动的处理被划分为对出现“躲避”情况(其中游戏者试图躲避子弹)的处理以及对正常状态(其中没有躲避发生)的处理。
首先,对可视敌人E和可视点P的当前位置进行运算(步骤S21)。接下来,可视敌人E与可视点P之间的方向和距离得到运算(步骤S22)。然后,操作将被执行以使可视点P向可视敌人E移动预定的距离。图8显示了这种移动的一个典型例子。在各个画面(1/60秒)中,按可视点P与可视敌人E之间的距离的1/8~1/12来将可视点P移向可视敌人。这个距离可被适当选取。
根据主处理过程中步骤S1的踏板输入信号,程序将对是否有“躲避”动作进行判断(步骤S24)。当步骤S24的判断结果为否时,则为正常状态,并且步骤S25和S26将被连续执行。首先得到运算的是张角θ(步骤S25参看图9),该张角θ由当前摄像机视线和连接摄像机位置与可视点P的线构成。这个运算可在每帧画面中根据张角θ而将当前摄像机视线向可视点P一侧转动一个小角度dθ(步骤S26),这个小角度由dθ=θ^·b/a]]>来确定。此处,a和b都是系数。
系数a是用于确定处于θ角度的摄像机的转动速度的数值,系数a的值越大,则速度越慢。系数a最好被设定为适当的数值。系数b代表了摄像机转动期间的速度变化量,系数b的数值越小,则速度越稳定。数值1或2(最好约为1.5)被设定作为系数b,这样就可提供类似人类动作的感觉。
与此同时,当步骤S24的判断结果为是时,则根据躲避动作而进行的摄像机位置和方向(视线)处理将在步骤S27到S31中被执行。这些处理步骤不仅能够控制摄像机的方向(视线),它们的特色还在于与摄像机位置的移动有关。
首先,从摄像机C到可视点P的当前方向被确定(步骤S27)。然后,如图10所示,摄像机C的位置被移动预定的距离(步骤S28),并且摄像机位置向可视点P移动之后的方向也被确定(步骤S29)。另外还要运算的是角度α(步骤S30),它由摄像机向可视点移动前后的方向而构成。然后,用于使摄像机方向(视线方向)转动0.8α~1.2α的操作将被执行。之后处理返回至主处理过程。
通过按上述方法将摄像机C的方向转动α角,屏幕上可视点的外观将不会改变,并且可视点的景象也不会丢失。当游戏者在进行游戏期间操纵踏板并且进行躲避(包括当系统方判断出危险并进行躲避的情况)时,采用上述摄像机视线的普通控制就有可能使游戏者在屏幕上失去敌人的影像,因为移动太突然。而通过采用根据躲避情况而对摄像机位置和方向进行控制的办法,就肯定能够避免出现这种情况。
用于使摄像机方向转动的0.8α~1.2α的实际转动量也可具有多样性。因此,如果转动量被设定成略微小于张角α(例如0.8α)(参看图10中的虚线箭头(i)),则可视点P将朝摄像机移动的方向轻微移动,从而给游戏者以运动的感觉。这将会提高游戏的难度。相反,如果转动量被设置成略微大于张角α(例如1.2α)(参看图10中的虚线箭头(ii)),则可视点P将朝摄像机移动相反的方向轻微移动,从而给游戏者以回转的感觉。这也将会提高游戏的难度。
图11显示了一个在主程序处理过程的步骤S7中执行的攻击提醒处理的例子。这个处理也是由CPU 101来执行的。
首先程序将对敌人是否将要攻击或攻击是否已经开始进行判断(步骤S41)。当判断结果为否时,即,当敌人未对游戏者所扮演的角色进行攻击(射击)时,代表攻击提醒处理的标志F1和F2将被置为0,而且处理过程将返回至主程序(步骤S42)。
当步骤S41的判断结果为是时,程序将判断敌人连续射出的子弹数是否达到m个子弹(步骤S43)。代表连续射击的子弹数目的字母m被设定为(例如)m=4。如果判断结果为否,换句话说,被敌人连续射出的子弹数没有达到m个,则程序将进行进一步的判断,以确定是否标志F1=1(步骤S44)。如果判断结果为否,则从当前游戏者扮演的角色在游戏空间(虚拟三维空间)中所在的位置偏离开预定距离的弹道将被计算并保存起来(步骤S45)。为了向游戏者提醒有被敌人追猎的危险环境,这个路径将被按照弧形进行计算,如图12所示。
接下来,为了完成对这个路径的计算,标志F1被设定为F1=1(步骤S46)。当步骤S44的判断为是时,处理步骤S45和S46将被跳过。
然后,根据计算出来的弧形弹道,每幅显示画面中的子弹位置也被计算出来(步骤S47)。另外,用于在经运算的弹道位置上留下残像的处理也被执行(步骤S48)。步骤S48的残像处理可根据情况而被省略。之后,处理过程将返回至主程序处理。
与此同时,当步骤S43的判断结果为是时,根据系统方的处理,将有m个子弹沿一弧线飞行以射向由游戏者扮演的角色。由于这些m个子弹被设定成不会击中角色,所以游戏者将有一些时间以认识到有敌人开始发动攻击。因此,将有一个短暂的调剂给游戏以使游戏者不会在敌人开始攻击的瞬时被迅速击败。在m个子弹飞行的同时,游戏者将能够实时地感觉到他/她正在受到攻击(猎杀)。
因此,当步骤S43的判断结果为是时,程序将确认另一个标志是否为F2=1(步骤S49)。当标志F2=0时,则与由当前游戏者所扮演的角色在游戏空间中的位置有关的击中该角色的弹道将被计算并保存起来(步骤S50)。接下来,为了完成这个路径计算,标志F2将被设定为1(步骤S51)。当步骤S49的判断为是时,跳过处理步骤S50和S51。
然后,根据计算出来的弹道,程序将对每幅显示画面中的子弹位置进行计算(步骤S52)。之后,处理过程将返回至主程序处理。
由于攻击提醒处理采用了上述方法,所以游戏者可以通过多个以弧形飞行且射向游戏者所扮演的角色的子弹所产生的亮光而感觉到危险状态的存在。因此,游戏者就可以通过操作踏板以采取行动进行躲避(改变位置),而且游戏者也不会被敌人的攻击迅速击败。所以,它可以增加游戏中的娱乐性。通过将子弹设定为具有足够的数目,就可使游戏内容自然丰富。而且这种通过显示非自然标记以使游戏者认识到有危险状态的方法也将不再是必需的。
另外,作为对步骤S48上的残像处理的替代,也可通过利用对光的显示处理(如子弹反光和亮光)来提高游戏者的识别力。
尽管上述用于提醒游戏者有敌对角色攻击的处理是在由游戏者扮演的角色被显示在显示屏上的前提下进行的,但也可在不在屏幕上显示游戏者角色的枪战游戏或类似的游戏场景中使用这种处理。在这种情况下,可以用类似于上述方法的方法来进行图像处理,从而使代表敌对角色的攻击的子弹沿着这样一条路径飞行,即,这条路径“位于预设区(在此区域中游戏者将被击中)的邻近区域并且在屏幕显示区域之内”。因此,在实际空间中观看屏幕的游戏者将有他/她存在于虚拟空间之中并受到敌人攻击的感觉。所以也可获得类似上述内容的运行效果。
对于在图11所示步骤S43中所说明的警告射击的数目来说,也可在其中加入以下的改进例子。即,在警告射击数达到m个子弹的过程中,警告射击的到达点和射击点(游戏者视点中的摄像机位置或游戏者扮演角色的位置)之间的距离是根据警告射击次数的增加而逐渐减小的。这就会使游戏者感觉到敌人的瞄准在逐渐地变得更加精确,进而更为强烈地提醒游戏中的“危险”状态。
图13显示出了一个在主程序处理过程的步骤S9上执行的情感/动作AI处理的例子。这种情感/动作AI处理可按照充满情感因素的AI来控制出现在游戏中的个人的性格,从而实现更加与人相似的活动。
如图13所示,按照影响的顺序排列,在这个情感/动作AI处理中输入的是环境因素(步骤S51)、情感因素(步骤S52)、评价、判断因素(步骤S53)以及行为因素(步骤S54)。情感因素(如本实施例中的图14所示)由愤怒和恐惧这两个元素表示。这个情感不一定必须由两个元素来表示,它也可采用足够的元素。另外,行为因素可被循环地反应在情感因素上。这种情感/动作AI处理的特征在于,它引入了情感因素,并且这个情感因素可相互影响并也受评价、判断和行为因素的影响,而且人的最终行动是由它来决定的。图15显示了与图13所示处理过程相比较的AI处理过程。
图13所示情感/动作AI处理的一个具体例子如下a.以下是“环境”对“情感”产生影响的例子a-1在一个敌人的情况下★当游戏者的子弹从附近经过时,“恐惧”增加★当游戏者击败一个战友时,“愤怒”增加★当敌人能够承受一枪的损伤而不死时,“愤怒”增加★当游戏者角色受伤时,“愤怒”和“恐惧”都降低★当向游戏者射击但子弹被躲过或偏离时,“愤怒”增加且“恐惧”降低★随着时间过去,“愤怒”和“恐惧”都降低a-2在一个平民的情况下★当子弹从附近经过时,“恐惧”增加★当另一个人死亡时,“恐惧”增加★时间间隔,“愤怒”和“恐惧”都降低
b.以下是“行为”对“情感”产生影响的例子★当一个人射出子弹并变得放松时,“愤怒”降低★当一个人连续射出子弹并变得麻木时,“愤怒”降低c.以下是“情感”对“评价/判断”产生影响的例子★当“恐惧”较强时,人将不再射击并且隐藏起来★当“愤怒”较强时,人将不再躲避危险并且连续射击★当“恐惧”太强时,人将变得僵化d.以下是“情感”对“行为”产生影响的例子★当“恐惧”较弱时,击中率较高★当“恐惧”较强时,击中率较低★当“愤怒”较强时,攻击时的移动反应变快作为对情感/动作AI进行上述设定的结果,可以提升或排除非人类自然活动的表现(如,到目前为止尽管一直处于恐惧状态,但突然变得镇静起来),从而使游戏被更加真实地反映出来。例如,在本实施例所述的游戏中,敌人的第一次射击将不会击中游戏者,并且子弹的弹道被设定成使一系列射击中的最后一颗子弹将击中游戏者。因此,当“子弹的击中率”按照上述情感AI而变高时,例如,原来设定的是第四颗子弹击中游戏者,而现在则是第三颗子弹将击中游戏者。相反,当“恐惧和愤怒都较高”时,它将可以精确地表达出人类精神的恐慌,这时,尽管游戏者将不停地凶猛射击,但却很难击中目标。
另外,如果在游戏中有多个人,则各个人都应能够按照这个人的情感/动作AI而自发地移动。因此,在不需对总体人群进行控制的情况下,也可以更加真实地表现出人群的影像。
另外,由于可以不像传统处理过程那样需制定一个基本规则以确定全部行动,所以其优点在于可以减轻或限制数据量和运算量。
图16显示出了一个用CPU 101在主程序处理过程的步骤S11上执行实时动态动作处理的例子。
这个动作处理将注意力集中在构成一个人类角色的部分(各个部分都由多个多边形构成)的特征之上。即,在构成人体的各部分之间,由于主要部分比子部分更多,因此其特征在于,对子部分来说,它与主部分的连接点可被认为是固定的点。
在本实施例中所采用的划分主部分和子部分的方法,其目的是为了方便起见,位于人体端侧(远离人体)并在两个相邻部分之间的部分被称为子部分,而位于人体中心侧(靠近人体)的部分则被称为主部分。
图17显示了用16个部分来表示一个人的例子。图17中的黑圆圈代表了各部分之间的连接点。
因此,如图16所示,CPU 101首先选择位于人体最末端的子部分(步骤S61),然后再指定其主部分(步骤S62)。此处,子部分与主部分之间的连接被认为是固定点,接着,子部分的移动被计算(步骤S63),然后,待被提供给主部分的冲量(力×时间)被计算出来(步骤S64)。子部分的运动和待被提供给主部分的冲量都是在认为各部分是刚体的条件下得到计算的。
对构成人体的各个部分来说,这一系列的处理步骤是循环重复的,从末端部分到主部分,再到与这些子部分连接的主部分,并将这些主部分作为子部分(步骤S65)。这个重复过程将持续进行直到子部分变成最中心的部分为止(该中心部分是一个其上没有其它主部分的部分;如果采用需要重心位置的腰部以作为中心部分,则计算将被简化)。
相反地,在到达中心部分时,主部分被指定(步骤S66)。第一主部分是中心部分。接下来,子部分被指定(步骤S67)并且待被加载到子部分之上的冲量可根据主部分的移动而被计算出来(步骤S68)。这种反向计算也被循环重复,其目的是最后使子部分变成主部分(步骤S69)。
通过按照上述方法来控制角色的动作,在产生一个动作时,人体将从末端或末端侧开始移动,这种移动被传递给人体的中心部分侧,而且中心部分侧所产生的移动或限制也被交互地施加给端侧,按照这种形式,就可展现出更为自然和平滑的动作。
另外,在这个动作计算中可加入各种类似调味品的处理。例如,由于连接点的移动受到限制,所以反向运动将被提供给各部分以试图使其进行超出这种限制的移动(步骤S70至S72)。因此,人类的精确运动就可被表现出来。另外,当因与外部物体(如墙壁、地板或子弹)接触而使人体部分受到外力时,或者当如重力这样的外力存在时,程序将对这些施加到人体部分上的力进行计算(步骤S73,S74)。此处,当出现因计算误差而使人体凹陷入地板的现象时,就需要进行适当的修正并且需进行处理以使这种现象不被察觉到。另外,由于人在感到疼痛时会收缩肌肉从而产生内力,所以在一个人被子弹击中时可在程序中增加处理内力或动量的步骤(步骤S75,S76)。这样就可表现出真实的活动。还有,人类具有能够自发修正他们的姿势以防止摔倒的内力。为了表现出“我被击中,但还没有死”的状况,则最好进行可使人体部分的转动速度减慢的处理(步骤S77,S78)。此举将表现出人的“耐力”,进而使真实活动得到进一步的增强。在系列处理步骤S61到S69期间,对选定的附加项目来说,可通过将步骤S70到S78的这些处理安排在适当的位置上以合并执行。
在上述实时动态动作处理中,动作计算的顺序可以从代表人体的多个部分之间的末端侧开始,或者也可从人体的中心部分开始,其顺序不受限制。当受到伤害时,计算顺序可从这个受伤害的部分开始执行。
图18显示出了一个用CPU 101在主程序处理过程的步骤S11上执行非线性离散动作内插处理的例子。
此处,动作内插处理可被理解为用于产生连接两个动作的运动的内插处理;例如,在“奔跑”之后的“转身”。作为用于这类内插处理的传统方法,它采用的是如图19所示的线性内插处理以及如图20所示的三维曲线插值处理。由线性插值处理所做的动作内插代表了连接具有线性函数的动作的运动,而且,尽管其优点在于计算负荷较轻,但它却缺少动作之间的连接的平滑性。同时,三维曲线插值处理所做的动作内插代表了连接具有三维曲线函数的动作的运动,并且,尽管其活动连接较为平滑,但除非当前动作和下一个动作已被指定,否则函数曲线将不能被计算出来。传统方法还有一个缺点,即,由于是计算样条曲线,所以计算负荷将增加。
为了解决上述这些问题,本发明提供了一种非线性离散动作内插处理。这种动作内插处理所采用的方法是将动作的函数曲线作为离散数据而进行直接计算,而不是将其作为连续函数。
具体来说,如图18所示,根据当前角度θ0、目标角度θa以及到达目标角度之前的画面数f,到达目标所需的角速度dθa被首先按以下公式计算出来(步骤S81)dθa=(θa-θ0)/f
这就意味着图21(a)所示的状态将被画面的数目(也就是时间t)求微分并被转换成图21(b)所示的状态。
接下来,程序将从存储器中读出上一个角速度θ0(步骤S82)。计算出来的角速度dθa与读出的上一个角速度dθ0之间的点被认为是当前的角速度dθ,并且该角速度dθ也被按照以下公式计算出来(步骤S83)dθ=(A·dθ0+B·dθa)/(A+B)通过在图21(b)的上方部分中对连接角速度dθa和dθ0的线段进行分割,就可用A距离和B距离来确定角速度dθ。根据这个公式,图21(b)的状态可被转换成图21(c)所示的状态。此处,如果A=B,则当前角速度dθ的位置将被设定成中间点。A距离被设置得比B距离越大,则所表现的惯性就越大。
当前计算出来的角速度dθ被保存在存储器之中以在下一次中断中作为上一个角速度dθ0(步骤S84)。
每次中断内按照上述方法计算出来的角速度dθ的时间积分函数曲线被显示在图21(d)之中。
从图21(d)可以明显看出,在从当前动作向下一个动作移动时,动作被赋予惯性,使得动作不会一下停止在目标角度上,因而给人以沉重感觉的移动。通过适当调整这个惯性,就可使这个惯性得到有利的应用,而且与三维曲线插值相比,这种处理将能表现出一个具有平滑连接的真实和沉重感觉的动作。即使在动作期间产生突然的切换,根据惯性,它也可平滑地过渡到下一个动作。同时,由于处理是针对离散数值而不是连续函数进行的,所以甚至与线性内插相比,处理的负载也没有那么重。它的优点在于可以在较轻运算负荷的情况下提供平滑的动作内插。
图22显示出了一个用CPU 101在主程序处理过程的步骤S12上执行移动碰撞处理的例子。
在传统游戏中,阶段的碰撞是不被移动的。而本发明则允许这种移动,并且还努力提供出一种更为动态的游戏过程。这种移动碰撞处理可通过固定碰撞面的坐标系统,从而利用向外擦除这个面以计算出碰撞面的移动。
首先将对现有的非移动固定碰撞的处理进行说明。如图23所示,当不移动碰撞面(如底面、墙壁,等等)时,通过计算直线与平面的交叉点,就可以从这个碰撞面和普通碰撞线(如,弹道)上简单地获得碰撞点p。
本发明可以动态地移动碰撞,如图22所示,CPU 101在每个中断中都对是否要移动碰撞或者它是否正在移动进行判断(步骤S91)。如果判断结果是否(不要移动),则程序前进至步骤S92,并且作出上述固定碰撞的判断。但是,当碰撞正在移动时,程序将前进至步骤S93,然后程序再进一步对是平行移动还是旋转移动作出判断。
当判断结果为平行移动时,程序前进至步骤S94并作出平行移动碰撞的判断。具体来说,如图24(a)和图24(b)所示,当平行移动碰撞面时,坐标系统被固定在碰撞面上,并且碰撞线的终点p被在碰撞平行移动向量的反向向量的距离中移动。随后,平面和线段的交叉点P′被找到以作为碰撞点,之后,执行用于恢复P′的坐标系统的转换以获得交叉点P。
同时,当步骤S93的判断结果为旋转移动时,将在步骤S95中作出旋转移动碰撞的判断。具体来说,如图25至27所示,在旋转移动碰撞面时,与平行移动相类似,碰撞线的终点P1被在碰撞面的平行移动向量的反向向量的距离中移动,从而作出P1′(参看图25和26)。这样,就可向外擦除与平行移动有关的影响。
接下来,碰撞线段的终点p1′被以碰撞面的原点为轴转动θ角,从而作出P1″(参看图27)。根据上述操作,碰撞面的坐标系统将被固定,并且碰撞移动和旋转的影响也可被向外消除。这样,线段p0-p1″的交叉点p″和碰撞面就被找到以作为碰撞点,而且通过对这个点执行反向操作,就可获得交叉点p。
根据以上所述,在对碰撞线段(如子弹轨迹)执行碰撞判断的同时,通过移动碰撞面(如墙壁和底面),就可生成动态的游戏屏幕,而这在以前是不可能的。
另外,在旋转移动碰撞面时,其旋转原点不一定必须在碰撞面上,它也可在碰撞面之外。在实际计算时,碰撞线段由向量公式“p=p0+(p1-p0)t”表示。t是在p′或p″被计算之后立刻被计算的,通过替换这个公式,就可以省去在计算p′或p″的坐标之后必须对坐标进行再转换的麻烦。尽管在上述实施例中所说明的碰撞面是一个平面,但即使它是一个曲面,也可用相同的方法来计算这个碰撞面。另外,碰撞面的旋转角θ最好是一个足够小的值。如果这个旋转角θ太大,碰撞点的计算坐标中的差异也会增大。此处,计算应该在将转动分成确定数量的时间的基础上作出。
此处所说的敌人是指由游戏机主体的计算机处理的一个目标、敌人或发出攻击的物体。
产业应用性如上所述,本发明提供了一种适于枪战游戏及类似游戏的图像生成设备,与传统设备相比,这种设备具有丰富的真实性和环境气氛,可以提供相当高的游戏感觉和游戏娱乐,并且它不会有运算处理量大的负担。
具体来说,它可以增加环境气氛并可通过使游戏者精确认识到“危险状态”而大大增加在游戏感觉和游戏娱乐中的兴趣。另外,本发明所提供了一种游戏设备,它适于枪战游戏和类似游戏,而且它可在不失去敌人影像的情况下,通过使摄像机视点跟随敌人的移动而正确移动,从而充分提高游戏感觉和游戏娱乐中的趣味性。
另外,本发明还提供了一种适用于枪战游戏和类似游戏的图像生成设备,在这种设备中,由“情感”形成的“动作”被提供给控制角色的AI,从而使开发它所需的时间和麻烦得到抑制,而且它可在不提高运算负荷的情况下提供比传统设备更丰富的真实性和环境气氛。另外,通过实现动态游戏开发,本发明所提供的一种游戏设备能够制作出与可移动物体之外的结构(如墙壁或障碍物)的碰撞,从而增加游戏气氛,并且充分提高游戏感觉和游戏中的趣味性。
另外,本发明还提供了一种适用于枪战游戏和类似游戏的图像生成设备,这种设备能够提高构成角色的部分的运动或者角色动作之间的移动的真实性,从而提高了游戏的真实性和游戏气氛,而且与传统设备相比,它不会有运算处理量的负担。
权利要求
1.一种在游戏显示屏上移动摄象机视点以使得可视物体最佳地显示在游戏显示屏上的方法,包括确定可视物体的当前位置;确定目标点的当前位置,其中目标点位于从摄象机位置延伸穿过目标点的第一直线上;把目标点向可视物体移动预定距离;计算第一直线与摄象机视线之间的夹角;根据计算出的夹角,把摄象机视线向第一直线旋转。
2.一种在游戏显示屏上移动摄象机视点以使得可视物体最佳地显示在游戏显示屏上的方法,包括确定摄象机的第一位置到目标点的第一方向;将摄象机从第一位置移动到第二位置;确定摄象机的第二位置到目标点的第二方向;和计算第一方向和第二方向之间的夹角;根据计算出的夹角,旋转摄象机视线。
3.一种在游戏显示屏上移动摄象机视点以使得可视物体最佳地显示在游戏显示屏上的系统,包括确定可视物体当前位置的装置;确定目标点当前位置的装置,其中目标点位于从摄象机位置延伸穿过目标点的第一直线上;把目标点向可视物体移动预定距离的装置;计算第一直线与摄象机视线之间的夹角的装置;和根据计算出的夹角,把摄象机视线向第一直线旋转的装置。
4.一种在游戏显示屏上移动摄象机视点以使得可视物体最佳地显示在游戏显示屏上的系统,包括确定从摄象机的第一位置到目标点的第一方向的装置;将摄象机从第一位置移动到第二位置的装置;确定从摄象机的第二位置到目标点的第二方向的装置;和计算第一方向和第二方向之间的夹角的装置;根据计算出的夹角,旋转摄象机视线装置。
5.一种提示游戏者敌人发动攻击的方法,包括确定敌人的攻击已经开始还是将要开始;计算偏离游戏者位置的弹道;和处理弹道,一直到敌人连续射出的子弹数达到一预定数目。
6.如权利要求5所述的方法,其特征在于,弹道为弧形。
7.如权利要求5所述的方法,其特征在于,弹道和游戏者位置之间的偏离随连续射出的子弹数的增加而减小。
8.一种提示游戏者敌人发动攻击的系统,包括确定敌人的攻击已经开始还是将要开始的装置;计算偏离游戏者位置的弹道的装置;和处理弹道一直到敌人连续射出的子弹数达到一预定数目的装置。
9.如权利要求8所述的系统,其特征在于,弹道为弧形。
10.如权利要求8所述的系统,其特征在于,弹道和游戏者位置之间的偏离随连续射出的子弹数的增加而减小。
11.一种控制游戏中角色的方法,包括根据至少一种情况或行为确定角色的情绪因素;和根据情绪因素确定角色的行为。
12.如权利要求11所述的方法,其特征在于,情绪因素反映角色的愤怒和恐惧程度。
13.如权利要求12所述的方法,其特征在于,确定角色的情绪因素包括根据下述情况中的至少一种改变角色的情绪因素子弹从角色附近经过,角色受到不利的影响;另一个角色受到不利的影响;角色的表现;时间的流逝。
14.如权利要求13所述的方法,其特征在于,改变角色的情绪因素包括至少下述一种当子弹从该角色附近经过时,增加该角色的恐惧;当敌对角色击败该角色的一个战友时,增加该角色的愤怒;当敌对角色击败该角色的一个战友时,增加该角色的恐惧;当该角色受伤时,增加该角色的愤怒;当敌对角色受伤时,降低该角色的愤怒和恐惧;当该角色不能使敌对角色受伤时,增加该角色的愤怒而降低该角色的恐惧;和随着时间过去,降低该角色的愤怒和恐惧。
15.如权利要求12所述的方法,其特征在于,根据情绪因素来确定角色的行为包括至少下述一种当恐惧较弱时,增加角色的击中率;当恐惧较强时,降低角色的击中率;当愤怒较强时,增加角色的移动速度;当恐惧较强时,抑制角色的射击;当愤怒较强时,增加角色的射击速率。
16.一种用于控制游戏中角色的系统,包括用于根据至少一种情况或行为确定角色的情绪因素的装置;和用于根据所述情绪因素确定角色行为的装置。
17.如权利要求16所述的系统,其特征在于,所述情绪因素反映了角色的愤怒或恐惧程度。
18.如权利要求17所述的系统,其特征在于,所述用于确定角色情绪因素的装置包括根据下述情况中的至少一种改变角色的情绪因素的装置子弹从角色附近经过,角色受到不利的影响;另一个角色受到不利的影响;角色的表现;时间的过去。
19.如权利要求18所述的系统,其特征在于,用于改变角色的情绪因素的装置包括至少下述一种当子弹从该角色附近经过时,增加该角色的恐惧的装置;当敌对角色击败该角色的一个战友时,增加该角色的愤怒的装置;当敌对角色击败该角色的一个战友时,增加该角色的恐惧的装置;当该角色受伤时,增加该角色的愤怒的装置;当敌对角色受伤时,降低该角色的愤怒和恐惧的装置;当该角色不能使敌对角色受伤时,增加该角色的愤怒而降低该角色的恐惧的装置;和随着时间过去,降低该角色的愤怒和恐惧的装置。
20.如权利要求17所述的系统,其特征在于,用于根据情绪因素来确定角色的行为的装置包括至少下述一种当恐惧较弱时,增加角色的击中率的装置;当恐惧较强时,降低角色的击中率的装置;当愤怒较强时,增加角色的移动速度的装置;当恐惧较强时,抑制角色的射击的装置;当愤怒较强时,增加角色的射击速率的装置。
全文摘要
产生一种图像,其中从枪战游戏的游戏空间中的可移动摄像机视点获得敌人在该空间中的运动。提供了一控制装置(步骤S24和S27-S31),其通过利用与敌方相关地确定视点和本摄像机视点之间的位置关系,来对每一帧图象控制所述摄像机的视点运动。该装置判断摄像机视点的具体运动状态,移动摄像机视点并固定视线,计算从摄像机视点到注视点的方向与从摄像机视线在移动前的方向之间所成的角度,并根据计算的角度将摄像机视点转到注视点上。
文档编号A63F13/04GK1611286SQ20041009295
公开日2005年5月4日 申请日期1998年11月25日 优先权日1997年11月25日
发明者山本信 申请人:世嘉股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1