娱乐设备、存储媒介和决定天气的方法

文档序号:1564485阅读:260来源:国知局
专利名称:娱乐设备、存储媒介和决定天气的方法
技术领域
本发明涉及一种用于确定在显示单元的屏幕上显示的虚拟世界图像的天气的技术。
背景技术
目前,诸如电视游戏机这样的娱乐设备等变得很流行,它们能利用3D图像动画完成飞行模拟、驾车模拟等。
在这种娱乐设备中,操作者利用连接到该设备的操作单元来操作一个可操作对象,如飞机或汽车,在虚拟世界中到处移动该对象。这种娱乐设备产生动态图像并将这些动态图像显示在连接到该设备的显示单元屏幕上,其中动态图像是通过用虚拟照相机拍摄在该虚拟世界中运动的可操作对象得到的。
在常规的能完成飞行模拟、驾车模拟等的娱乐设备中,天气现象如云、雨和风都能被反映在屏幕所显示图像上或反映在可操作对象的可操作性上,以增加娱乐性。
但是,在这种常规的娱乐设备中,预先给虚拟世界中的每个区域分配预定天气现象。并且,天气现象分配给显示单元屏幕上所显示图像属于的区域,或可操作对象位于的区域,并且这些天气现象反映在该图像上或可操作对象的可操作性上。或者,所预定天气现象随机反映在显示单元屏幕上所显示图像上或可操作对象的可操作性上,以便随时间而改变天气现象。
因此,在前一种情况下,每个地区的天气现象是固定的,这样操作者就不能享受真实世界中经历天气变化的乐趣。另一方面,在后一种情况下,反映在显示单元屏幕所显示图像上的或反映在可操作对象可操作性上的天气现象是随机变化的,操作者不能预测将来下一步的天气,而这其实可由他/她依靠他/她的经验想出来。
因此,这些技术不能给出飞行模拟和驾车模拟的真实性。
本发明的说明所以,本发明的一个目的是要增加娱乐性,这是通过给反映在显示单元屏幕所显示的图像上、和反映在可操作操作对象可操作性上的天气现象以更强的真实性来实现的。
为了实现上述目的,在本发明中,根据为所讨论全局区域设置条件的行为模型,并考虑预先给定到所讨论全局区域的区域信息,决定预定时间间隔内每个全局区域中的天气,其中,每个全局区域是通过将表达整个虚拟世界的地图划分为多个全局区域而得到的。所述条件是由周期性变化的事件确定的。进一步,根据上述所讨论全局区域的天气,并考虑预先给定到所讨论局部区域的区域信息,决定预定时间间隔内每个局部区域中的天气,其中,每个局部区域是通过将每个全局区域划分为多个局部区域而得到的。
这里,由行为模型为每个全局区域设置的、并从周期性变化的事件中确定的条件是,例如,在每个全局区域内每个日期和时间上每个单位时间的日照量,由于地球的公转,它是一年日照量的波动;由于地球的自转,它又是一天日照量的波动。
再有,预先给定到每个全局区域的区域信息,例如,表示所讨论全局区域是陆地或海洋的一般信息。另一方面,预先给定到每个定位区域的区域信息,除了表示所讨论局部区域是陆地或海洋的一般信息外,还包括详细的信息,如所讨论局部区域的高度。
依据本发明,根据给定到所讨论全局区域的天气和预先给定到所讨论局部区域的区域信息,决定属于任意全局区域的任何局部区域的天气。因此,当将天气与所讨论区域附近的多个局部区域联系起来时,并考虑该局部区域的区域信息就有可能确定该任意局部区域的天气。
再有,依据本发明,任意全局区域的天气是根据从周期性变化的事件(例如,在所讨论全局区域中在当前日期和时间里每个单位时间内的日照量)确定的条件、和预先给定到所讨论全局区域的区域信息来决定的。因此,这就有可能在每个局部区域中象真实世界那样周期性地来改变天气。
由此,就有可能给反映在显示单元屏幕所显示图像上,和反映在可操作操作对象可操作性上的天气现象以更强的真实性,在这样的娱乐设备中就可以运行飞行模拟游戏、驾车模拟游戏等其它游戏了。
或者,本发明可以应用于这样的情况,其中图像仅显示在显示单元屏幕上,并且该图像是使用虚拟照相机拍照虚拟世界中的任意区域而得到的。在此情况下,用所述照相机拍照图像,可以给反映在该图像上的天气现象以更强的真实性,于是就实现了没有先例的娱乐设备。
按照本发明,例如,一种用于决定预定时间内每个全局区域的天气的装置包括第一装置,根据在相关时间中单位时间的日照量、预先给到所述全局区域的区域信息、以及所讨论全局区域和所述全局区域邻近全局区域中最新决定的温度、压力和水汽含量,来决定预定时间间隔内每个全局区域的温度、压力和水汽含量,所述日照量是由所述行为模型为所讨论全局区域而设置的;第二装置,用于在预定时间间隔内、根据由第一装置决定的每个全局区域的温度、压力和水汽含量,来产生一个模型,该模型作为一个全局天气模型来表达每个全局区域中的全局天气现象。
此外,一种用于决定预定时间间隔内每个局部区域的天气的装置,包括第三装置,根据所讨论局部区域属于的全局区域的温度、压力和水汽含量、预先给到所述局部区域的区域信息、以及所讨论局部区域和所述局部区域邻近局部区域中最新确定的温度、压力和水汽含量,来确定预定时间间隔内每个局部区域中的温度、压力和水汽含量;第四装置,用于根据由所述第三装置确定的每个局部区域中的温度、压力和水汽含量、预先给定到所述局部区域的区域信息、以及通过第二装置位于所述局部区域的全局天气模型,来产生一个模型,该模型作为一个局部天气模型来表达预定时间间隔内每个局部区域中的局部天气现象。
这里,全局天气现象是指如高/低压区域、空气流量等等影响整个虚拟世界天气的天气现象。而局部天气现象是指如云、雨、风等等影响局部天气的天气现象。
依据上述安排,所述的第一至第四装置可以互相单独且独立地设计(模块化),这样,就没有设计的负担了。
附图的简要说明

图1是表示在本发明一个实施例中应用的娱乐设备1和操作单元20的外观视图;图2是表示图1中操作单元20的视图;图3是说明利用图2中操作单元20的操作杆31a和32a可以输入什么值的坐标图;图4是表示图1中娱乐设备1的硬件结构示例图;图5是说明安装在娱乐设备1的盘片安装部分3上的光盘85的数据结构示意图;图6是表示制作图4的娱乐设备1中实现的飞行模拟游戏的软件结构示意图;图7是表示图6所示天气决策部分808的软件结构示意图;图8是说明图7所示的全局天气决策部分901决定天气的每个全局区域952的概念的视图;图9是说明由如图7所示全局天气决策部分901产生的作为全局天气模型的高/低压区域模型视图;图10是说明由如图7所示的全局天气决策部分901产生的作为全局天气模型的前方模型视图;图11是说明由如图7所示的全局天气决策部分901产生的作为全局天气模型的气流模型视图;图12是说明图7所示的局部天气决策部分902决定天气的每个局部区域956的概念的视图;图13是表示图6的天气对象定位部分809的软件结构示意图;图14A和14B是通过图13所示的天气对象定位部分809,说明位于屏幕上的云对象的示意图;图15是通过图13所示的天气对象定位部分809,说明位于屏幕上的雨对象的示意图;图16是通过图13所示的天气对象定位部分809,说明位于屏幕上的闪电对象的示意图;图17是通过图13所示的天气对象定位部分809,说明位于屏幕上的旋风对象的示意图;图18是图6所示的用于制作在娱乐设备1上实现的飞行模拟游戏的软件结构的操作流程图;并且图19是图6所示的用于制作在娱乐设备1上实现的飞行模拟游戏的软件结构中的天气决策部分808的操作流程图。
实现本发明的最好模式下面将说明本发明的一个实施例。
首先将说明依据本发明一个实施例的娱乐设备的硬件结构。
图1是表示依据本发明一个实施例的娱乐设备的外观视图。
该娱乐设备读取保存在光盘如CD-ROM或DVD-ROM中的游戏程序,并根据操作者(玩游戏者)发出的指令执行程序。这里,游戏的执行主要是指根据玩游戏者发出的指令,运动连接到该娱乐设备上的可操作对象(如表示飞机、汽车等等的对象),并且根据该运动来控制动态图像和声音的显示,以便使得游戏进行下去。
如图所示,娱乐设备1的主体2包括位于中心的盘片安装部分3、在其上安装光盘如CD-ROM或DVD-ROM作为提供例如电视游戏或多媒体数据的应用程序的存储媒介;用于复位游戏的复位开关4;电源开关5;用于光盘安装操作的光盘操作开关6,如两个插槽7A和7B。
例如,插槽7A和7B可以连接两个操作单元20,以使得两个玩游戏者可以玩飞行游戏或比赛的游戏。另外,在这些插槽7A和7B中可以安装存储卡设备26,从存储卡设备26中可以读取游戏数据或者将游戏数据保存(存储)在存储卡设备26中,或者,还可以在插槽7A和7B中安装可以独立于主体2执行游戏的便携式电子设备100。
操作单元20包括第一个和第二个操作部分21和22,还有左按钮23L、右按钮23R、起动按钮24、选择按钮25,还有模拟操作部分31和32、用于选择这些操作部分31和32的操作模式的模式选择开关33、还有用于显示已选择的操作模式的显示部分34。
模拟操作部分31和32具有各自的操作杆31a和32a,每个具有这样的结构,即能够相对于通过支点a的轴b,倾斜于一个特定支点a,并且能在倾斜状态下旋转。操作单元20检测操作杆31a和32a对于轴b的倾斜程度以及这些倾斜的方向,并输出相应于坐标轴X-Y上坐标值的信号,该坐标值由这些倾斜程度和倾斜方向确定。如图3所示表示了这样的一个坐标值,根据操作杆31a和32a在上下方向上的倾斜程度,Y(垂直)方向的值表示为从“0”到“255”范围的256个值,根据操作杆31a和32a在左右方向上的倾斜程度,X(垂直)方向的值表示为从“0”到“255”范围的256个值。
下面的图4表示娱乐设备1的结构。
如图所示,该娱乐设备包括1控制系统50,该控制系统50包括一个中央处理单元(CPU)51、它的外围设备及其它的部件;图形系统60,该系统包括图形处理单元(GPU)62,用于在帧缓冲器63中形成画面;声音系统70,该系统包括声音处理单元(SPU)71,它用于产生音乐声音和声音效果等的音频信号,以及其它部分;光盘控制部件80,用于控制存储有应用程序或多媒体数据的光盘;通信控制部件90,用于控制从操作单元20来的信号,而来自玩游戏者的指令输入到操作单元20中,还用于控制从存储游戏等的设置的存储卡26上或便携式电子设备100上输入和输出的数据;用来连接上述部件的一条总线BUS,等等。
控制系统50包括CPU 51;执行中断控制和直接存储器存取(DMA)传递控制的外围设备控制部分52;采用随机存取存储器(RAM)的主存储器53;只读存储器(ROM),用于保存程序,如所谓的操作系统,以及控制主存储器53、图形系统60和声音系统的程序等等。
CPU 51例如为RISC-CPU(精简指令集的中央处理器),通过执行保存在ROM 54中的操作系统来控制整个娱乐设备1。
当给该娱乐设备加电之后,控制系统50的CPU 51执行保存在ROM 54中的操作系统。这样,CPU 51控制图形系统60和声音系统70。
另外,当操作系统运行时,CPU 51通过执行操作检测等来初始化整个娱乐设备1,然后,控制光盘控制部分80来运行应用程序,例如存储在光盘中的游戏。通过运行游戏等这样的程序,CPU 51根据玩游戏者的输入控制图形系统60、声音系统70等,以便控制图像的显示和声音效果和音乐声音的产生。
进一步,图形系统60包括几何传递引擎(geometry transfer engine,GTE)61,用来处理坐标变换等;GPU 62,用于依据来自CPU 51的绘图指令来生成图像;帧缓冲器63,用于保存GPU 62产生的图像;图像解码器64,用于解码根据正交变换如离散余弦变换压缩编码的图像数据。
例如,GTE 61被提供了并行执行多个计算的并行算术单元,并且执行用于坐标变换的矩阵或向量计算。详细地说,当应用程序例如保存在光盘中的游戏程序利用所谓的3D图像时,该GTE 61会生成一个虚拟的3D对象作为一组三角形。另外,GTE 61执行各种计算来产生利用虚拟照相机拍照而获得的图像,或者换句话说,例如,在再现(rendering)情况下执行透视变换(perspective transformation)(在构成3D对象的每个多边形的顶点投影到虚拟照相机屏幕的假定下坐标值的计算)。
其次,如果有必要的话使用GTE 61,GPU 62通过在帧缓冲器63的3D对象的透视,产生一个图像,并输出表达所产生图像的视频信号。这里,作为移去透视图中隐含线和表面的方法,应用了如Z缓冲器方法、扫描线方法或射线跟踪方法。作为阴影的方法使用了如平面阴影、Gouraud阴影或射线跟踪方法。另外,作为表达3D对象表面的材料和模式的方法,使用了例如纹理结构映射方法。
再次,帧缓冲器63是所谓的双端口RAM,可以同时由GPU 62执行再现(rendering)或从主存储器中转递并读取从而显示。另外,除了一个从其中读取数据用于再现和显示的图像区域外,该帧缓冲器63还具有一个纹理结构区域,在其中保存上述纹理结构映射方法中所使用的纹理结构等。
再次,在CPU 51的控制下,图像解码器64解码保存在主存储器53中的静态图像或动态图像的图像数据,并将解码后的数据保存到主存储器中。通过将该再生的图像数据经过GPU保存到帧缓冲器63中,该数据可以用作由GPU 62再现的上述图像的背景。
再次,声音系统70包括SPU 71,用于输出音频信号例如音乐声音和声音效果,还包括声音缓冲器72,由SPU71将波形数据等的数据保存到声音缓冲器72中。
SPU 71具有ADPCM(Adaptive Differentia1 PCM,自适应差分脉冲编码调制)解码功能,用于再生已经过自适应预测编码的音频数据;还具有再生功能,用于通过再生保存在声音缓冲器72中的波形数据,来再生和输出音频信号如声音效果;还有调制功能,用于调制和再生保存在声音缓冲器72中的波形数据。由于这些功能,依据CPU 51中的指令,根据保存在声音缓冲器72中的波形数据,构造该声音系统71以产生音频信号例如音乐声音和声音效果,或换句话说,可用作所谓的采样声源。
再次,光盘控制部分80包括光盘设备81,用于再生保存在光盘中的程序、数据等;解码器82,例如可用于解码在记录时被加上了如纠错码(errorcorrection codes,ECC)的程序、数据等;以及缓冲器83,用于暂时保存光盘设备81中的数据,以加速从光盘中读取数据度。该解码器82与CPU 84连接。
这里,作为保存在光盘中并被光盘设备81读取的音频数据,除了上述的ADPCM数据外,还可以是上述的由音频信号模数转化得到的所谓的PCM数据。ADPCM数据由解码器82解码,随后提供给SPU 71。当该数据在SPU71中经数模转换的处理后,它将作为音乐声音、音响效果等从与娱乐设备1连接的音响系统如视听设备中输出。PCM数据在SPU 71中经数模转换的处理后,同样它将作为音乐声、声音效果等从音响系统中输出。
其次,通信控制部分90包括通信控制器91,控制经过BUS总线与进行的CPU 51通信。通信控制器91包括操作单元连接部件12,用于从玩游戏者输入指令的操作单元20被连接到该部件12;以及存储卡插入部件8A和8B,它们各自与存储卡26或便携式电子设备100连接,作为辅助存储器使用,例如,设置游戏数据。
为了让玩游戏者输入指令,与操作单元连接部件12连接的操作单元20,以同步通信的方式,将以上述的按钮和操作部分的状态发送到通信控制器91中。然后,通信控制器91将按钮和操作单元20操作部分的状态发送到CPU 51中。
这样,玩游戏者的指令就发送到CPU 51中,然后CPU 51将根据现在运行的游戏程序等,执行相应于玩游戏者指令的处理。详细地来讲,与控制系统50中和图形系统60中的每个其它部分协作,CPU 51将产生包括可操作对象的图像,并将该图像显示在显示单元的屏幕上。然后,根据从玩游戏者输入到操作单元20的指令,通过顺序地产生可操作对象的改变了位置和姿态的图像(若需要还得改变每个图像的背景),并通过将这些图像显示在显示单元的屏幕上,CPU 51产生动态图像,好象是在依据玩游戏者输入到操作单元20的操作内容操作该可操作对象。再有,如果需要,CPU 51还可配合音响系统,控制音响系统输出的声音或音乐。
这里,例如,当读取程序、显示或产生图像时,图像数据应在主存储器53、GPU 62、图像解码器64、解码器82等设备之间高速传递。因此,如上所述,娱乐设备1能完成所谓的DMA传递,或者换句话说,在外围控制部分52的控制下,不用CPU 51参与,就能在主存储器53、GPU 62、图像解码器64、解码器82等设备之间直接传递数据。于是,CPU 51数据传递的负载可以减小,因此可以实现高速数据传递。
再有,当运行中游戏的设置数据等应该保存时,CPU 51将向通信控制器91发送要保存的数据,然后通信控制器91将CPU 51的数据写入安装在存储卡插入部件8A和8B插槽中的存储卡26或便携式电子设备100中。
这里,该通信控制器91有内置的保护电路以防止电气损坏。存储卡26或便携式电子设备100与BUS总线分离,并且在娱乐设备的主体处于接通电源的状态下,它们也可以被安装或去掉。因此,当存储卡26或便携式电子设备100的存储容量不够时,就可以安装一个新的存储卡等而不需中断娱乐设备主体的电源。这样,通过安装新的存储卡,就可以将必需的数据写入新的存储卡,而不会丢失需要备份的游戏数据。
这里,并行I/O接口(PIO)96和串行I/O接口(SIO)97作为连接存储卡26或便携式电子设备100和娱乐设备1之间的接口。
在上文中,说明了娱乐设备1的硬件结构。
下面将说明当CPU 51执行从安装在盘片安装部分3的光盘中读取应用程序时,在具有上述结构的娱乐设备1中实现的飞行模拟游戏。
这里,飞行模拟游戏是这样一种游戏,在该游戏中,通过使用连接到娱乐设备1上的操作单元20,操作一个表达例如飞机这样的可操作对象,在模仿真实世界中的虚拟3D世界中运动,从而使玩游戏者可以经历虚拟地驾驶飞机的体验。娱乐设备1产生一个CG动画图像,该动画图像是通过一个虚拟照相机拍照在这个虚拟世界中运动的可操作对象而获得的,并且在连接到娱乐设备1本身的显示单元的显示屏上显示所产生的图像。
这里,在依据本发明实施例实现的飞行模拟游戏中,天气现象如云、雨和风被操作单元20反映在CG动画图像的图像上和可操作对象的可操作性上,其中该动画图像显示在显示单元屏幕上,以增加娱乐性。进一步,有关本发明实施例实现的飞行模拟游戏的虚拟3D世界里的时间流逝,时间的差异、日期排列等是忽略不计的,而是在所有的虚拟世界里使用统一的时间系统。这里,在真实世界里时间流逝的速度和在虚拟世界里时间流逝的速度没用必要相互一致,例如,在真实世界里的一天可能相应于虚拟世界里的一年。
首先将说明光盘的数据结构。
图5是说明安装在盘片安装部分3中的光盘85数据结构的示意图。
如图所示,光盘85保存各种数据,包括实现飞行模拟游戏的应用程序(PG)501、可操作对象数据(DA)502、地图数据库(DB)503、和天气对象数据(DA)504。可操作对象DA 502包括指定可操作对象(表达飞机的对象)的3D格式、纹理结构等所需要的各种信息,该可操作对象是在飞行模拟游戏中使用操作单元20由玩游戏者操作的。地图DB 503保存指定虚拟世界中各地域地理特征的各种地图成分的信息,其中可操作对象可以在飞行模拟游戏中运动。天气对象DA 504保存指定各种天气对象的3D格式、纹理结构等所需的各种信息,而天气对象指表达如云、雨、雪、闪电等发生在虚拟世界中的天气现象。
下面将说明在虚构娱乐设备中实现飞行模拟游戏的软件结构。
图6是表示用于制作在娱乐设备1中实现的飞行模拟游戏的软件结构示意。该图所示的每个成分是当CPU 51执行由光盘控制部分80从安装在盘片安装部分的光盘85中读取应用程序,并调入到主存储器53中时,作为一个过程实现的。
在图6中,当由保存在地图DB 503中的所有地图成分构造的整个虚拟世界中每个区域的预定条件均满足时,天气决策部分808产生表达云、雨、雪、风等的天气模型。其细节将在后面说明。
操作内容重复部分801根据玩游戏者从操作单元20输入的指令,确定在虚拟世界中运动的可操作对象的运动速度和运动方向。该处理将以固定的时间间隔执行。
例如,对可操作对象的运动速度的决定是通过向操作单元20的第一个和第二个操作部分21和22,左按钮23L和右按钮23R之一给出与调节油门相同的功能来实现的。即,当操作单元20输出按钮的检测信号,该按钮被给予与调节风门(throttle)相同功能时,就作出拉开风门(throttle-on)的判定,而当没有输出所讨论按钮的检测信号时,就作出合上风门(throttle-off)的判定。在判定为拉开风门的情况下,通过将与拉开风门相应的预定加速速率和从最新确定的运动速度中由拉开风门持续时间而得到的速度,加到可操作对象最新确定的运动速度上,由此确定可操作对象的运动速度。另一方面,在合上风门的情况下,通过从可操作对象最新确定的运动速度中,减去与合上风门相应的预定减速速率,以及从最新确定的运动速度中由合上风门持续时间而得到的速度,由此确定可操作对象的运动速度。
进一步,例如,通过向操作单元20的操作杆31a和32a给予与控制杆相同的功能,确定可操作对象的运动方向。即,根据由于作用到操作杆31a和32a上的操作而由操作单元20输出信号的X坐标值,以及在X-Y坐标系统中相应的坐标值,确定被操作的对象表达的飞机的横向倾斜,飞机的横向倾斜对应于X-Y坐标系统中的坐标。并且,根据所述信号的Y坐标值确定飞机前端的上升或下降。
再进一步,根据表达被操作对象的飞机前端的横向倾斜以及上升或下降,操作内容接收部分801得到关于可操作对象最新确定的运动方向上以一个相对运动方向的变化,并且所得到的变化加到可操作对象最新确定的运动方向上。这样,就确定了所讨论可操作对象的运动方向。
接下来,在图6中,对象位置计算部分802,以固定的时间间隔,执行计算虚拟世界中可操作对象位置和姿态的处理。
详细地说,可操作对象的当前位置是从可操作对象最后计算的位置和由操作内容重复部分801确定的可操作对象的最新运动速度中计算出的。进一步,根据由操作内容重复部分801确定的可操作对象的最新运动方向,计算出可操作对象的当前姿态。
这里,对象位置计算部分802检查天气决策部分808是否在包括最新计算的可操作对象的位置的区域中产生表达风的天气模型。当产生该模型时,根据该模型指示的风的方向和速度,通过修改最新计算的可操作对象的位置和姿态,风的效果反映在可操作对象的位置和姿态上。
这里,操作单元20和娱乐设备1的主体2可以实现双向通信,而操作单元20可以这样构造,使得当检测到主体2的反馈信号后,操作单元20振动或改变需要操作模拟操作部分31和32的力。在这种情况下,当风速超过或等于预定值时,通过操作者使用操作单元20,对象位置计算部分802可以输出反馈信号,以反映风对可操作对象的可操作性的影响。
3D地图产生部分803直接从存储在光盘85中的地图DB 503中读取地图成分,这些地图成分将被安排在对象位置计算部分802计算出的可操作对象的位置附近,并且将这些地图成分安排在虚拟的世界中。或者,3D地图产生部分803从地图DB 503中读取地图成分,地图DB 503是从光盘85中读取并临时存放在例如主存储器53中。这样,就产生了扩散到可操作对象的位置附近的地理特性。
这里,当可操作对象的位置由位置对象计算部分802计算时,不必每次都执行由3D产生部分803产生地理特性的处理。例如,地理特性可以在对象位置计算部分802计算可操作对象的位置多次之后才产生一次。在该情况下,考虑将可操作对象可以运动的范围认为是由对象位置计算部分802多次计算可操作对象位置的结果(例如,该范围可以根据预置的可操作对象最大运动速度进行估计),就足够从地图DB 503中读取安排在该范围附近的地图成分,并足够将这些地图成分安排在虚拟世界中了。
天气对象定位部分809检查天气决策部分808是否已产生有关虚拟世界相应区域中表达云、雨、雪等的天气模型,对于该虚拟世界,地理特性由3D地图产生部分进行扩散(从整个虚拟世界中,在可操作对象位置附近的区域)。在产生天气模型的情况下,天气对象的天气对象数据,如3D形式和纹理结构,这些表达相应于该模型的天气的现象,直接从存储在光盘85中的天气对象DA504读取,或者,从天气对象DA504中读取,而天气对象DA504是从光盘85读取,并暂时保存在主存储器53、帧缓冲器63等等之中。根据该天气模型所示的天气现象的大小或强度(例如,在云的情况下,其大小和厚度,在雨或雪的情况下,降雨量或降雪量),根据以前读取的其3D形式和纹理结构,天气对象定位部分809产生由该模型所示的天气现象所表达的天气对象,并在虚拟的世界中定位。其细节将在后面说明。
可操作对象定位部分804将可操作对象定位在虚拟世界中由对象位置计算部分802所计算出的可操作对象的最新位置上,可操作对象的3D格式等由保存在光盘85中的可操作对象DA502具体说明,在虚拟世界中地理特性由3D地图产生部分803扩散。这时,定位可操作对象以使得可操作对象的姿态变成由对象位置计算部分802所计算的可操作对象的最新姿态。
例如,在图4中,3D地图产生部分803、可操作对象定位部分804和天气对象定位部分809是由CPU使用GTE 61来实现的。
接下来,在图6中,照相机定位部分805执行设置虚拟照相机定位位置(即一个观察点)和方向(即视线的方向)的处理,其中,虚拟照相机用于从虚拟3D世界中产生出二维图像,而在该3D世界中,地理特性、天气对象和可操作对象由3D地图产生部分803、天气对象定位部分809和可操作对象定位部分804定位。每当对象定位计算部分802计算可操作对象的位置和姿态时,就执行上述的这种处理。
例如,将一个新的照相机定位位置设置为这样的直线上的任意位置,该直线连接最后计算出的照相机的定位位置并在可操作对象运动方向向后的方向上连接距该对象的最新位置有一个预定距离(或相应于可操作对象运动速度的距离)的位置,其中,该对象的最新位置由对象位置计算部分802计算出。
例如,进一步,照相机的新方向被设置为这样的方向,照相机新的定位位置在该方向上看到这样一个位置,该位置在沿可操作对象运动方向向前的方向上,并距离该对象最新位置有预定距离(或与该可操作对象运动速度相应的距离),其中,该对象的最新位置是由对象位置计算部分802计算出的。
图像产生部分806产生一个由虚拟照相机拍照虚拟的3D世界而得到的二维图像,在这个虚拟的3D世界中,地理特性、天气对象和可操作对象由3D产生部分803、天气对象定位部分809和可操作对象定位部分804定位。详细地说,二维图像是通过这样的方法产生的将3D世界中存在的可操作对象、天气对象和地图成分投影(再现)到虚拟照相机屏幕上,并将虚拟照相机的定位位置设置为观察点,而将照相机的方向设置为视线方向。
显示控制部分807将图像产生部分806产生的二维图像转换为视频信号,并将该视频信号输出到连接在所述娱乐设备1上的显示单元中。
例如,在图4中,图像产生部分806和显示控制部分807是由CPU 51使用GTE61和GPU62来实现的。
接下来,将进一步说明图6所示的天气决策部分808和天气对象定位部分809。
首先说明天气决策部分808。
图7是图6所示的天气决策部分808的原理框图。
如图所示,天气决策部分808包括一个全局天气决策部分901和局部天气决策部分902。
首先说明全局天气决策部分901。
如图8所示,全局天气决策部分901决定每个全局区域(X,Y)952中的天气,全局区域(X,Y)952是通过将表达整个虚拟世界的地图划分为多个区域来得到的,整个虚拟世界由保存在地图DB 503中的所有地图成分组成。这里,坐标值X代表经度。X=0的线953表示子午线,随着X增大,位置将更向西。另一方面,坐标值Y代表纬度。Y=0的线954表达赤道,当Y>0时,随着其绝对值变大,位置将更向北,当Y<0时,随着其绝对值变大,位置将更向南。
如图7所示,全局天气决策部分901包括行为模型存储部分903,全局区域信息存储部分904、温度/压力/水汽含量决策部分905和全局天气模型产生部分906。
行为模型存储部分903存储行为模型。这里,行为模型是通过这样得到的用构成虚拟世界的保存在地图DB 503中的地图成分,将真实世界中通常出现和周期变化的事件模拟成虚拟世界中通常出现和周期变化的事件。详细地说,为了完成模拟,在真实世界每个区域的每月-日-时间中,每个单位时间的日照量(其依赖于由于地球公转引起的一年日照量的波动、以及由于地球自转引起的一天日照量的波动),将其作用到图8所示的每个全局区域(X,Y)952中每月-日-时间中每个单位时间的日照量上。
这里将说明一个行为模型的例子,该行为模型用于定义在每个全局区域(X,Y)952的每月-日-时间每个单位时间的日照量,其依赖于由于地球公转引起的一年日照量的波动、以及由于地球自转引起的一天日照量的波动。(1)由于地球公转引起的一年日照量的波动关于地球上的每个区域,一年日照量的波动具有这样的表现,使得它在一个特定日期变为最大值,而在半年以后变为最小值。进一步,日照量变成最大的那天在北半球和南半球之间互差半年。再进一步,越接近赤道,日照量的绝对值就越大。这样,当虚拟世界中的一年只用天而不用月来表达时(即一年表达成第1天到第365天),在每个全局区域952中的一天Hd中的日照量可以用下面的表达式来模拟当dMAX-90days<d<dMAX+90days时Hd=HMAX-a·ΔdMAX,并且,当d≤dMAX-90days或dMAX-90days≤d时Hd=HMIN+b·ΔdMIN....方程1这里,dMAX和dMIN分别是所讨论的全局区域中日照量最大和最小的天。dMAX和dMIN是被设置为相互运动半年(365/2=182或183天)。进一步,对于Y>0的全局区域952的dMAX,和对于Y<0的全局区域952的dMAX,设置这两个dMAX之间dMAX相互差半年。
进一步,ΔdMAX和ΔdMIN分别是指从那一天d到那一天dMAX的天数,和从那一天d到那一天dMIN的天数。
HMAX和HMIN分别是在所讨论的全局区域952中,那一天dMAX的日照量(最大日照量)和指那一天dMIN的日照量(最小日照量)。这些值是考虑所讨论全局区域952的经度和纬度来决定的。
进一步,a和b是任意的系数。当Y接近0时系数a设置得越小。另一方面,随着Y的绝对值的变大系数b设置得越小。这样,在赤道附近的全局区域中,热天较长,而在北极和南极附近的全局区域中,冷天较长。(2)由于地球自转引起的一天日照量的波动关于在地球上的每个区域,一天的日照量具有这样的表现,使得它在一个特定时间变为最大值。进一步,随着所讨论区域位置越向西,日照量变为最大的时间就越晚。当虚拟世界中的一天只用时间而不用上午和下午来表达时(即一天表达为0000-2359),在每个全局区域952中的时间t上的日照量Ht用下述方程模拟Ht=Hd-c·ΔtMAX假定,如果Ht<0则用Ht=0代替。
....方程2在上述方程中,tMAX是在所讨论全局区域952中当日照量为最大的时间。至于最西的全局区域952(X=0),tMAX被设置为tMAX=0000。随着全局区域越靠近西边,时间tMAX就变得越晚。至于最西的全局区域952,tMAX被没置为tMAX=2359。
进一步,ΔtMAX是时间t与时间tMAX间隔的时间段。
C是一个任意的系数。例如,该系数按下述方法设置,即至于在最北端和最南端的附近的全局区域952,系数c的值随着天d而变化,使得当d等于天dMAX时,Ht变为Ht>0,而不管ΔtMAX,当d等于天dMIN时,Ht变为Ht<0,而不管ΔtMAX。这样,在最北端和最南端的附近的全局区域952中,太阳不在(极昼(night with a midnight sun))这天dMAX降落,也不在这天dMIN升起。进一步,从最北端或最南端越接近赤道,设置系数c使得在d等于天dMAX时,Ht变为Ht>o的时间段ΔtMAX变得越短,在d等于天dMIN时,Ht变为Ht<0的时间段ΔtMAX变得越短。至于在赤道附近的全局区域952中,设置系数c使得当ΔtMAX=6时,Ht=0,而不管天d,使得一天的日照持续时间统一为12个小时。
通过将上述方程1中的Hd代替方程2中的Hd,可以模拟在每个全局区域952中的每月-日-时间中每个单位时间的日照量的波动。
接下来,关于每个全局区域952,全局区域信息存储部分904保存有关所讨论全局区域952中陆地和海洋(包括湖泊)之间的区域比例的信息,作为全局区域信息。
温度/压力/水汽量决策部分905决定每个全局区域952中的温度、压力和水汽量。详细地说,它们按下述的方法确定。(1)确定每个全局区域952的温度该温度通过从最新确定的温度中获得一个温度变化量并将该温度变化量加到最新确定的温度上而计算出。该温度的变化量是根据下述因素获得的在所述全局区域952中的日照量的波动、从该全局区域的陆地和海洋之间的区域比率中确定的具体热量、以及受邻近全局区域952的影响或者对邻近全局区域952的影响。这样,在每个全局区域952中的时间t上的温度Tt由下述的方程确定,例如Tt=Tt'+ΔT+∑TneighborΔT=e.ΔH ....方程3在上述方程中,Tt'是最新确定的温度(在时间t'上的温度)。为了确定第一次的温度,初始值可以使用Tt',对于全局区域中每个不同的纬度值来说,初始值是不同的,当讨论中的全局区域越接近赤道(X=0)时,初始值温度越高。
另外,ΔT是从时间t'到时间t的温度变化量,并且由所讨论全局区域952中日照量变化量以及全局区域952中的具体热量决定。进一步,H是在所讨论全局区域952中,在时间t的日照量Ht和在t'时间的日照量Ht'之间的差值所决定的,即在从t到t'这段时间中的日照量的变化量(Ht-Ht'),并且这个差值H是由存储在行为模型存储部分903中的行为模型确定的。再进一步,e是一个相应于由所讨论全局区域的全局区域信息(陆地和海洋之间的区域比率)所确定的特定热量的系数,并且该全局信息保存在全局区域信息存储部分904中。设置这个系数e,以使得随着陆地比率的越大它变得越小,而海洋比率越大,这个系数越大。这样,在所述全局区域952中的海洋比率越大,ΔT变得越小(难于加热,难于冷却),而随着陆地比率变大,ΔT变得越大(易于加热,易于冷却)。
进一步,∑Tneighbor是受邻近所讨论全局区域952的8个全局区域952的影响,或者是对邻近所讨论全局区域952的8个全局区域952的影响而引起的温度变化量(在图8所示的地图951中,在边沿上全局区域的5个邻近全局区域952,在四个角的每个角上全局区域的3个邻近全局区域952)。这里,当所讨论全局区域952的气压称为P,并且一个邻近全局区域952的气压称为Pneighbor时,那么,由所述一个全局区域952引起的温度变化量Tneighbor可以由例如下述的方程确定。
当P-Pneighbor>0时Tneighbor=-g(Tt'-Tneighbor,t')(P-Pneighbor),并且,当P-Pneighbor<0时Tneighbor=g(Tneighbor,t'-Tt')(Pneighbor-P)....方程4其中,g是一个任意系数,而Tneighbor,t,是在所讨论的邻近全局区域中最后计算的温度(在时间t’的温度)。(2)决定每个全局区域中的压力压力与温度紧密相关(波义耳-查尔斯定律(Boyle-Charle’s law))。这样,在每个全局区域时间t的压力Pt可以由下述方程决定,例如Pt=f·Tt....方程5这里,f是一个任意系数。(3)决定每个全局区域的水汽含量水汽含量是通过从最新决定的水汽含量中获得水汽的变化量,并通过将该变化量加到最新确定的水汽含量中计算出来。这个从最新确定的水汽含量中得到的变化量是根据以下因素确定的在所讨论全局区域952中的当前时间的日照量、从所讨论全局区域的陆地和海洋之间的比率中确定的全局区域的水含量、受邻近全局区域952的影响或对邻近全局区域952的影响、以及根据由下面说明的局部天气决策部分902而产生的雨/雪模型的降雨量或降雪量。这样,在每个全局区域952中,在时间t的水汽含量Lt由下述的方程确定,例如Lt=Lt'+ΔL+∑Lnighbor-MlocalΔL=(Tt·S)/j假定如果Lt>LMAX,那么,Lt由下式给定Lt=LMAX....方程6在上述方程中,Lt'是最新确定的水汽含量(在时间t'的水汽含量)。当第一次确定水汽含量时,例如,可以使用Lt'作为初始值,该值随着在全局区域的海洋比率增加而变大。
进一步,ΔL是在所讨论全局区域952中,从时间t'到时间t所产生的水汽。Tt是在所讨论全局区域952中,在时间t的温度。S是一个系数,相应于存储在全局区域信息存储部分904中的所讨论全局区域中的全局信息(陆地和海洋之间的比率)所确定的水含量。设定系数S使得随着陆地比率增加时S变得越小。进一步,j是一个任意系数。这样ΔL随着所讨论全局区域952中的海洋比率的增加(产生更多的水汽)变得更大,随着陆地比率的增加(只产生很少的水汽)变得更小。
进一步,∑Lneighbor是水汽含量变化量,它受邻近所讨论全局区域952中8个全局区域952的影响或对邻近所讨论全局区域952中8个全局区域952产生的影响(在图8所示的地图951中,在边沿上全局区域的5个邻近全局区域952,或在四个角的每个角上全局区域的3个邻近全局区域952)。这里,当所讨论的全局区域952的压力称为P,并且一个邻近的全局区域952中的压力称为Pneighbor时,那么,由所述一个全局区域952引起的水汽含量Lneighbor的变量值可以由下述方程决定,例如,当P-Pneighbor>0时Lneighbor=-k(Lt'-Lneighbor,t')(P-Pneighbor),并且,当P-Pneighbor<0时Lneighbor=k(Lneighbor,t'-Lt')(Pneighbor-P)....方程7其中,k是一个任意系数,Lneighbor,t'是在所讨论的邻近全局区域中最后计算的水汽含量(在时间t'的水汽含量)。
进一步,Mlocal是在所讨论全局区域952中正在消失的水汽含量,它是根据下述局部天气决定部分902产生的雨/雪模型,由降雨和降雪的总量确定,并位于属于所讨论全局区域952的每个局部区域中。
并且,LMAX是所讨论全局区域的饱和水蒸气,并且该饱和水蒸气LMAX是由所讨论全局区域952的温度Tt或压力Pt确定的。
接下来,全局天气模型产生部分906产生一个全局天气模型,即表达位于每个全局区域952中的全局天气模型的模型。这个全局天气模型是根据全局区域952的温度、压力和水汽含量在给定时间间隔内产生的,其中,全局区域952的温度、压力和水汽含量是由全局区域952的温度/压力/水汽含量决策部分905决定的。这里,表达全局天气现象的模型是指影响整个虚拟世界的天气的天气现象。详细地说,高或低压区,前部或气流是作为全局天气模型产生的。在下面,将说明产生每一个全局天气模型的示例。(1)高/低压区模型每个全局区域952的压力,由温度/压力/水汽含量决策部分905决定,是用于在表达整个虚拟世界的地图951中定位压力线的。例如,如图9所示,根据一般规则压力线互相不交差,没有分支,每条压力线是一条封闭线(即回路)等等,通过设置虚拟压力线963,每条压力线连接地图951中气压相同的全局区域(例如误差小于3%),这样来定位压力线。但是,至于说位于地图951一边上的压力线,是否封闭是无关紧要的。
接下来,在定位压力线之后,检测在其中两条或多条压力线被重复定位的部分。这样,在图9所示的例子中,将检测部分A和部分B。这样,在检测其中两条或多条压力线重复定位的部分后,关于每个这样的部分,获得的是在其中最内部的压力线穿过的全局区域952的平均压力P1,在其中最外部压力线穿过的全局区域952的平均压力P2,以及从最内部压力线到最外部压力线范围内的全局区域的平均数1。这里,由于压力线不相互穿过,所以从最内部压力线到最外部压力线范围内的全局区域的平均数1至少是2(在最外部压力线穿过邻近全局区域952的每个全局区域952,而最内部的压力线穿过全局区域952的情况下,即图9所示的部分B的情况)。
接下来,在获得其中有最内部的压力线穿过的全局区域中的平均压力P1之,获得其中有最外部压力线穿过的全局区域中的平均压力P2,以及从最内部压力线到最外部压力线范围内的全局区域的平均数l之后,判断下述表达式是否满足。
(P1-P2)/l>α....方程8(P1-P2)/l<-α ....方程9其中,α是任意值,作为产生高/低压力区域模型的预先设置的条件。
当满足上述方程8时,将所讨论的部分设置为高压区域模型。详细地说,高压区域模型的大小(即高压影响的范围)是由与所讨论部分相应的最外压力线穿过的全局区域952以及全局区域952内部存在的一些全局区所定义的。并且,高压区域模型的中心是由最内压力线穿过的全局区域952和全局区域952内部存在的一些全局区所定义的。进一步,根据(P1-P2)/l的绝对值,例如,高压区域模型的强度表达为“强”、“一般”、“弱”等。并且,保持高压区域模型的大小、中心和强度,作为具体化高压区域模型的信息。
另一方面,当满足上述方程9时,将所讨论部分设置为低压区域模型。详细地说,低压区域模型的大小(即高低影响的范围)是由与所讨论部分相应的最外压力线穿过的全局区域952以及全局区域952内部存在的一些全局区所定义的。并且,低压区域模型的中心是由最内压力线穿过的全局区域952和全局区域952内部存在的一些全局区所定义的。进一步,根据(P1-P2)/l的绝对值,例如,低压区域模型的强度表达为“强”、“一般”、“弱”等。并且,保持低压区域模型的大小、中心和强度,作为具体化低压区域模型的信息。(2)前锋(front)模型前锋是在边界上产生的,在该边界上具有不同的浓度和温度(压力)的两个气团相向运动。这样,如图10所示,根据上述(1)的高/低压区域模型的设置位于地图951上。当两个区域模型相邻时,就在邻近这些压力模型边界的全局区域952中设置前锋模型,并且保持这些全局信息,作为具体化该前锋模型的信息。图10的例子表示这样的情况,其中部分A被设置为图9的高压区域模型,部分B被设置为图9的低压区域模型。在这种情况下,被粗线围绕起来的部分C被设置为前锋模型。(3)气流模型气流模型从高压区域流向低压区域。这样,如图11所示,依据上述(1)的高/低压模型设置位于地图951中。然后,当定位了两个压力区域模型,并且一个在高压区域而另一个在低压区域时,设置从高压区域模型中心流向低压区域模型中心的气流模型。并且,气流模型的大小被定义为位于高压区域模型中心和低压区域模型中心之间的全局区域952(在图11中,由粗线包围的部分D)。进一步,按照通过用高压区域模型中心到低压区域模型中心之间的距离(即,从设置在高压区域模型中心的全局区域952,到设置在低压区域模型中心的全局区域952的全局区域数量),去除高压区域模型中心和低压区域模型中心之间的压力差所获得的值,气流模型的强度可以表达为例如“强”、“一般”、“弱”等。再进一步,气流模型方向定义为,由一个相应于上述气流模型强度的向量(其具有从高压区域模型中心指向低压区域模型中心的方向)以及由一个表达预置偏转力(互补力)的向量组成的复合向量的方向。
接下来将说明局部天气决策部分902。
如图12所示,局部天气决策部分902确定在将每个全局区域952划分成多个区域而得到的每个局部区域(X,Y)956中的天气。这里,坐标值X和Y分别代表经度和纬度,而原点是所涉及全局区域的四个角中之一。
如图7所示,局部天气决策部分902包括一个局部区域信息存储部分907、温度/压力/水汽含量决策部分908以及局部天气模型产生部分909。
关于属于每个全局区域952的每个局部区域956,局部区域信息存储部分907保存有关所讨论局部区域956中的陆地和海洋(包括湖泊)之间的区域比例的信息、有关该局部区域高度的信息、以及当该局部区域是陆地时关于局部区域地理特征的信息(山区、平原地区、悬崖等),并作为局部区域信息。
温度/压力/水汽含量决策部分908在给定时间间隔内,确定每个全局区域952的每个局部区域956中的温度、压力和水汽含量。详细地说,它们按下述方法确定。(1)确定每个局部区域956的温度通过从最新确定的温度中得到温度变化量,并将该变化量加到最新确定的温度上,计算出该温度。根据给定到所讨论局部区域属于的全局区域952中的温度、从该局部区域的陆地和海洋之间的区域比率确定的具体热量、局部区域的高度、受邻近局部区域956的影响或对邻近局部区域956的影响,从而得到该温度变化量。这样,在每个局部区域956中,在时间t的温度T't可以由下述方程确定,例如T't=T't'+ΔT'+∑T'neighborΔT'=m((Tt-n(|Tt|))-T't') ....方程10其中,T't'是最新确定的温度(在时间t'的温度)。进一步,为了确定第一次的温度,可以将给到所讨论局部区域956属于的全局区域952中的温度T't用作初始值T't。
进一步,ΔT'是从时间t'到时间t的温度变化量,受所讨论局部区域956属于的全局区域952温度的影响。进一步,m是一个系数,与所讨论局部区域的局部信息(陆地和海洋之间的区域比率)所确定的具体热量相对应,并且该局部区域信息是保存在局部信息区域存储部分907中的。这样设置系数m,使得它随着陆地比率的变大而变大,随着海洋比率的变大而变小。这样,随着局部区域956中海洋比率的变大,ΔT'受所讨论局部区域956属于的全局区域952的温度Tt影响变小,随着局部区域956中陆地比率的变大,ΔT'受所讨论局部区域956属于的全局区域952的温度Tt影响变大。进一步,n是一个系数,与存储在局部区域信息存储部分987中的所讨论局部区域的局部区域信息(高度)相应。系数n这样设置,使得它随着高度的变大而变大,随着高度的减小而变小。这样,就能够设置局部区域956中的温度,使得与局部区域956属于的全局区域952的温度Tt相比,该温度随着局部区域956的高度变大而变低。
进一步,∑T'neighbor是由受邻近所讨论局部区域956的8个局部区域956(在图12所示的全局区域952中,是边缘局部区域的5个相邻的局部区域956,或者是在四个角的每个角上的局部区域的3个相邻的局部区域956)的影响,或对8个局部区域956的影响所引起的温度变化量。这里,当所讨论局部区域的气压称为P',一个邻近的局部区域956的气压称为P'neighbor时,那么,由所述一个局部区域956所引起的温度T'neighbor的变化量可以由下述方程确定,例如,当P'-P'neighbor>0时T'neighbor=-p(Tt'-T'neighbor,t')(P'-P'neighbor),并且,当P'-P'neighbor<0时T'neighbor=p(T'neighbor,t'-T't')(P'neighbor-P')....方程11其中p是任意系数,T'neighbor,t'是在所讨论邻近局部区域中最后计算的温度(在时间t'的温度)。(2)确定每个局部区域的压力压力与温度紧密相关(波义耳-查尔斯定律)。这样,在每个局部区域中,在时间t的压力P't可以由下述的方程确定,例如P't=f·T't....方程12其中f是任意的系数。(3)确定每个局部区域的水汽含量水汽含量是这样计算的,从最新确定的水汽含量得到水汽含量的变化量,并将该变化量加到最新确定的水汽含量中。该水汽含量的变化量是,根据给定到所讨论局部区域956属于的全局区域952的水汽含量、从所讨论局部区域956的陆地和海洋之间的区域比例所确定的局部区域956中的水含量、以及受邻近局部区域956的影响或对邻近局部区域956的影响而确定的。这样,在局部区域956中,例如,在时间t的水汽含量L't是由下述方程确定的L't=L't'+ΔL'+∑L'neighborΔL'=qLt-L't'假定如果L't,>L'MAX,则L't由下式给定L't=L'MAX....方程13在上述方程中,L't是最新确定的水汽含量(在时间t'的水汽含量)。当确定第一次水汽含量时,可以将给到所述局部区域956属于的全局区域952中的温度Lt用作初始值 进一步,ΔL'是在所讨论局部区域956中,从时间t'到时间t的变化量,该变化量是受局部区域956属于的全局区域952的水汽含量L't'的影响。进一步,q是一个系数,它相应于从所讨论的局部区域956的局部区域信息(陆地与海洋之间的比率)所确定的水含量,和从所讨论局部区域属于的全局区域952的全局区域信息所确定的水含量之间的比率。局部区域信息是保存在局部信息区域存储部分907中,而全局区域信息保存在全局信息区域信息存储部分904中。这样设置q,使得它随着局部区域956的水含量与全局区域952的水含量的比例的增大而增大。
进一步,L'neighbor是由受邻近所讨论局部区域956的8个局部区域956的影响或对该区域的影响而引起的水汽含量的变化量(在图12所示的全局区域952中,是在边缘上的局部区域的5个邻近局部区域956,或在四个角的每个角上的局部区域的3个相邻局部区域956)。这里,当所述局部区域的气压称为P',一个邻近局部区域956的气压称为P'neighbor,那么,由所述一个局部区域956所引起的水汽含量L'neighbor的变化量例如可以由下述方程确定
当P'-P'neighbor>0时L'neighbor=-r(L't'-L'neighbor,t')(P'-P'neighbor),并且,当P'-P'neighbor<0时L'neighbor=r(L'neighbor,t'-L't')(P'neighbor-P')....方程14其中r是任意系数,并且,L'neighbor,t'是在所讨论的邻近局部区域中最后计算的水汽含量(在时间t'的水汽含量)。
进一步,L'MAX是所讨论局部区域的饱和蒸气,并且该饱和蒸气L'MAX是由所讨论局部区域956的温度T't或压力P't确定的。
接下来,对于每个全局区域952,局部天气模型产生部分909产生一个局部天气模型,即表达位于每个局部区域956并属于全局区域952的局部天气现象的模型。这个局部天气模型是在给定时间间隔内,根据所讨论局部区域956的温度、压力和水汽含量而产生的。这里,表达局部天气现象的模型是指影响局部天气的天气现象。详细地说,产生云、雨、雪、风、闪电或旋风,作为一个局部天气模型。在下面将说明产生每个局部天气模型的示例。(1)云模型至于每个全局区域952的每个局部区域956,根据局部区域956的湿度、预先给定到该局部区域956中的区域信息、以及由全局天气产生部分906产生的全局天气模型,在所讨论的局部区域中设置表达云的局部天气模型。局部区域956的湿度是从局部区域956的温度/压力和水汽含量而确定的,反过来,局部区域956的温度/压力和水汽含量是由温度/压力/水汽含量决策部分908所确定的。详细地说,例如表达云的局部天气模型是如下设置的。
也就是,首先,对于每个局部区域956,利用由温度/压力/水汽含量决策部分908所确定的局部区域956的温度T't/压力P't和水汽含量L't来计算湿度h。
然后,检测局部区域956,其湿度h是一个任意的预定值β1(例如为50%)或更大的值,以便在被检测的局部区域956中设置云的模型。保持在其中设置了云模型、并且根据局部区域956的湿度h确定了云强度(厚度)的局部区域956,作为详细说明该云模型的信息。
接下来,从湿度h小于预定值β1的局部区域956中,检测出湿度h是任意预定值β2(假定β2<β1,例如30%)或更大的局部区域。然后,利用局部区域信息存储部分907,检查每个被检测局部区域956的局部区域信息,以便进一步检测地理特征为山区的局部区域956。在真实的世界中,在山区,天气是易于变化并容易产生云。这样,在其湿度h大于或等于预定值β2的局部区域956中,为每一个地理特征为山区的局部区956设置云模型。并且,保持所讨论的局部区域956,以及根据局部区域956湿度h所确定的云的强度,作为详细说明该云模型的信息。
然后,至于湿度h大于或等于β2并且地理特征不是山区的每个局部区域956,检测由全局天气模型产生部分906设置的前锋模型是否位于所讨论局部区域属于的全局区域952之中。在真实的世界中,在山区,云易于在前锋增长。这样,在湿度h等于或大于预定值β2的局部区域956中,为属于全局区域952的每个局部区956都设置一个云模型,其中在全局区域952上有一个低压模型。并且,保持所讨论的局部区域956,以及根据局部区域956的湿度h所确定的云的强度,作为详细说明该云模型的信息。(2)雨/雪模型从依据上述(1)设置了云模型的局部区域956中,检测湿度h大于或等于任意预定值β3(β1<β3,例如为60%)的局部区域956。然后,至于每个被检测的局部区域956,检测由温度/压力/水气含量决策部分908所确定的所讨论局部区域956的温度T't。当温度T't大于或等于任意预定值γ(例如0)时,就为所讨论的局部区域956设置一个雨模型。并且,保持该局部区域956,以及根据局部区域956的湿度h所确定的雨强度(单位时间的降雨量),作为详细说明该雨模型的信息。另一方面,当温度T't小于预定值γ时,为所讨论的局部区域956设置雪模型。并且,保持该局部区域956,以及根据局部区域956的湿度h所确定的雪强度(单位时间的降雪量),作为详细说明该雪模型的信息。
接下来,至于每个没有设置雨/雪模型而依据上述公式(1)设置了云模型的局部区域956,将检查全局天气产生部分906设置的前锋模型是否位于所讨论局部区域956属于的全局区域952中。在真实的世界中,雨或雪易发生在前锋。这样,当前锋模型位于全局区域952时,检查所讨论局部区域956的温度T't。当温度T't大于或等于预定值γ,就为所讨论的局部区域956设置雨模型。并且,保持局部区域956,以及根据局部区域956的湿度h所确定的雨强度(单位时间的降雨量),作为详细说明该雨模型的信息。另一方面,当温度T't小于预定值γ时,为所讨论局部区域956设置雪模型。并且,保持该局部区域956,以及根据局部区域956的湿度h所确定的雪强度(单位时间的降雪量),作为详细说明该雪模型的信息。(3)风模型至于每个全局区域952的每个局部区域956,根据所讨论局部区域956及其邻近局部区域的压力、预先给定到局部区域956的信息以及由全局天气产生部分906产生的全局天气模型,为所讨论的局部区域设置表达风的局部天气模型。所提及的压力是由温度/压力/水汽含量决策部分908确定的。详细地说,例如,表达风的局部天气模型如下设置。
也就是说,对于一个特定的局部区域956(称为标记局部区域956),检测与标记局部区域956气压差最大的邻近局部区域956。然后按下述方法设置第一个向量。即当标记局部区域956的压力Pt大于被检测邻局部区域的压力Tenighbor,t时,第一个向量的方向确定为从标记局部区域956到被检测的邻近局部区域956的方向,而第一个向量的幅度则根据标记局部区域956和被检测的邻近局部区域956的压力差确定。
接下来,当为标记局部区域956属于的全局区域设置一个由全局天气模型产生部分906所产生的气流模型时,根据由上述气流模型所示的气流强度和方向设置第二个向量。
然后,当设置第二个向量时,第一个和第二个向量的复合向量的方向和强度被确定成是为标记局部区域而设置的风的方向和强度。当没有设置第二个向量时,第一个向量的方向和强度被确定成是为标记局部区域而设置的风的方向和强度。
接下来,在设置方向和强度之后,从局部区域信息存储部分907中读取标记局部区域的局部区域信息,以检查表示该标记局部区域的信息是不是山区或悬崖。在真实的世界中,经常是在山区或悬崖上阵风或风的方向突然改变。这样,当局部区域信息表示为山区或悬崖时,将风模型设置为紊乱的风模型。
将所有局部区域956中的每一个都作为标记局部区域956,执行上述处理,以便为每个局部区域956设置一个风模型。(4)闪电模型对于依据上述公式(1)设置了云模型的局部区域956,检查由温度/压力/水汽含量决策部分908所确定的局部区域956的温度Tt。在真实的世界中,当温度较高时,易于出现上升气流,并且引起闪电的积雨云产生的概率变得较大。这样,当温度Tt大于或等于任意预定值σ(例如为30℃)时,为所讨论的局部区域956设置具有预定概率(如30%)的闪电模型。(5)旋风模型在真实的世界中,旋风与闪电相似,相似之处在于当温度较高时,容易出现上升气流,并且引起旋风的积雨云形成的概率变大。对于依据上述公式(1)设置了云模型的局部区域956,检查由温度/压力/水汽含量决策部分908所确定的局部区域956的温度Tt。当温度Tt大于或等于任意预定值δ(例如为30℃),为所讨论局部区域956设置具有预定概率(如30%)的旋风模型。
在上文中说明了天气决策部分808。
接下来,将说明天气对象定位部分809。
图13是表明图6所示的天气对象定位部分809的原理方框图。
如图所示,天气对象定位部分809包括局部天气模型读取部分971,天气对象数据读取部分972,以及天气对象产生部分973。
局部天气模型读取部分971从局部天气模型产生部分909中获得具体说明局部天气模型的信息,并且,该获得的信息被发送到天气对象产生部分973中,其中该模型是为局部区域956而设置并由天气对象产生部分973指定的。
天气对象数据读取部分972直接从保存在光盘85中的天气对象DA504中,或者从自光盘85中读取并临时保存在主存储器53、帧缓冲器63等中的天气对象DA 504中,读取各种说明局部天气模型3D形式和纹理结构的信息,并将这些信息发送到天气对象产生部分973中,其中,该局部天气模型由天气对象产生部分973指定。
天气对象产生部分973具体说明包含由3D地图产生部分803产生的3D地图区域的局部区域956(即在由对象位置计算部分802计算的可操作对象位置的邻近区域)。然后,通过指定具体的局部区域,天气对象产生部分973要求局部天气模型读取部分971获得具体说明局部天气模型的信息,其中,该局部天气模型是为所讨论局部区域956而设置的。当从局部天气模型读取部分971中获得说明该局部天气模型的信息时,那么,对于已经获得信息的每个局部天气模型,则天气对象产生部分973要求天气对象数据读取部分972获得各种说明所讨论的局部天气模型的3D形式和纹理结构的信息。但是,在这种情况下,即已经获得信息的局部天气模型是一个风模型时,将不对天气对象数据读取部分972做出请求。
这里,对获得具体说明局部天气模型的信息的处理是不必要的,并且,每当利用对象位置计算部分802计算可操作对象的位置时执行这些模型的对象数据。例如,在对象位置计算部分902计算可操作对象位置多次后,执行一次所述的处理。或者,每当3D产生部分803执行产生地理特征的处理(即每当3D地图更新)时执行所述的处理。或者,所述的处理以预定时间间隔执行。
接下来,所上所述,当天气对象产生部分973获得具体说明每个局部天气模型的信息以及为局部区域956设置的每个局部天气模型的对象数据时,其中局部区域956包括由3D地图产生部分803产生的3D地图区域,那么,根据由具体说明该局部天气模型信息所表示的天气现象的大小或强度,天气对象产生部分973产生由每个局部天气模型表示的天气现象的天气对象,并且由3D产生部分803在3D地图中定位所产生的天气对象。每当对象位置计算部分802计算可操作对象位置时,执行这种处理。详细地说,这种处理是这样是按如下方法执行的(1)云对象根据云对象的3D形式和纹理结构,产生表达云的对象,并位于3D地图的天空中。这时,依据由具体说明云模型的信息所表示的云的大小,改变云对象的定位密度和定位位置(高度)。例如,当所示云对象较小时,云对象981的定位密度变得比较小,而定位位置比较高,如图14A所示。另一方面,当所示云对象较大时,云对象模型981的定位密度变得较大,而定位的位置(高度)变得较低,如图14B所示。
这里,根据具体说明当前云模型的信息产生云对象,并在3D地图中定位,直到天气对象产生部分973最新读取了具体说明局部天气模型信息时为止(直到局部天气模型被更新为止)。同时,如果云对象任何时候都位于相同的位置,则缺乏真实性。这样,为了表达云对象的运动,直到更新了局部天气模型,才使用具体说明风模型的信息来更新云对象被定位的位置,其中,风模型是为包括由3D地图产生部分803产生的3D地图区域的局部区域956而设置的。即,依据风模型的方向和强度,确定云对象的运动方向和速度。并且,直到更新了局部天气模型,才根据这样确定的运动方向和速度计算云对象被定位的位置,以更新所讨论的云对象的定位位置。(2)雨/雪对象根据雨/雪对象的微粒和纹理结构,产生表达雨/雪的对象,并在3D地图上定位。这时,依据在具体说明雨/雪模型的信息中表示的降雨量/降雪量,确定雨/雪对象微粒的定位密度。并且,计算和更新每个微粒的定位位置,以便使得每当对象定位计算部分802计算可操作对象的位置时,雨/雪对象微粒以预定速度运动。这样,就表达了降雨/降雪的状态。进一步,这时,利用具体说明风模型的信息确定降雨/降雪的方向,该风模型是为包括由3D地图产生部分803产生的3D地图区域的局部区域956而设置的,并且,计算和更新每个微粒的定位位置,以便使得雨/雪对象的微粒依据这样确定的方向运动。这样,就表达了在风影响下的降雨/降雪状态,如图15所示。这里,当风模型被设置为紊乱的风模型时,最好随机确定降雨/降雪的方向(以便每当更新定位位置时变为一个不同的方向)。(3)闪电对象依据图16所示的预定规则(例如,闪电的发生连接了天空和大地),根据闪电对象的纹理结构,产生表达闪电的对象,并将之以任意的概率定位于3D地图的任意位置上。每当对象定位计算部分802计算可操作对象的位置时执行这种处理,直到天气对象产生部分973最新地读取了具体说明局部天气模型的信息(直到局部天气模型被更新)为止。(4)旋风对象根据旋风对象的3D形式和纹理结构产生表达旋风的对象,并定位在图17所示的3D地图中。这时,为了表达旋风对象的运动,更新旋风对象被定位的位置,以使得每当对象定位计算部分802计算可操作对象位置时,它以预定速度随机运动,直到天气对象产生部分973最新读取了具体说明局部天气模型的信息(直到局部天气模型被更新)为止。
上面已对天气对象定位部分809作了说明。
接下来,将说明在娱乐设备1上实现的、制作飞行模拟游戏的软件结构的操作。
图18是说明在娱乐设备1上实现的、制作飞行模拟游戏的软件结构的操作的流程图。
首先,操作内容重复部分801计算可操作对象601的运动速度。详细地说,通过检测在操作单元20中起给定风门作用的按钮的检测信号,测量从计算最后运动速度算起的拉开风门/合上风门时间。然后,从测量的拉开风门时间以及预定加速速率而获得的速度被加到最后计算的速度上,并且/或从最后计算的运动速度中减去从测量的合上风门时间以及预定减速速率而获得的速度,以便计算可操作对象601的运动速度。
接下来,操作内容重复部分801计算可操作对象601的运动方向(步骤S1002)。详细地说,根据由于作用到操作杆31a和32a上的操作,而从操作单元20输出的信号所表示的X-Y坐标系统中的坐标值,确定由可操作对象601所表达的飞机的横向倾斜以及飞机前端的上升或降低。然后,假定飞机横向和垂直倾斜,其方向是与最后计算的可操作对象601的运动方向呈上述确定的角度,这样确定可操作对象601的运动方向。
接下来,对象定位计算部分802计算可操作对象在虚拟3D世界中的位置和姿态(步骤S1003)。详细地说,可操作对象601的当前位置是从可操作对象最后计算的位置中,以及由可操作内容重复部分801计算出的可操作对象601的最新运动速度中计算出来的。进一步,依据由操作内容重复部分801所确定的可操作对象601的最新运动方向,计算可操作对象的当前姿态。
接下来,3D地图产生部分803检查是否需要更新地图(步骤S1004)。例如,执行步骤S1003的处理来计算可操作对象601的位置N次,地图更新一次,在这种情况下,提供一个计数器,并且检查是否计数到N。当计数到N时,判断出需要更新,复位计数值,并且进到步骤S1005。另一方面,当计数没达到N时,将计数值加1,然后进到步骤S1007。
在步骤S1005中,3D地图产生部分803读取安排在被操作对象位置附近的地图成分,并在3D世界中安排这些地图成分,其中被操作对象的位置是由对象位置计算部分802在步骤S1003中计算出来的。结果,合适的地理特征扩散在可操作对象的附近。
在步骤S1006中,天气对象定位部分809具体说明局部区域956,局部区域956包括在步骤S1005中由3D产生部分803产生的3D地图区域(即,由对象位置计算部分802计算出的可操作位置的附近区域),并从局部天气模型产生部分909中,获得为具体说明局部区域956而设置的局部天气模型。然后从天气对象DA 504中,读取由所获得的局部天气模型表达的、具体说明天气对象的3D形式和纹理结构的各种信息。
这里,在这样说明的流程中,由3D地图产生部分803进行的地图更新以及由天气对象定位部分809读取局部天气模型是以相同的时序进行的。但是,本发明并不仅限于此。例如,可以是在步骤S1003中执行可操作对象位置的计算N次后才更新一次地图,并且,执行相同的计算N/2次,才读一次局部天气模型。
接下来,对于在步骤S1006中读取的每个局部天气模型,根据局部天气模型的强度和大小、以及具体说明该局部天气模型表达的天气对象的3D形式和纹理结构,天气对象定位部分809产生由该局部天气模型表达的天气对象。然后,如果需要的话(步骤S1007),考虑风模型表达的风的强度和方向,这样产生的天气对象是位于3D世界中,在其中地理特征由3D地图产生部分803扩散。
接着,在地理特征由3D地图产生部分803扩散的3D世界中,在由步骤S1005中的对象位置计算部分802计算出的可操作对象位置上,可操作对象定位部分804定位可操作对象601,该可操作对象在3D形式等方面依据可操作对象DA 502作了具体说明。这时,这样定位可操作对象,以便使得可操作对象的姿态变为在步骤S1005中由对象位置计算部分802计算出的姿态。
再接下来,照相机定位部分805执行设置虚拟照相机定位位置和方向的处理,该虚拟照相机用于从虚拟3D世界中产生一个二维图像,在该虚拟世界中由上述处理(步骤S1009)方法定位地理特征、天气对象和可操作对象。
假定虚拟照相机被定位部分作为照相机的观察点,照相机的方向作为视线的方向,那么,当地理特征、天气对象和可操作对象位于3D世界中,并且如上所示设置虚拟照相机的定位位置和方向之后,图像产生部分806执行处理再现处理,在该处理中,位于在3D世界中的地理特征、天气对象和可操作对象被投影到虚拟照相机的屏幕上。这种处理产生一个二维的图像。然后,显示控制部分807将由图像产生部分806产生的二维图像转换为视频信号,并向连接到本发明的娱乐设备1的显示单元输出该视频信号(步骤S1010)。
通过重复上述图18的流程,本发明的娱乐设备1在连接到娱乐设备1的显示单元的显示屏上显示CG动画。该CG动画是依据从操作单元20接收的玩游戏者操作的内容,通过虚拟照相机拍照在3D世界中运动的可操作对象601得到的。进一步,天气现象如云、雨和风反映在CG动画上的图像上,并且该CG动画显示在显示单元屏幕的。
接下来说明在制作在娱乐设备1上实现的飞行模拟游戏的软件结构中,天气决策部分808操作。
图19是说明在制作在娱乐设备1上实现的飞行模拟游戏的软件结构中,天气决策部分808的操作流程图。
在全局天气决策部分901中,温度/压力/水汽含量决策部分905在预定时间间隔内,以上面描述的方式决定在每个全局区域952中的温度、压力和水汽含量(步骤S2001和S2002)。全局天气模型产生部分906在时间间隔T2内以上面描述的方式设置位于每个全局区域952中的全局天气模型,在这种方式中,时间T2大于时间T1(步骤S2003和S2004)。
另一方面,在局部天气决策部分902中,温度/压力/水汽含量决策部分908在时间间隔T3中以上面描述的方式决定在每个全局区域952中的每个局部区域956中的温度、压力和水汽含量,在这种方式中,时间T3小于时间T1(步骤S2101和S2102)。局部天气模型产生部分909在时间间隔T4中以上面描述的方式设置位于每个局部区域956中的局部天气模型,在这种方式中,时间T4大于时间T3(假定T4<T2)(步骤S2103和S2104)。
以上说明了本发明的实施例。
依据本发明的实施例,根据给定到所讨论的全局区域952中的天气,以及预先给定到所讨论的局部区域的局部区域信息,决定任意全局区域952中任意局部区域956的天气。这样,考虑所讨论局部区域956的局部区域信息,可以确定任意局部区域956的天气,从而使得所讨论局部区域956的天气和该局部区域956附近的相邻局部区域956相关。进一步,依据本实施例,根据真实世界中通常出现和周期性变化的事件而确定的条件(在所讨论全局区域952中的当前日期和时间,每个单位时间的日照量),以及根据预先给定到全局区域952中的全局区域信息,确定任意全局区域952的天气。这样,每个局部区域956的天气可以与真实世界相似循环变化。
由此,例如,通过从为包含在所讨论图像中的局部区域952而设置的天气中得到天气现象,就可以给那些天气现象以更多的真实性,这些天气现象反映在显示在显示单元屏幕上的图像上,以及反映在可操作对象的可操作性上。
本发明不限于上述的实施例,并且可以在其宗旨范围内进行各种修改。
例如,在上述实施例中,在全局天气决策部分901中的温度/压力/水汽含量决策部分905仅将由局部天气决策部分902产生的雨/雪模型的效果反馈到每个全局区域952的水汽含量的决策中。但是,本发明并不仅限于此。例如,由局部天气决策部分902产生的云模型的效果可以反馈到每个全局区域952的温度/压力的决策中,以便给每个全局区域952中的天气变化以更多的真实性。
进一步,在上面说明的实施例的例子中,本发明的娱乐设备1用于玩飞行模拟游戏。但是本发明并不仅限于这样的例子。例如,本发明可以应用到各种电视游戏中,如利用本发明的娱乐设备1玩驾车模型游戏,在这种游戏中依据用操作单元20接收的玩游戏者的操作内容,可操作对象可以在虚拟的3D世界中运动。进一步,例如,甚至在图像仅显示在显示单元的一个屏幕上的情况下,其中该图像是通过虚拟照相机拍照虚拟世界的任意一个区域得到的,也可以给反映在照相机拍照的图像中的天气现象以更多的真实性。
进一步,依据上述的实施例,局部区域956的天气反映在一个显示在显示单元屏幕上的图像上和可操作对象的可操作性上。但是,本发明并不仅限于此。例如,声音系统70可以产生和输出声音(例如雷鸣声),反映局部区域956的天气,其中,局部区域956包含在显示到显示单元屏幕上的图像中。
进一步,娱乐设备1的外观形式和硬件结构不仅限于图1、2和4所示的那种形式。例如,娱乐设备1可以具有一般计算机的结构,包括中央处理器CPU、存储器、外部存储设备如硬盘单元、从便携存储媒介如CD-ROM或DVD-ROM中读取数据的读取器、输入单元如键盘和鼠标、显示单元如CRT和LCD,通过网络如因特网通信的数据通信单元、处理上述各种元件之间的数据发送和接收的接口等等。在这种情况下,在娱乐设备1上实现图6所示的软件程序,或具体说明3D世界中的地图成分、操作对象和天气对象的形式等的各种数据可以通过读取器从便携存储媒体中读取,并保存到存储器或外部存储媒介中,也可以通过数据通信单元从网络上下载并保存到存储器或外部存储媒介上。
如上所述,依据本发明,就可以给反映在显示到显示单元屏幕上的图像上的天气现象以及反映在可操作对象的可操作性上的天气现象以更多的真实性,因而提高了设备的娱乐性。
权利要求
1.一种用于决定在显示单元屏幕上显示的虚拟世界天气的娱乐设备,包括全局天气决策装置,决定预定时间间隔内每个全局区域中的天气,每个全局区域是通过将表示整个所述虚拟世界的地图划分成多个全局区域而获得的,所述天气是依据为所讨论的全局区域设置条件的行为模型、并考虑预先给定到所述全局区域的区域信息而决定的,所述条件由周期性变化的事件决定;局部天气决策装置,以预定时间间隔决定每个局部区域中的天气,每个局部区域是通过将每个全局区域划分成多个局部区域而得到的,所述的天气是依据所讨论的全局区域的天气、并考虑到预先给定到所讨论局部区域的区域信息而确定的,全局区域的所述天气通过所述全局天气决策装置来决定;以及天气反映装置,将局部区域的天气反映在虚拟世界的一个图像上,该虚拟世界显示在所述显示单元的屏幕上,所述图像包括所述的局部区域,而所述天气是由所述局部天气决策装置决定的。
2.一种保存用于确定虚拟世界中的天气程序的存储媒介,其中,所述程序可由计算机从所述的存储媒介中读取并执行,以便在所述计算机上建立全局天气决策装置,决定预定时间间隔内每个全局区域中的天气,每个全局区域是通过将表示整个所述虚拟世界的地图划分成多个全局区域而获得的,所述天气是依据为所讨论的全局区域设置条件的行为模型、并考虑预先给定到所述全局区域的区域信息而决定的,所述条件由周期性变化的事件决定;局部天气决策装置,决定预定时间间隔内每个局部区域中的天气,每个局部区域是通过将每个全局区域划分成多个局部区域而得到的,所述的天气是依据所讨论的全局区域的天气、并考虑到预先给定到所讨论局部区域的区域信息而确定的,全局区域的所述天气通过所述全局天气决策装置决定的。
3.依据权利要求2所述的存储媒介,其中所述全局天气决策装置决定第一次时间间隔内每个全局区域的天气;并且,所述局部天气决策装置决定第二次间间隔内每个局部区域的天气,该第二次间间隔比所述第一次间间隔短。
4.依据权利要求2所述的存储媒介,其中通过所述行为模式为每个全局区域而设置、并且根据周期性变化事件而确定的所述条件,是在每个全局区域中,每个日期和时间内单位时间的日照量,由于地球的公转,所述的日照量是由一年日照量的波动决定的,并且由于地球的自转,所述的日照量还由一天日照量的波动来决定。
5.依据权利要求4的存储媒介,其中所述的全局天气决策装置包括第一装置,根据在相关时间中的单位时间日照量、预先给到所述全局区域的区域信息、以及所讨论全局区域和所述全局区域的邻近全局区域中最新决定的温度、压力和水汽含量,来决定预定时间间隔内每个全局区域的温度、压力和水汽含量,所述日照量是由所述行为模型为所讨论全局区域而设置的;第二装置,用于在预定时间间隔内、根据由第一装置决定的每个全局区域的温度、压力和水汽含量,来产生一个模型,该模型作为一个全局天气模型来表达每个全局区域中的全局天气现象;所述天气决策装置包括第三装置,根据所讨论局部区域属于的全局区域的温度、压力和水汽含量、预先给到所述局部区域的区域信息、以及所讨论局部区域和所述局部区域的邻近局部区域中最新确定的温度、压力和水汽含量,确定预定时间间隔内每个局部区域中的温度、压力和水汽含量,并且,所述日照量是由所述第一装置为所讨论局部区域设置的;第四装置,用于产生一个模型,该模型作为一个局部天气模型,在预定时间间隔内、依据由所述第三装置确定的每个局部区域中的温度、压力和水汽含量、预先给定到所述局部区域的区域信息、以及由所述第二装置产生的位于所述局部区域中的全局天气模型,来表示每个局部区域中的局部天气现象。
6.依据权利要求5所述的存储媒介,其中所述第一装置包括根据在所述全局区域中单位时间的温度变化、以及所述全局区域和所述全局区域邻近的全局区域最新确定的温度,来确定每个全局区域中的温度的一个装置,所述温度变化是根据在相关时间内的单位时间日照量和给定到所述全局区域的区域信息而确定的,并且,所述日照量是由所述行为模型为所讨论的全局区域设置的;根据由所述用于确定每个全局区域中的温度的装置预先给定到所讨论全局区域的温度,来确定每个全局区域的压力的一个装置;根据在所讨论全局区域中每单位时间所产生的水汽、所述全局区域和所述全局区域的邻近全局区域中最新决定的水汽含量、以及由所述用于确定温度/压力的装置从给定到所述全局区域的温度/压力确定的饱和水汽,来确定每个全局区域中的水汽含量的一个装置,其中,所述产生的水汽,是根据在相关时间内每个单位时间的日照量而确定的,而该日照量是由所述行为模型为所述全局区域设置的,所述的区域信息被给定到所述全局区域中。
7.依据权利要求5所述的存储媒介,其中,所述的第二装置设置一个全局天气模型,该模型使用由第一装置给出的每个全局区域的压力,在所述表达整个虚拟世界的地图中正在定位的压力线上,表达一个高压或低压区域,当有一部分的压力高于附近的压力并且压力变化速率大于预定值时,所述的第二装置将所述部分设置为表达一个高压区域的全局天气模型,而且,当有一部分的压力低于附近的压力,并且压力变化速率大于预定值时,所述第二装置将所述部分设置为表达一个低压区域的全局天气模型。
8.依据权利要求7所述的存储媒介,其中所述的第二装置根据表达位于所述虚拟世界中高/低压区域的全局天气模型,并根据预置的偏转力,设置表达气流的全局天气模型。
9.依据权利要求5所述的存储媒介,其中所述的第三装置包括根据所述局部区域属于的全局区域的温度、预先给定到所述局部区域的区域信息、以及最新决定的所述局部区域和所述局部区域邻近局部区域的温度,来决定每个局部区域的温度的装置,其中,所述全局区域的温度是由所述第一装置决定的;根据所述用于决定每个局部区域的温度的装置给定到所述局部区域的温度,来决定每个局部区域中的压力的装置;根据所述局部区域属于的全局区域的水汽含量、最新决定的局部区域和所述局部区域邻近的局部区域的水汽含量、以及根据由所述用于决定温度/压力的装置给定到所述局部区域的温度/压力而确定的饱和蒸气,来决定每个局部区域的水汽含量的装置,其中,所述全局区域的水汽含量由所述第一装置决定。
10.依据权利要求5所述的存储媒介,其中当湿度大于或等于预定值时,所述第四装置根据由所述局部区域中的温度/压力和水汽含量确定的所述局部区域的湿度、预先给定到所述局部区域的区域信息、以及定位在所述局部区域中的全局天气模型,来设置表达每个局部区域的云的局部天气模型,其中,所述的温度/压力和水汽含量是由所述第三装置确定的。
11.依据权利要求10所述的存储媒介,其中当表达云的局部天气模型位于所述局部区域时,所述第四装置设置表达每个局部区域的雨或雪的局部天气模型,使得当由所述局部区域的温度/压力和水汽含量所决定的所述局部区域的湿度大于或等于预定值,并且所述局部区域温度大于或等于预定值时,所述第四装置设置表达所述局部区域中的雨的局部天气模型,并且当所述局部区域湿度大于或等于预定值,而且所述局部区域温度小于预定值时,所述第四装置设置表达雪的局部天气模型。
12.依据权利要求5所述的存储媒介,其中所述第四装置根据所述局部区域和所述局部区域邻近的局部区域的压力、预先给定到所述局部区域的区域信息、以及表达位于所述局部区域的气流的全局天气模型,设置表达位于每个局部区域中的风的局部天气模型。
13.一种用于决定虚拟世界天气中的天气的方法,包括步骤决定每个全局区域中预定时间间隔内的全局天气,每个全局区域是通过将表达整个所述虚拟世界的地图划分为多个全局区域而得到的,所述全局天气是依据为所述全局区域设置条件的行为模型、并考虑预先给定到所述全局区域的区域信息模型而决定的,其中,所述条件由周期性变化的事件决定;以及,决定每个局部区域中预定时间间隔内的局部天气,每个局部区域是通过将每个全局区域划分为多个局部区域而得到的,所述局部天气是依据由所述决定全局天气的步骤而确定的所述全局区域的天气、并考虑给定到所述局部区域的区域信息而确定的。
14.一种用于决定虚拟世界中的天气的程序,其中所述程序保存在存储单元中,并且由计算机从所述存储单元中读取来执行,以便在所述计算机上建立一个全局天气决定装置,决定每个全局区域中预定时间间隔内的天气,每个全局区域是通过将表达整个虚拟世界的地图划分为多个全局区域而得到的,所述天气是依据为所讨论的全局区域设置条件的行为模型、并考虑预先给定到所述全局区域的区域信息而决定的,其中所述条件由周期性变化的事件决定;一个局部天气决定装置,决定每个局部区域中预定时间间隔内的天气,每个局部区域是通过将每个全局区域划分为多局部区域而得到的,所述天气是依据所讨论的全局区域的天气、并考虑预先给定到所述局部区域的区域信息而决定的,其中,所述全局区域的天气是由所述全局天气决定装置决定的。
全文摘要
本发明能够给反映在显示单元屏幕所显示的图像上、和反映在可操作对象可操作性上的天气现象以更强的真实性。全局天气决策部分901决定每个全局区域中的天气,而每个全局区域是通过将虚拟世界的整个地图划分为多个全局区域而获得的。根据预置的行为模型并预先考虑每个全局区域的区域信息,决定第一次时间间隔内所讨论的全局区域中的天气。局部天气决策部分902确定每个局部区域中的天气,每个局部区域是通过将每个全局区域划分为多个局部区域而获得的。依据由全局天气决策部分901决定的相关全局区域的天气,并考虑每个局部区域的区域信息,决定第二次间隔内所讨论局部区域中的天气,第二次时间间隔小于第一次时间间隔。
文档编号A63F13/10GK1366465SQ01801104
公开日2002年8月28日 申请日期2001年3月21日 优先权日2000年3月21日
发明者生地宏则, 安倍孝一, 福田泉, 藤井康彦, 沖田茂, 关宽之, 江口诚, 森永秀树, 平林昌树 申请人:索尼计算机娱乐公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1