專利名稱:游戲用圖像處理裝置的制作方法
本申請是申請?zhí)枮?7190661.0(PCT/JP97/01896)、申請日為1997年6月4日且發(fā)明名稱為“游戲用圖像處理裝置”的發(fā)明專利申請的分案申請。
本發(fā)明涉及在虛擬設(shè)定的游戲空間(以下稱為“虛擬空間”)中的圖像(以下稱為虛擬圖像)處理,特別是涉及可以更為現(xiàn)實地表現(xiàn)設(shè)定在虛擬空間中的虛擬模型(例如,稱之為角色)在畫面上的動作的游戲用圖像處理。該圖像處理的手法特別適合于三維視頻游戲機(jī)。
由于計算機(jī)圖形學(xué)(CG)技術(shù)的發(fā)展,已變得可以立體性地實時性地表現(xiàn)虛擬設(shè)定的虛擬空間(也叫做‘虛擬世界’)。這就是視頻游戲領(lǐng)域,即近年開發(fā)的可進(jìn)行高速運算的中央處理裝置(CPU)、視頻顯示處理器(VDP),以及高速且經(jīng)濟(jì)地利用該計算機(jī)圖形學(xué)技術(shù)。
在這樣的游戲機(jī)中,由于要根據(jù)使用者(也可以叫做游戲者或比賽者)的行為使游戲的內(nèi)容不斷地變化,所以必須使被顯示物體在虛擬空間中以高速自由地活動。為此,通常用由三角形或四邊形組成的一組多邊形構(gòu)成被顯示體的模型(例如,角色),通過同時地改變這些多邊形的空間位置來顯示這種模型的運動。
此外,在角色的胳膊和腿等被顯示物體的特定的要素或面要同時動作的情況下,可以把多個多邊形構(gòu)成的多邊形數(shù)據(jù)群作為一個單位,并對每一多邊形數(shù)據(jù)群指定一個空間位置,從而使這些特定的要素或面同時動作。
近些年來,在用多邊形構(gòu)成角色,使之在監(jiān)視器上表現(xiàn)出從規(guī)定的視點捕捉到的虛擬空間內(nèi)的角色的動作的圖像的所謂三維游戲機(jī)市場引起人們注目,特別是模擬多個勇士的武打的游戲機(jī)很受人喜愛(例如,SEGA ENTERPRISES公司生產(chǎn)的‘殘忍的勇士’(batcher fighter)(商標(biāo)))。
在該武打模擬游戲中,游戲者快速地操作已附加到控制器上的操作桿或鍵盤或者按鍵使顯示在畫面上的勇士根據(jù)游戲操作桿等的操作而決定的指令進(jìn)行動作。勇士的動作被稱之為‘活動’戲,為實現(xiàn)該活動所必須的數(shù)據(jù)用“活動捕獲”技術(shù)取得。然后,根據(jù)需要對這些數(shù)據(jù)進(jìn)行處理,作為最后的活動數(shù)據(jù)可以在3D游戲機(jī)中利用。
在這樣的游戲機(jī)中,為了提高其商品價值,希望用更真實地表現(xiàn)角色的動作。就是說,例如,通過增加更多的變量使之極力接近實際的打斗的動作。但是,由于可以預(yù)想的角色的動作極其多種多樣,所以在實現(xiàn)上述的目的方面還有許多尚未改善的地方。雖然也考慮過或者預(yù)先作成全部所需要的動作并存到存儲器中,以及獲得用于取得這樣的活動的特征表示,但這樣作的話,就存在著數(shù)據(jù)量將變得過大,不能進(jìn)行實時處理等的問題。
因此,本發(fā)明的主要目的是提供一種可以極力壓低圖像處理所需要的運算量和數(shù)據(jù)量,且可以更為實時地和真實地表現(xiàn)角色在畫面上的動作的游戲用圖像處理的方法。
從該主要目的的觀點來看,現(xiàn)有的視頻游戲機(jī)所具有的問題的具體的第1側(cè)面如下所示A1、在3D視頻游戲中,由于是利用投影變換來表現(xiàn)來自虛擬視點的二維畫面上的圖像,所以難于使勇士在畫面的縱深方向上移動,即在游戲者的目光方向上移動,因此,要想使一個勇士在另一勇士的周圍轉(zhuǎn)圈就毫無辦法。所以,把改善這樣的環(huán)繞角色的動作,作為本發(fā)明的一個具體目的。
A2、現(xiàn)有的3D視頻游戲機(jī)中,由于圖像的顯示是根據(jù)虛擬視點進(jìn)行的,所以如果在虛擬空間中的一個能遮擋勇士的位置上設(shè)置諸如一堵墻這樣的結(jié)構(gòu),就存在將勇士遮擋起來的問題。所以,如上所述,進(jìn)行改善角色被構(gòu)造物遮擋起來這種事態(tài)的顯示,是本發(fā)明的另一具體的目的。
A3、在現(xiàn)有的三維視頻游戲機(jī)中,角色的活動采用了例如連續(xù)使用仿樣(spline)函數(shù)的方法,或者在連續(xù)幀中影響預(yù)定的再現(xiàn)圖形的方法。但是,在現(xiàn)有的視頻游戲機(jī)中,這種活動被固定下來,所以不能對活動進(jìn)行修正以與對方角色的動作相匹配。這樣,使得可以進(jìn)行這種修正,是本發(fā)明的另一個具體的目的。
此外,作為從上述主要目的派生出來的事項,為了提高商品價值,希望除上述第1側(cè)面之外,再加上下述一點對角色的動作進(jìn)行提高戲劇效果的畫面顯示。鑒于這一希望的現(xiàn)有的視頻游戲機(jī)的問題的第2側(cè)面可以具體地說明如下。
B1、作為提高CG畫面的戲劇效果的技術(shù),人們知道“活動模糊”(motion blur)。若采用該活動模糊,則一個象素中可以產(chǎn)生許多光線(ray),采用涂上取其平均的顏色的辦法,就可以制作有焦點之外的(outof focus)或有動作的畫面。
另一方面,近些年來,在視頻游戲等的CG領(lǐng)域中,為了進(jìn)一步提高戲劇效果,角色的動作,可以顯示人類視覺生理上常見的殘像的效果,例如,在勇士正在揮舞的大刀的軌跡中加上殘像。因此,本領(lǐng)域?qū)I(yè)人員要計算多邊形并構(gòu)成與勇士的活動相匹配的殘像,并使得該殘像在勇士的附近進(jìn)行顯示。
但是,由于可以想像的角色的動作極其多種多樣,要想編輯與所有的情況匹配的許多形態(tài)的殘像用的多邊形并使之存儲到存儲器中不僅將限制有限的計算機(jī)圖形學(xué)裝置的能力,與角色的活動相匹配地計算殘像的多邊形對計算機(jī)圖形學(xué)裝置的負(fù)荷也太大。所以,在形成CG圖像方面,使得即便是考慮到提高戲劇效果也不會產(chǎn)生大的計算負(fù)荷(說得更詳細(xì)點的話,使得減小這樣的負(fù)荷),且可以使殘像圖像與實像圖像同時進(jìn)行顯示,是本發(fā)明的另一個具體的目的。
B2、在利用了現(xiàn)有的圖像處理裝置的游戲裝置中,可以在畫面上顯示飛濺的砂子和飛濺的水花等的飛行體(例如,SEGA ENTERPRISES公司生產(chǎn)的“Rally”(商標(biāo))。但是這樣的飛濺的砂子或飛濺的水花,因為僅僅是使紋理映象到多邊形上,所以不能把模型(車等)的動作正確地反映到飛行體上。所以,使模型的動作更正確地反映到飛行體上,是本發(fā)明的再一個具體的目的。
B3、在現(xiàn)有的圖像處理裝置中,在模擬在虛擬空間內(nèi)下落的模型的活動方面的品質(zhì)是不充分的。所以,本發(fā)明的再一個具體的目的是使在虛擬的空間中的自由下落的模擬做成為更高的品質(zhì)。
B4、在現(xiàn)有的圖像處理裝置中,先判定虛擬空間內(nèi)的區(qū)域和運動模型之間的接近程度,如果判定是肯定的,則限制模型的活動使得模型不超越所述區(qū)域。通常,作為這樣的區(qū)域被設(shè)定為四角形或圓形等的定型的類型。在這種情況下,由于區(qū)域是普通的形狀,所以把角色從所劃分的區(qū)域中趕出去的運算也是容易的。但是,在該區(qū)域是不規(guī)則形狀的情況下,在現(xiàn)有的CG裝置中,就不容易處理這種問題。所以,本發(fā)明的再一個具體的目的是即便是不規(guī)則的區(qū)域,也可以準(zhǔn)確且容易地執(zhí)行區(qū)域和模型之間的沖突判定肯定后的模型的動作(活動)的計算處理。
B5、以前,在適用于游戲裝置的圖像處理的區(qū)域中,在表現(xiàn)一系列周期性的畫面(例如,反復(fù)進(jìn)行的波浪的繪畫和跳繩等)的情況下,先手工編輯這樣的畫面的列并作為紋理的列,然后,采用順次附地把它映象到多邊形上去的辦法,來表現(xiàn)反復(fù)進(jìn)行同一動作的一連串的圖像。
作成這樣的紋理的列,由于需要很多手工作業(yè),故人們試圖利用應(yīng)用軟件。作為這樣的應(yīng)用軟件,人們熟悉例如下列的商品名稱。這些商品是Alias/Wavefront(Alias/Wavefront公司(110 Richomond,EastToronto,Ontario Canada M5c 1p1)生產(chǎn))。在利用該軟件的情況下,只要把預(yù)定的參數(shù)賦予軟件,就可以得到紋理列但是,在利用現(xiàn)有的這種的軟件的情況下,通例是在紋理列的最初和最后,即紋理的圖形會變成為不連續(xù)。
因此,在現(xiàn)有的圖像處理的區(qū)域中,在反復(fù)進(jìn)行的列的制作中還有進(jìn)行改良的余地。所以本發(fā)明的再一個具體的目的是使得可以用圖像處理做成這種的紋理列。
B6、在現(xiàn)有的圖像處理裝置中,為了提高回放圖像的戲劇效果,常進(jìn)行慢放,以將角色的動作減慢。但是,這種慢放的演出,其效果受限制。所以,本發(fā)明的再一個具體的目的是提供一種游戲用圖像處理手法,該手法可以使在營造出更為有效的戲劇感方面的回放速度進(jìn)行變化。
應(yīng)用本發(fā)明,則可以從各種各樣的視點提供可以極力壓低圖像處理所需的運算量或數(shù)據(jù)量,且可以更為實時地和真實地表現(xiàn)角色在畫面上的動作的游戲用圖像處理手法。在本發(fā)明中,為了實現(xiàn)從其主要目的派生出來的種種的具體的目的,采用了如下所述的種種的構(gòu)成。
構(gòu)成本發(fā)明的一個側(cè)面的一連串的構(gòu)成如下所述。就是說,本發(fā)明是一種下述游戲用圖像處理裝置把規(guī)定數(shù)目的模型設(shè)定于虛擬空間內(nèi),并控制這些模型以使其在虛擬空間中規(guī)定的方向上移動,使以該視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上,包括將虛擬的向心力施加到模型上的裝置。此外,還提供具有該游戲用圖像處理裝置游戲裝置。另外,還提供已記錄下含有執(zhí)行該圖像處理裝置的一連串的步驟的信息的記錄媒體。
另外,根據(jù)本發(fā)明,一種游戲用圖像處理裝置包括一種圖像處理器,其中當(dāng)模型正在運動時或靜止時,施加于其上的摩擦力的量會變化。
此外,根據(jù)本發(fā)明的游戲用圖像處理裝置中還具備一種圖像處理器,用于顯示與設(shè)置上述模型的舞臺的表面形狀相吻合的模型的投影象。
還有,根據(jù)本發(fā)明的游戲圖像處理裝置還具備一種圖像處理器,用于執(zhí)行虛擬視點的視場相對于作為顯示對象的上述模型和尚未設(shè)定為顯示對象的另一模型的重疊進(jìn)行判定,在肯定該判定的情況下,不顯示另一模型。
根據(jù)本發(fā)明的游戲用圖像處理裝置,還具備一種圖像處理器,用于相對于上述模型的移動軌跡的預(yù)定終點,設(shè)定與該終點不同的目標(biāo)點,并對移動軌跡進(jìn)行內(nèi)插以使上述終點與該目標(biāo)點一致。
根據(jù)本發(fā)明的游戲用圖像處理裝置,還具備一種圖像處理器,用于尋求上述模型設(shè)置于上述虛擬空間內(nèi)的高低差,并根據(jù)該高低差對于該模型修正所給定的動作。
采用這樣的構(gòu)成,就可以以更為豐富的現(xiàn)實感顯示角色等已設(shè)置在虛擬空間內(nèi)的模型的動作。具體地說,可以容易地生成一個模型在另一個模型的周圍轉(zhuǎn)圓圈的圖像。此外,還可以把已設(shè)置有模型的舞臺的狀態(tài)反映到模型的動作上去。還有,可以把舞臺的凹凸正確而簡單地反映到模型的投影圖像上。再者,即便是在把模型遮擋起來的位置上,在墻壁等的構(gòu)造物設(shè)定在虛擬空間內(nèi)的情況下,也可以進(jìn)行顯示而不會把模型擋住。此外,還可以使模型的活動與對手一側(cè)的模型的動作合在一起進(jìn)行修正,所以,可以真實地表現(xiàn)模型的豐富多彩的動作。由于已經(jīng)考慮到了模型的高低差,所以可以更富有現(xiàn)實感地生成優(yōu)良的圖像。
此外,構(gòu)成本發(fā)明的一連串的構(gòu)成如下所示。作為其中之一的具體構(gòu)成,本發(fā)明提供了一種在虛擬空間內(nèi)設(shè)定規(guī)定數(shù)目的模型并進(jìn)行控制,使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動,同時,使以該視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上的游戲用圖像處理裝置,其特征是包括一種用于把模型的移動軌跡作為殘像進(jìn)行表現(xiàn)的殘像處理器,其具備存儲裝置,用于原封不動地存儲上述模型的當(dāng)前活動以前的活動數(shù)據(jù);顯示控制裝置,用于和上述模型的當(dāng)前活動數(shù)據(jù)一起顯示該存儲數(shù)據(jù)。該顯示控制裝置還可以具備把戲劇效果加到上述存儲裝置的數(shù)據(jù)上去進(jìn)行顯示的演出裝置。該演出裝置可以進(jìn)行半透明的圖像處理。
作為另外的一種具體的構(gòu)成,本發(fā)明提供了一種在虛擬空間內(nèi)設(shè)定規(guī)定數(shù)目的模型并進(jìn)行控制,使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動,同時,使以該視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上的游戲用圖像處理裝置,其特征是具備下述裝置計算裝置,用于計算上述模型的移動特性;飛行體控制裝置,用于用上述運算裝置計算出來的計算結(jié)果控制飛行體的一連串的運動。此外,作為另外的具體的構(gòu)成,本發(fā)明的特征是在模擬設(shè)定在虛擬空間內(nèi)的模型的自由落下運動的游戲用圖像處理裝置中,具備模擬上述模型的全體運動的的第1裝置和把轉(zhuǎn)圓圈運動賦予上述模型的第2裝置。
此外,作為另外的具體的構(gòu)成,本發(fā)明提供一種在虛擬空間內(nèi)設(shè)定規(guī)定數(shù)目的模型并進(jìn)行控制,使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動,同時,使以該視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上的游戲用圖像處理裝置,其特征是具備下述裝置區(qū)域劃分裝置,用于把不規(guī)則形狀的區(qū)域設(shè)定于上述虛擬空間內(nèi);矢量設(shè)定裝置,該裝置是一把規(guī)定的矢量設(shè)定于上述區(qū)域與上述模型之間,如果模型要試圖移出該的區(qū)域,將該矢量設(shè)定在使模型不越過所劃分的區(qū)域的方向上;模型移動控制裝置,用于根據(jù)該矢量控制上述模型的移動。
另外,作為另外的具體的構(gòu)成,在本發(fā)明的裝置中,所形成的紋理在給定規(guī)定的參數(shù)后會周期性地變化,其特征是包括產(chǎn)生第一紋理列的第一裝置和產(chǎn)生第二紋理列的第二裝置,當(dāng)將參數(shù)給予各個裝置時,所述紋理列是這樣形成的,即使第一紋理列的第一或最后的紋理與第二紋理列的第一或最后的紋理變成為連續(xù)的形態(tài),第一紋理列和第二紋理列中的至少一列的透明度逐漸增加或逐漸減少,其目的是從兩紋理列的最初紋理開始順序進(jìn)行重疊。
本發(fā)明是一種形成周期性地變化的紋理的方法,其特征是包括先在規(guī)定的方向上變化的第一紋理列的第一步驟,和同樣地在規(guī)定的方向上變化的第二紋理列的步驟,并且其中第一紋理列的最后或第一紋理與第二紋理列的第一或最后紋理以連續(xù)方式形成,第一紋理列或者第二紋理列中的至少一方的透明度逐漸增加或逐漸減少,從而兩紋理列的最初紋理彼此間開始順序進(jìn)行重疊。
此外,作為另一具體的構(gòu)成,本發(fā)明提供一種在虛擬空間內(nèi)設(shè)定規(guī)定數(shù)目的模型,并進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動,同時,使以該視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上的游戲用圖像處理裝置,其特征是包括第一裝置,用于判定在兩個模型之間規(guī)定的條件是否已成立;第二裝置,用于將已建立的條件反映到各個模型的運動中去;第三裝置,用于在該條件已經(jīng)成立的時候使一個模型的回放速度對于另一模型發(fā)生變化。
倘采用這樣的構(gòu)成,則在可以更為實時地表現(xiàn)在虛擬空間中的模型的動作的同時,還可以生成演出感豐富的游戲圖像。說得更詳細(xì)點的話,倘采用其中之一的具體的構(gòu)成,則可以提供一種游戲用圖像處理裝置即便是在形成游戲圖像方面,有提高演出效果的考慮,也不會產(chǎn)生大的計算負(fù)荷。另外,倘采用另外的具體的構(gòu)成,則可以提供能夠使模型的動作正確地反映到飛行體上的游戲用圖像處理裝置。倘采用另外一具體的構(gòu)成,則可以提供可以使在虛擬空間內(nèi)自由落下的運動的模擬變成為更為高品質(zhì)的模擬的游戲用圖像處理裝置。倘采用再另一具體的構(gòu)成,則提供即便是不規(guī)則形狀的區(qū)域,也可以準(zhǔn)確且容易地執(zhí)行區(qū)域與模型之間的沖突判定肯定后的模型的動作(活動)的計算處理的游戲用圖像處理裝置。此外,倘采用另一具體的構(gòu)成,則即便是利用圖像處理,即便是反復(fù)地進(jìn)行顯示,也可以做成一連串的紋理列,該一連串的紋理列可以再現(xiàn)連續(xù)圖像而無不協(xié)調(diào)感。還有,倘采用另外的具體的構(gòu)成,則可以提供能夠在營造效果更為良好的演出感方面的回放速度進(jìn)行變化的游戲用圖像處理裝置。
附圖的簡單說明
圖1是作為本發(fā)明的實施例的圖像處理裝置的視頻游戲機(jī)的框圖。
圖2是實施例1的主處理的流程圖。
圖3是的斜視圖示出了圓周運動中的角色的圓周運動。
圖4是圓周運動處理的詳細(xì)流程圖。
圖5是從虛擬空間的上邊示出了圓周運動的模式圖。
圖6是相當(dāng)于圓周運動的結(jié)束狀態(tài)的斜視圖。
圖7是虛擬性的摩擦處理的原理圖。
圖8是虛擬性的摩擦處理的詳細(xì)流程圖。
圖9是投影顯示處理的原理圖。
圖10是交叉判定處理的原理圖。
圖11是交叉判定處理的詳細(xì)流程圖。
圖12是用內(nèi)切圓進(jìn)行近似的構(gòu)造物的xz平面圖。
圖13的原理圖示出了交叉判定處理的具體例。
圖14的原理圖示出了交叉判定處理的另一具體例。
圖15的原理圖示出了對壁狀的構(gòu)造物進(jìn)行近似的形態(tài)。
圖16的斜視圖示出了紋理的活動的標(biāo)準(zhǔn)形態(tài)。
圖17的斜視圖示出了紋理的內(nèi)插后的標(biāo)準(zhǔn)形態(tài)。
圖18的概念圖示出了用角色的仿樣函數(shù)進(jìn)行移動的軌跡。
圖19是紋理的活動處理控制動作的流程圖。
圖20的模式圖示出了在兩個模型之間存在有高低差的狀態(tài)。
圖21的流程圖示出了角色的高低差處理。
圖22是用來說明該處理的時間流的流程圖。
圖23的模式圖示出了進(jìn)行了高低差處理后的狀態(tài)。
圖24的照片示出了類似人物的角色的一個例子的正面。
圖25的照片示出了其第2個例子。
圖26是控制鍵盤的擴(kuò)大正視圖。
圖27示出了混合模擬的文件構(gòu)成。
圖28是用來對混合模擬進(jìn)行展開的流程圖。
圖29的圖面正視圖顯示出了在混合模擬處理過程中所顯示的畫面。
圖30的圖面正視圖顯示出了在同一處理過程中所顯示的另一畫面。
圖31的圖面正視圖顯示出了在同一處理過程中所顯示的另一畫面。
圖32的圖面正視圖顯示出了在同一處理過程中所顯示的另一畫面。
圖33的圖面正視圖顯示出了在同一處理過程中所顯示的另一畫面。
圖34的流程圖示出了實施例2中的主處理。
圖35是進(jìn)行了殘像處理后的模型的正視圖。
圖36是殘像處理的原理圖。
圖37是殘像處理的示意流程圖。
圖38是其詳細(xì)流程圖。
圖39是圖37的流程圖的詳細(xì)流程圖。
圖40示出了已飛起來的飛行體的軌跡。
圖41是說明飛行體的著地發(fā)生的說明圖。
圖42是說明飛行體的著地發(fā)生的說明圖。
圖43是說明飛行體的著地發(fā)生的說明圖。
圖44是說明飛行體的著地發(fā)生的說明圖。
圖45是說明飛濺的發(fā)生的說明圖。
圖46是發(fā)生飛濺之際的矢量線圖。
圖47是發(fā)飛濺之際的矢量線圖。
圖48是飛行體運動處理的流程圖。
圖49是已應(yīng)用了飛行體運動處理的角色的背視圖。
圖50是該處理的示意流程圖。
圖51是其詳細(xì)流程圖。
圖52是其詳細(xì)流程圖。
圖53是其詳細(xì)流程圖。
圖54示出了飛行體的運動形態(tài)。
圖55示出了飛行體的運動形態(tài)。
圖56示出了進(jìn)行自由下落運動的對象物的移動軌跡。
圖57是不定形區(qū)劃與模型之間的沖突判定處理的原理圖。
圖58是其流程圖。
圖59是紋理列的做成的原理圖。
圖60的正視圖示出了用模型產(chǎn)生飛行體的飛濺和著地的狀態(tài)。
圖61的側(cè)視圖用來說明用于說明損耗回放處理的原理的角色的動作。
圖62是從圖61的上方看的平視圖。
圖63的側(cè)視圖用來說明處于損耗回放狀態(tài)中的角色的動作。
圖64是從圖63的上方看的平視圖。
圖65的側(cè)視圖示出了已返回到本來的位置上的狀態(tài)的角色。
圖66是該處理的動作流程圖。
圖67是用不定形區(qū)劃與模型逐漸的沖突判定處理來表現(xiàn)的模型的活動圖。
圖68說明了圖54中的飛行體運動處理中的樹葉因風(fēng)使一片葉子的高度所受影響的系數(shù)。
優(yōu)選實施例以下,參照附圖對作為圖像處理裝置的視頻游戲機(jī)說明本發(fā)明的優(yōu)選實施例。
實施例1根據(jù)圖1~圖33說明視頻游戲機(jī)的實施例1。
在圖1中示出了本視頻游戲機(jī)的框圖。用該視頻游戲機(jī)可以分別執(zhí)行后述各個圖像生成和處理1~6。
該視頻游戲機(jī)包括對整個裝置加以控制的CPU塊10,進(jìn)行游戲屏的顯示控制的視頻塊11,產(chǎn)生效果聲音的音響塊12,讀取CD-ROM的子系統(tǒng)13等構(gòu)成。
CPU塊10由SCU(System Control Unit,系統(tǒng)控制單元)100,主CPU101,RAM102,ROM103,子CPU104,和總線105等構(gòu)成。該框圖是本發(fā)明的圖像生成裝置的核心。
主CPU101內(nèi)部具備DSP(Digital Signal Processor,數(shù)字信號處理器),可以高速執(zhí)行計算機(jī)程序。RAM102存儲由子系統(tǒng)13從CD-ROM讀出的各種多邊形數(shù)據(jù),也可用作主CPU101的工作區(qū)。
在ROM103中,存放有在裝置的初始狀態(tài)中用于進(jìn)行初始化處理的程序。SCU100控制在總線105、106、107進(jìn)行的數(shù)據(jù)傳送。此外,SCU101內(nèi)部還具備DMA控制器,用于在游戲進(jìn)行期間把必要的圖像數(shù)據(jù)送往視頻塊11內(nèi)的VRAM。
控制鍵盤2b,起著用戶的輸入裝置的作用,具備操作所需的各種按鍵。子CPU104即所謂的SMPC(System Manager & PeripheralController,系統(tǒng)管理器&外設(shè)控制器),具備根據(jù)主CPU101的請求從控制鍵盤2b收集外設(shè)數(shù)據(jù)的功能。
主CPU101根據(jù)由子CPU104轉(zhuǎn)送來的外設(shè)數(shù)據(jù)進(jìn)行在顯示器上顯示的圖像的移動處理。子CPU104鑒別已連接到插座2a(主機(jī)端子)上的外設(shè)機(jī)器的種類,并按照相應(yīng)于鑒別后的外設(shè)機(jī)器的種類的通信方式收集外設(shè)數(shù)據(jù)。
視頻塊11起圖形生成裝置的作用,包括用于用多邊形生成的圖像VDP(Video display Processor,視頻顯示處理器)120,和用作圖像合成、陰面處理和背景限幅的VDP130。它被連接到VDP和幀緩沖器122、123上。
當(dāng)生成在顯示器上顯示的虛擬空間的圖像時,顯示所需要的多邊形數(shù)據(jù)從主CPU101經(jīng)SCU100被轉(zhuǎn)送往VDP120,并寫入到VRAM121中去。已寫入到VRAM121中的多邊形數(shù)據(jù)作為含有每一象素16位或8位的色彩信息描畫用數(shù)據(jù)被存放到描畫用的幀緩沖器122或123中。被存放好了的描畫用數(shù)據(jù)被送往VDP130。主CPU101通過SCP100把控制描畫的控制信息供給VDP130。VDP130根據(jù)該控制信息控制描畫用數(shù)據(jù)。
VDP130已被連接到VRAM131上,其具有或者使顯示畫面整體垂直地或水平地移動或者使之旋轉(zhuǎn)的滾動功能,和決定多邊形的顯示順序的優(yōu)先度的功能(Z分類或Z緩沖)。VDP130通過存儲器132把描畫用數(shù)據(jù)向編碼器160輸出。已輸出到編碼器160的描畫用數(shù)據(jù)被變換成視頻信號的格式之后,進(jìn)行D/A轉(zhuǎn)換并在監(jiān)視裝置5上進(jìn)行顯示。在該監(jiān)視裝置5上根據(jù)該視頻信號顯示圖像。
音響塊12包括利用PCM方式或FM方式進(jìn)行聲音合成的DSP140和對DSP140進(jìn)行控制的CPU141。由DSP141生成的聲音數(shù)據(jù)在用D/A轉(zhuǎn)換器170變換成兩聲道信號后輸出到兩個揚聲器5a和5b中去。
子系統(tǒng)13有CD-ROM驅(qū)動器等,并具有讀入由記錄媒體供給的應(yīng)用軟件。
下面解釋用以上所說明的圖像生成裝置進(jìn)行的處理。圖2是一流程圖,它示出了由CPU塊10執(zhí)行的主處理,順序執(zhí)行以下處理用于使角色進(jìn)行圓周運動的圓周運動處理S200,虛擬摩擦處理S202,在具有高低差的地面上的影子的顯示(S204),就是說,角色的投影顯示處理,交叉判定處理(S206),角色的活動處理控制(S208),角色的高低差處理(S210)。沒必要的處理就不必進(jìn)行而轉(zhuǎn)移到其次的處理。以下詳細(xì)說明各個處理的內(nèi)容。
圓周運動處理這一處理大體上內(nèi)容如下。當(dāng)在圖示的左或右的方向上操作已經(jīng)說過的控制鍵盤2b的十字狀地形成的方向鍵26b(請也參照圖26)時,由該方向鍵操作的角色(勇士)30(參照圖3)就在虛擬空間內(nèi)上下左右方向上移動。在圓周運動處理模式中,在游戲者所操作的勇士30與對方勇士32之間加上虛擬的向心力(朝向?qū)Ψ降慕巧牧?,就可以實現(xiàn)游戲者一側(cè)的勇士30自動地在對方一側(cè)的勇士的周圍轉(zhuǎn)圈(圓周運動)的處理30。
根據(jù)圖4的流程圖說明這一處理的內(nèi)容。在步驟400中,判定是否已進(jìn)入圓周運動處理模式(判定1)。如果游戲者(比賽者)已執(zhí)行了規(guī)定的操作,即視為提出了圓周運動要求。例如,已經(jīng)按下了控制器(2b)的規(guī)定的按鍵。其次進(jìn)行讀入圖26的方向鍵26b的圖中所示的左右操作量等,檢測游戲者一側(cè)的勇士與對方勇士之間的位置,計算對方勇士相對于游戲者一側(cè)的勇士所成的方向(步驟402)。
接著,將該方向上的一角度給予游戲者一側(cè)的勇士30,且把朝向?qū)Ψ接率康奶摂M的向心力給予該勇士(步驟404)。從物理上來考慮向心力的話,則向心力與作用到兩個物體之間的引力等價。
若設(shè)對方勇士的x坐標(biāo)和z坐標(biāo)分別為(exp,ezp),設(shè)對方勇士的x坐標(biāo)和z坐標(biāo)分別為(mxp,mzp),則上述那樣的對方勇士的方向可以用arctan(exp-mxp,ezp-mzp)計算。此外,在進(jìn)行該計算時,兩方的勇士的高度方向的y方向的坐標(biāo),為方便起見沒有考慮。
其結(jié)果是借助于向心力和由切向鍵產(chǎn)生的左右方向的速度進(jìn)行在虛擬空間內(nèi)的圓周運動(步驟406)。借助于該圓周運動,游戲者的勇士30就可以朝向?qū)Ψ揭粋?cè)的勇士32并在其周圍轉(zhuǎn)圓圈。圖5是從虛擬空間的上方看到的該圓周運動的示意圖,勇士30進(jìn)行從狀態(tài)1經(jīng)由狀態(tài)2、狀態(tài)3到狀態(tài)4的圓周運動。上述的圖3是從規(guī)定的視點顯示的狀態(tài)1的虛擬空間的圖像,是將在上述的監(jiān)視器5(參照圖1)中顯示的圖像。圖6是與狀態(tài)4中所涉及的圖3相同的圖像。
因此,倘采用所說明的圓周運動處理,則由于對一個角色提供了虛擬的向心力,所以對于游戲者來說,只需要在圖示的左右方向上操作圖26的方向鍵26b,就可以容易地把圓周運動給予角色30。例如,就可象上述那樣地簡單地實現(xiàn)自己所操作的勇士30在對方一側(cè)的勇士32的周圍轉(zhuǎn)圈的動作。
虛擬的摩擦處理這一處理的內(nèi)容是,在角色的動作中采用因地面的傾斜而滑動,和改變因地面的性質(zhì)而加在角色上的摩擦力,且在角色進(jìn)行移動的時候加上動摩擦,在角色未進(jìn)行移動的時候加上靜摩擦的辦法,使角色的動作變成為更加多彩。
首先,圖7示出了虛擬空間內(nèi)的地面的剖面。如圖8所示,在步驟800中,因地面的傾斜而滑動的量可以計算如下滑動量(dv/dt)=ivgi規(guī)定的常數(shù)v表示地面傾斜的法線單位矢量g重力加速度其中,所謂法線單位矢量,指的是圖7(1)所示的相對于切面切線方向的法線矢量。當(dāng)該法線單位矢量對于虛擬空間的坐標(biāo)軸所形成的角度(θ)變大時,對于處于該地面上的角色提供更大使之沿著傾斜的地面向下滑的滑動量(加速度)。
在其次的步驟802中,判定角色(勇士)是否正在移動。例如,游戲者判定是否正在操作用于控制勇士的動作的方向鍵(判定1)。
在角色正在動作時,就加上動摩擦,在角色尚未動作的時候,就加上靜摩擦(步驟804,步驟806)。摩擦(=dv/dt)本身可以計算如下。
M·(dv/dt)=μ·S·M(g·cosθ+(dv′/dt)·sinθ)dv/dt=T·g·cosθ+T·(dv′/dt)·sinθ其中M重量v摩擦速度(計算后的物體的速度)v′物體的速度μ摩擦系數(shù)
S角色與地面接觸面積(常數(shù))g重力加速度(常數(shù))θ地面的角度T=μ·S動摩擦和靜摩擦采用對用上式得到的摩擦(或摩擦系數(shù))加上規(guī)定的處理的辦法決定。但是,靜態(tài)摩擦的值比動態(tài)摩擦的值大。這一摩擦因地面角度而變,地面的傾斜越大則摩擦的值越小。
其次,決定地面的狀態(tài)。就是說,判定角色所接觸的地面,例如,是水場還是砂場。這些屬性都事先虛擬性地賦予了每一地面。例如,在砂場的情況下,使已計算好了的摩擦量變成2倍,在水場的情況下,則使摩擦量變成為3倍。接著,使該摩擦力反映到原先計算好了的滑動量上,使之減少(步驟810)。
由于借助于這一處理,總是把靜止摩擦或動摩擦加到角色上,所以停止不動的角色就不容易起動,一旦開始動起來就將變的易于移動。此外,還可以用地面的屬性來改變角色的移動特性。采用上述這些事項,就可以更真實更為豐富地表現(xiàn)角色的移動了。
在有高低差的地面上顯示影子如圖9中所具有的那樣,該處理的內(nèi)容是,在角色所站立的地面90上有凹凸92的情況下,對地面加上凹凸的同時用更簡單的計算來顯示角色的影子(投影象)。圖9示出了該處理的概要。圖中的94是高度為0的虛擬的基準(zhǔn)線,而96是位于無限遠(yuǎn)處的平行光源。
該人物由頭、胸、腹、腰、足等的集合構(gòu)成。各要素都由多個多邊形構(gòu)成,圖面的yG是從基準(zhǔn)線到角色所站立的地面處的距離,y1…yn是每一要素的從地面到基準(zhǔn)線為止的距離。這種處理,可以用下述計算式計算。
E′(x′,y′,z′)=Ms·E(x,y,z)E′(x′,y′,z′)影子的坐標(biāo)點E(x,y,z)人物(角色)的坐標(biāo)點Ms是用來把影子的坐標(biāo)變換成世界坐標(biāo)系的矩陣(行列式)。該Ms可以用下式給出。
Ms=Mu·(-Tyg)·Pn·Tyn·(-Tsn)·Rn·TsnMu用來把人物的坐標(biāo)變換成圖9的世界坐標(biāo)系的變換矩陣。
Tyg用于使人物從所站立的地面平行移動到基準(zhǔn)線為止的平行移動矩陣。
Pn用于把人物投影到基準(zhǔn)線上的變換矩陣。
Tyn用于使斜向投影的的影子平行移動到各個客體的接地點(即,各個客體所處的地面)的矩陣。
Tsn用于使各個客體對于世界坐標(biāo)系的原點平行移動的平行移動矩陣。
Rn用于使影子的多邊形與地面的傾斜象吻合地進(jìn)行旋轉(zhuǎn)的矩陣。
這一處理,用下述過程進(jìn)行。
處理步驟1;用來形成影子的人物角色91從地面上平行移動到高度為0的基準(zhǔn)線為止,接著,處理步驟2將此人物多邊形集合體91,用上述平行光源96斜向投影到基準(zhǔn)線94上,接著,處理步驟3使斜向投影后的要素分別對各個客體以y1…yn的幅度平行移動到地面,接著,處理步驟4使每個要素從世界坐標(biāo)系的位置平行移動到其坐標(biāo)系的原點,接著,處理步驟5根據(jù)各自的地面角度,使各個客體旋轉(zhuǎn),最后,處理步驟6進(jìn)行平行移動,使用過程4而移動到原點的客體返回原來的坐標(biāo)系。
因此,倘采用該處理,則在地面90存在著凹凸的情況下,就可以與該凹凸相吻合地簡單地在加上凹凸的地面上顯示角色的投影象。
交叉判定處理圖10的xz平面圖示出了捕捉2個角色,例如,互相對面的勇士(人物1,人物2)的虛擬攝象機(jī)的視野區(qū)域。用該虛擬攝象機(jī)(視點)來顯示上述的圖3所示的那樣的圖像。在該處理中,除勇士之外的墻壁,房子之類的能將視野區(qū)域遮住的虛擬的構(gòu)造物已與視野重疊起來的情況下,使得該構(gòu)造物的一部分和全體都不顯示。在圖10中,構(gòu)造物100、102對于從視點開始到人物為止的視野區(qū)域進(jìn)行遮擋,但構(gòu)造物104雖然處于由視點所顯示的區(qū)域中,但是,對前者的區(qū)域卻無妨礙。在這里進(jìn)行消去構(gòu)造物102和104的圖像生成或圖像處理。
圖11的流程圖示出了這一處理。在進(jìn)行這一處理之際,由于可以更為迅速且容易地進(jìn)行這些構(gòu)造物是否已與視野區(qū)域重疊的判定,所以,在xz坐標(biāo)面上進(jìn)行判定,且已具有厚度的物體,可以用圓來近似。圖12的xz平面圖示出了用內(nèi)切圓近似該構(gòu)造物的狀態(tài)。
在圖11中,步驟110是判定該近似圓是否已重疊到上述視野的區(qū)域上的處理。圖13在該步驟中的判定的概念圖。對構(gòu)成相當(dāng)于從視點到人物1、2為止的區(qū)域的三角形的區(qū)域的全部的邊根據(jù)以下的處理,進(jìn)行中心點為T的具有半徑d的某一近似圓是否重疊的判定。此外,在以下的說明中,矢量L、R、T是從規(guī)定的原點向著L、R、T形成的矢量。還有,對于三角形的各邊的各個頂點按順序在順時針方向上設(shè)定L點、R點。r=R-L
t=T-Lp=c+L-Tcx=rx·|c|/|r|,cy=ry·|c|/|c|其中,[公式2]|c|=|t|cosθcx矢量c的x分量cy矢量c的y分量rx矢量r的x分量ry矢量r的y分量根據(jù)內(nèi)積定理[公式3]|r|=|t|cosθ=rx tx+rz tz|c|/|r|={rx tx+rz tz}/|r|2={rx tx+rz tz}/(rx2-rz2)其中,[公式4]0≤|c|/|r|≤1在近似圓的中心T位于直線TR的正區(qū)域的情況下(在T位于從三角形的內(nèi)側(cè)往外的情況下),[公式5]若|p|-d>0則圓對于三角形的內(nèi)側(cè)的區(qū)域是獨立的,就是說該區(qū)域中無重疊,[公式6]在|c|/|r|<0或1<|c|/|r|的時候,若點T位于直線LR的正區(qū)域,則圓對區(qū)域是獨立的。
在步驟110中,在近似圓已重疊到三角形的區(qū)域內(nèi)的情況下,就進(jìn)行不顯示該構(gòu)造物的處理(步驟111),在已重疊的情況下,就向下一步驟(步驟112)前進(jìn)。其次的處理的內(nèi)容是,對該構(gòu)造物在一定方向上具有長度的墻壁之類的物體進(jìn)行重疊判定。該處理如圖14所示,可如下述進(jìn)行。
當(dāng)構(gòu)造物近似為直線Ts時,判定該直線與三角形的區(qū)域之間的交叉。對構(gòu)成三角形的區(qū)域的所有的邊進(jìn)行以下的處理。設(shè)判定直線LR和任意的點P之間的位置關(guān)系的函數(shù)為F1(P),[公式7]F1(P)=a1 Px+b Pz+c1a1=Lz-Rzb1=Rx-Lxc1=LxRz-RxLz設(shè)判定直線ST和任意的點P之間的關(guān)系的函數(shù)為F2(P),[公式8]F2(P)=a2 Px+b Pz+c2a2=Lz-Tzb2=Tx-Sxc2=Sx Tz-Tx Sz若F1(S)·F1(S)為0且F2(S)·F2(S)為0,則直線TS被判定為與直線LR已交叉。
在該交叉被否定了的情況下,就轉(zhuǎn)移到步驟114判定近似圓的重疊的有無。其理由如下。在上述的直線已完全地進(jìn)入到三角形的區(qū)域中去了的情況下,重疊判定被否定而顯示壁狀的構(gòu)造物。于是,就把相當(dāng)于圖15的那樣的壁的厚度的小圓150給予該直線TS,并對該小圓進(jìn)行與步驟110相同的重疊判定。其結(jié)果是,即便是在直線TS完全進(jìn)入到三角形的區(qū)域中去,在步驟112的判定中已判定為沒有重疊的情況下,在該近似圓已進(jìn)入了三角形的區(qū)域內(nèi)的情況下,也將被判定為有重疊而轉(zhuǎn)移到步驟111中去。
借助于這些處理,就可以在向著已成為顯示對象的視野區(qū)域上不用虛擬的攝象機(jī)顯示墻壁、柵和圍墻等的構(gòu)造物。接著,如圖10所示,在該區(qū)域上已經(jīng)顯示出了該墻壁等的構(gòu)造物的104之類的情況下,就保持原樣不變地顯示該構(gòu)造物。倘采用以上的處理,就可以滿意地顯示角色而不會使多余的構(gòu)造物遮擋角色。當(dāng)然,在未設(shè)定作為顯示對象的角色的情況下,這些構(gòu)造物則可以照原樣進(jìn)行顯示,此外,作為近似圓也可以不用圖12的情況下的內(nèi)切圓而改用外切圓。
角色的活動處理控制該處理的內(nèi)容是,當(dāng)希望連續(xù)地顯示一個動作的一連串效果時,對之進(jìn)行內(nèi)插使得一個動作的結(jié)束位置與目標(biāo)點相吻合。
圖16示出了一個角色的活動的一連串的過程,類似人物的角色(勇士)160借助于游戲者對鍵盤2b的操作,向著對方勇士反復(fù)地用胳膊160A進(jìn)行的毆打的過程。
該胳膊的動作,用眾所周知的仿樣(spline)函數(shù)(特別是3次仿樣函數(shù))進(jìn)行計算并顯示在監(jiān)視器上?,F(xiàn)在,設(shè)該胳膊160A正向著對方一側(cè)的勇士的胸部移動的情況(例如,胳膊快速彎曲的情況)下,對游戲者來說,要把正在移動著的胳膊的軌跡快速地如圖17所示改變到下方,是非常困難的,另外,若企圖僅僅在CPU塊10的一側(cè)進(jìn)行上述動作,則胳膊的動作就易于變成為不自然。
于是,在現(xiàn)在正在執(zhí)行中的活動的仿樣軌跡變化過程的終點附近設(shè)以連接區(qū)域,在該連接區(qū)域上,進(jìn)行給予新的仿樣函數(shù)等的內(nèi)插,使得當(dāng)初的仿樣軌跡的終點變成為另一位置的目標(biāo)點。
用附圖對此進(jìn)行說明。如圖18(1)所示,位于圖16的勇士的胳膊的頂端的拳頭108A,將沿著由仿樣函數(shù)決定的軌跡180移動。圖18(2)示出了用該仿樣函數(shù)得到的軌跡180,拳頭180A就從該估計的起點進(jìn)行移動直到終點,之后回到起點。
現(xiàn)在,假定手指180A正在從仿樣函數(shù)軌跡180的起點向著終點進(jìn)行移動。在該過程中,假定,例如,因?qū)Ψ揭粋?cè)的勇士的舉動變化等產(chǎn)生了把當(dāng)初的終點變更為目標(biāo)點的必要。
這樣一來,拳頭位置180A位于連接區(qū)內(nèi)時,CPU塊10校正該區(qū)域的函數(shù),以使拳頭停在目標(biāo)點。這一內(nèi)插,例如,可以如后述那樣地進(jìn)行。當(dāng)然,也可以采用使連接區(qū)域的仿樣函數(shù)或系數(shù)等進(jìn)行適當(dāng)?shù)淖兓?。其結(jié)果是,如圖16所示的活動自動的內(nèi)插為圖17的活動,連接區(qū)域中的活動也得以更為圓滑地表現(xiàn)。此外,為便于進(jìn)行圖示,在圖18(2)中,縱軸僅僅示出了y軸方向的移動量。就象3維視頻游戲的一般情況那樣,x軸定為面對監(jiān)視器的畫面的橫方向,y軸則定為其高度方向,z軸定為其縱深方向,就是說與畫面相垂直的方向。
連接區(qū)域(連接時間)由具備結(jié)束幀的多個幀群適當(dāng)?shù)卦O(shè)定。此外,對于拳頭以外的胳膊上部和胳膊下部的各個部分,也可以用同樣的處理以完成整個胳膊的內(nèi)插后的活動。連接區(qū)域中的內(nèi)插后的坐標(biāo)可用下述的特性式子來設(shè)定。
當(dāng)前坐標(biāo)+(當(dāng)前坐標(biāo)-目標(biāo)坐標(biāo))·(當(dāng)前時間/連接時間)圖19是由于說明上述的處理的流程圖,在步驟190中,游戲者操作鍵盤26b并判定是否已發(fā)生了活動移動的指令。在步驟192中,判定目標(biāo)點是否已設(shè)定于與終點不同的坐標(biāo)上。在步驟194中,再現(xiàn)被選擇的活動。在步驟196中,在該判定是肯定的情況下,就在計算連接時間的同時,轉(zhuǎn)移到步驟194,再現(xiàn)該連接時間的內(nèi)插后的活動。在步驟198中,判定現(xiàn)在的幀是否一連串的活動的結(jié)束幀,在是結(jié)束幀的情況下,就返回主程序,在尚未到結(jié)束幀的情況下,就返回步驟192。
在這里,構(gòu)成連接時間的連接幀,是活動的最大幀數(shù)(從圖18(2)的起始幀到結(jié)束幀為止的幀數(shù))的0.1,在連接幀超過10的情況下,就固定為10。連接幀只要在大于1且在最大幀數(shù)的1/2的范圍的話就可以。若連接幀過長,則活動所具有的原來的動作就會丟掉,另一方面,若過短,則內(nèi)插將變得陡峻,動作將失去圓滑性。
倘采用該處理,則可以得到如下效果。當(dāng)象視頻游戲裝置那樣,為了迅速地操作在游戲畫面上登臺的勇士等的角色而操作控制器時,就可以連續(xù)地再現(xiàn)角色的多彩的動作。這時,在正在再現(xiàn)一連串的活動的時刻,即便是企圖與對方的角色的快速的動作相協(xié)調(diào)地變化其活動,只要活動本身是固定的活動,那就是困難的。但是,如已經(jīng)說過的那樣,倘對活動進(jìn)行內(nèi)插,則結(jié)果極變成為可以多彩地再現(xiàn)與例如對方一側(cè)的角色的動作相協(xié)調(diào)的活動,使活動變成為現(xiàn)實感更為豐富的活動。通常,用戶進(jìn)行這樣的內(nèi)插是很困難的,最重要的是,要是用現(xiàn)有的視頻游戲裝置的話就不能構(gòu)成為使之進(jìn)行這樣的內(nèi)插。
此外,本處理雖然是以用仿樣函數(shù)對活動進(jìn)行計算的情況為例進(jìn)行的說明,但該處理也可以應(yīng)用到可以順次再現(xiàn)預(yù)定的圖形的圖形改變的方式中去。在這種情況下,在連接區(qū)域中,只要使之再現(xiàn)修正后的圖形即可。
角色的高低差處理本處理的內(nèi)容是,在角色(勇士)和地面之間有高低差(leveldifference)時,對該高低差進(jìn)行修正以顯示所希望的圖像。例如,如圖20所示,在互相面對面的兩個勇士200和202之間存在著高低差的情況下,從勇士200向位于高的位置處的勇士水平地反復(fù)出拳是不現(xiàn)實的。所以,本處理使得對該高低差進(jìn)行修正,使勇士200的攻擊朝向較高的方向(參照圖23)。
本處理,如圖21所示,在步驟2100中,判定是否有必要修正該高低差。在該判定中,定為“有必要”的是這樣的情況,例如如圖所示,對于面對面的勇士來說,從一方的勇士對另一方的勇士,發(fā)生了拳打腳踢的攻擊要求(指令)。
其次,在該判定是否定的情況下,就返回主程序。另一方面,在該判定是肯定的情況下,再在步驟2102中進(jìn)行對方一側(cè)的勇士是否站在地面上,即,角色與地面之間的沖突的判定,在這也是肯定的情況下,因需要進(jìn)行角色的高低差處理而轉(zhuǎn)移到下一步驟。在該判定為否定的情況下,程序結(jié)束。
在下一步驟2104中,計算從游戲者本身所操作的角色所站立的地面到該角色為止的距離。對于對方一側(cè)的角色也進(jìn)行同樣的計算。其次,在步驟2106中,將此結(jié)果與規(guī)定值進(jìn)行比較,在超過了規(guī)定值的范圍的情況下,就在步驟2108中,進(jìn)行使有關(guān)上述距離的差收縮于該范圍之內(nèi)的處理。就是說,設(shè)一方的游戲者所操作的勇士的高度為(my)與另一方的游戲者所操作的或圖像處理裝置本身用規(guī)定的程序自動地操作的勇士的高度為(ey),則兩者的差(diff1)將變成為(my-ey),例如對(diffi1)進(jìn)行是否處于下述范圍內(nèi)的判定-0.15≤diff1≤0.15,在(diff1)已超過了該范圍的情況下,比該范圍小的diff1,就把它定為-0.15,比該范圍大的,則將之定為0.15,在該范圍內(nèi)的情況下,就把diff1照原樣不動地確定為(diff2)。至于象這樣地對diff1進(jìn)行修正的理由將在下邊說明。
在下一步驟2110中,用發(fā)生攻擊力的時間(幀數(shù))除diff2,以其結(jié)果作為“結(jié)果1”,用從發(fā)生攻擊力到解除對抗為止的時間除diff2,把其結(jié)果定為“結(jié)果2”。此外,用圖22進(jìn)行說明。圖22示出了攻擊動作(勇士伸腳踢,出拳,跳躍等)的動作,對于1,2…5的每一時間的幀的流動(時間的流逝)如下所述。
1動作的開始(第0幀)2攻擊力的發(fā)生(第1~3幀)3攻擊力的消滅(第3~4幀)4對抗時間(這是不能接受其它的攻擊動作的指令的時間,可以是第0~4幀)5動作的結(jié)束(第0~5幀)因此,上述的“結(jié)果1”將變?yōu)?diff2/2),而“結(jié)果2”則變?yōu)?diffi2/(4-2))。這些值當(dāng)然要設(shè)定和在規(guī)定的工作RAM區(qū)域中。示于圖22的特性對于每一動作都已預(yù)先定好了。結(jié)果1是相當(dāng)于攻擊力發(fā)生之前的每一幀的變化率的值,結(jié)果2是相當(dāng)于對抗被解除為止的每一幀的變化率的值。
接下來,在步驟2112中,決定在對每一所要求的動作進(jìn)行時的手和腳等的移動的坐標(biāo)。該坐標(biāo)值已經(jīng)以對對方一側(cè)的角色沒有高度之差為前提而預(yù)先定好了。把該坐標(biāo)(調(diào)整墊,leaf)定為“結(jié)果3”。當(dāng)用一函數(shù)fat執(zhí)行一個動作以返回到調(diào)整墊leaf時,可根據(jù)動作時的手或腳的空間坐標(biāo)位置來決定調(diào)整墊。在下一步驟之后的步驟是說明執(zhí)行攻擊動作時的處理的步驟。
在步驟2114中,檢測從動作發(fā)生之后當(dāng)前所顯示的幀相當(dāng)于第多少幀。在其次的步驟2116中,判定該幀是否發(fā)生攻擊力之前的幀。在圖中,到幀1為止,判定為攻擊力發(fā)生之前的幀。
其次,在步驟2116中的判定結(jié)果是肯定的情況下,就在步驟2118中,使上述“結(jié)果1”與幀數(shù)相乘,把其運算結(jié)果作為差加到上述步驟2112的調(diào)整墊上。接著,用其結(jié)果,用眾所周知的逆運動學(xué)(inversekinematic)的技術(shù)(例如,‘機(jī)器人的力學(xué)和控制(ロボツトの力學(xué)と制御)’,系統(tǒng)控制信息學(xué)會編,有本卓著,朝倉書店發(fā)行,5·2逆運動學(xué)(132頁~)),根據(jù)對調(diào)整墊加上的差的值等重新計算勇士的身體的形狀。
在上述的步驟2116中,在已判定為是已發(fā)生了攻擊力之后的情況下,就在步驟2200中,從解除對抗的幀數(shù)(圖中的“4”)中減去現(xiàn)在的幀數(shù)(圖的“2或3”),該處理進(jìn)行到給結(jié)果2乘上這一幀數(shù)的步驟中去。
其結(jié)果是,用步驟2118,如圖23所示,從自己所操作的勇士200向?qū)Ψ降挠率?02,向已對勇士的高低差進(jìn)行了補償?shù)母叨壬斐鋈^,在拳頭命中后或即便是沒有命中,之后也要邊對作為拳頭而伸出的胳膊進(jìn)行高低差補償邊返回原來的位置。
倘采用在這里所說明的處理,則由于執(zhí)行反映了2個勇士的高低差的處理,故從一個勇士發(fā)出的攻擊(拳頭,腳踢)向著處于高的位置上的勇士進(jìn)行,所以可以提供符合實際的攻擊的現(xiàn)狀的圖像。因此,即便是在存儲器中事前沒存儲下對處于高的位置的勇士的活動,也可以在已反映了角色件的高低差的狀態(tài)下,實現(xiàn)一個角色與另一角色之間的圖像處理。
此外,之所以對diff1進(jìn)行修正,是因為如下的理由。若不進(jìn)行這樣的修正,假如在兩方的勇士間有大的高低差,則從一方的勇士向?qū)Ψ降挠率康拇螕?,說得極端一點的話,將變成為向著對地面呈直角的方向,反而會變成為不自然的緣故。
此外,在已說明過的各個處理的說明中,雖然是以視頻游戲為例進(jìn)行的說明,但并不受限于此。在圖1中,也可以不用CD-ROM而代之以用ROM盒式磁盤。這些物品起著已存儲下本發(fā)明的圖像生成裝置的動作程序的存儲媒體的作用。
此外,在交叉判定處理中,定為除完全不顯示已說過的構(gòu)造物的情況之外,用網(wǎng)狀多邊形或多孔物體(polyline)等顯示該構(gòu)造物也包含于“不顯示”的形態(tài)之內(nèi)。還有,圖24和圖25,分別是作為本發(fā)明的模型的類似人物的角色(勇士)的一個例子。
至于用CPU塊10進(jìn)行的輝光黑點(glow shading)(其它的黑點也一樣),它不僅可以實施在角色的所有多邊形上,也可以僅僅對角色的一部分,特別是對顏色進(jìn)行線性內(nèi)插表現(xiàn)出立體性的部分(例如,相當(dāng)于已露了出來的皮膚的多邊形)進(jìn)行處理。借助于這樣的處理,降低給予CPU塊10上的處理執(zhí)行上的負(fù)荷就成為可能。在圖24的角色中,僅對從衣服中露了出來的手指、臉、以及脖子下邊的胸部進(jìn)行了輝光黑點處理,在圖25中,也可以對幾乎上半身和腿部進(jìn)行輝光黑點處理。
此外,在對各個多邊形加上了Z分類的情況下,在四角形的多邊形中,雖然以往利用4個頂點,但是也可以僅僅用分別連接兩個點的對角線的交點(中點)進(jìn)行判定。其結(jié)果是,可以減少主CPU存取存儲器的頻率以改善處理速度。再有,即便是利用中點加上Z分類,由于該中點是4個頂點的平均值,故可以不加變動的維持用了4個頂點的Z分類的精度。在三角形的多邊形的情況下,可以利用重心。
其次,對上述的圖像生成裝置的處理動作的另一實施例進(jìn)行說明。圖26的正視圖示出了上述控制鍵盤2b的細(xì)節(jié),該控制鍵盤具有已經(jīng)說過的方向鍵26b和A、B、C、X、Y、Z、L、R等各個按鍵。這些方向鍵或按鍵的按下,與圖24或圖25的角色(勇士)的動作相對應(yīng),例如,A按鍵相當(dāng)于“對來自對方的勇士的攻擊的防御行動”,B按鍵相當(dāng)于“對方的勇士伸出的拳頭”,C按鍵則相當(dāng)于“向?qū)Ψ降挠率可斐鋈^”。本身為用戶的游戲者,雖然想多彩的操作這些鍵和按鍵來操作角色使之滿足自己的希望,但是要想正確地操作極其迅速而多彩地動作的勇士,還需要非常的熟練才行。
所以,在這里要說明的處理形態(tài)中,如圖27所示,把本身為按下多個按鍵功能的組合的指令動作的集合作為混合動作,并以此作為文件設(shè)定于工作RAM中。然后,用按下上述按鍵之一的辦法對之進(jìn)行讀出,使勇士順次作出指令動作。在圖27中,象PPK這樣地產(chǎn)生的,與順次按下了B鍵,B鍵,C鍵的情況相等,而象P+K這樣的產(chǎn)生的,則與同時按下了B鍵和C鍵的情況相等。此外,對于各個動作已變成為可以設(shè)定該動作所占的幀數(shù)。因此,由于游戲者可以自由地設(shè)定混合動作中的各個指令動作的幀數(shù),所以可以多彩地作出自己所希望的混合動作。作為該混合動作的具體例子,有“先把對方一側(cè)的勇士摔倒,待他剛起來時就踢”等等。
如果說得再詳細(xì)一點,“P、K、P”表示連續(xù)地按下拳擊鍵、腳踢鍵、拳擊鍵,而且,在已判定這些已經(jīng)連續(xù)時,若假定進(jìn)行摔跤,則在已按下P鍵時角色就進(jìn)入拳擊的活動。從該活動的開始到例如活動變成為返回拳擊為止的期間,如果假定按下了K鍵,則在從已伸出了拳頭的姿勢到變成為收回拳頭的活動為止的時間內(nèi)開始進(jìn)行腳踢,在腳踢的活動已作完的期間再次輸入P,則判斷為連續(xù)動作,連續(xù)地進(jìn)行摔跤的活動。如果把這時的定時和在先前的腳踢中摔倒的角色的定時合在一起,則即便是相同的摔跤,也可以作成為易于發(fā)揮動作等非常有效的摔跤。
游戲者可以制作多個這樣的混合動作文件并給各個文件分配一個按鍵。當(dāng)然,若按下沒有分配該混合動作文件的按鍵,就將出現(xiàn)原來已分配給該按鍵的單獨的動作。把混合動作登錄到何種范圍的按鍵上去,應(yīng)根據(jù)混合動作的必要性或單獨動作的必要性恰當(dāng)?shù)貨Q定。各個文件中所分配的按鍵,也可以是多個。
根據(jù)示于圖28的流程圖說明其次的本處理的動作。首先,在步驟S280中,判定上述的按鍵是否已按下。在按鍵已被按下的情況下,在對于被按下的按鍵已登錄下混合動作的情況下(步驟S282,肯定),就在步驟S284中,按順序讀出已登錄在工作RAM中的混合動作中的各個指令(與多個或單獨的按見的按下相等)。接著,在步驟S286中,判定文件中的指令是否執(zhí)行到最后,在這一判定是肯定的情況下,就直到結(jié)束為止反復(fù)地執(zhí)行該流程。
另一方面,在步驟S280中,在沒有按鍵被按下的情況下,就返回,還有,在步驟S282中,在已按下的按鍵未登錄在混合動作的文件中的情況下,就執(zhí)行已分配給該按鍵的單獨動作。
倘采用這里所說明的實施例,則把對角色(模型)的動作指令的組合(例按下動作開關(guān)的組合、一個開關(guān)的按下、多個開關(guān)的按下、順次按下這些開關(guān)、或同時按下這些開關(guān))預(yù)先存儲到存儲器中,并把它做成為用簡單的開關(guān)操作,例如,按下一個按鍵的辦法,使圖像處理裝置進(jìn)行讀出,并根據(jù)所讀出的指令群連續(xù)地控制模型的動作(活動)。因此,如上所述,用戶就可以表現(xiàn)無須進(jìn)行復(fù)雜的鍵操作且可以適合自己的愛好的更為多彩的模型的動作(活動)。
還有,圖29是用來在這里所說明的混合處理時在監(jiān)視器上顯示的模式選擇的初始畫面,為要進(jìn)行混合動作的選擇要選擇上方右端的畫面。圖30是示出了已把按鍵(鍵)分配給了動作的畫面。圖31是用來作成上述混合動作文件的畫面,圖32的畫面則示出了彼此的勇士出于格斗狀態(tài)的一個狀態(tài)。圖33是在該一個狀態(tài)的畫面上進(jìn)一步在后邊展開的畫面,是勇士“ぁきら(阿基拉)”把勇士“ゥラ(烏拉)”摔倒了的狀態(tài)的畫面。從圖33可知,在一方的勇士把另一方的勇士摔倒了的時候,(在CPU塊一側(cè)這樣判定的時候),畫面中的角色330就變成為對此進(jìn)行顯示。在圖33中,采用使“帶花蕾的類似植物的角色”變更為“已開了花的類似植物的角色”的辦法,來顯示這一情況。
實施例2接著,根據(jù)圖34~圖68說明作為圖像處理裝置的視頻游戲機(jī)的實施例2。該實施例2中的視頻游戲機(jī)的硬件構(gòu)成與上述的實施例1相同,故免予說明。
圖34的流程圖示出了由CPU塊10執(zhí)行的主處理,執(zhí)行后述的各個處理。S200是殘像處理程序,S202是飛揚處理的程序(飛行體的處理),S204是模型的自由下落的處理,S206是不規(guī)則區(qū)域與模型的沖突判定處理,S208進(jìn)行回放速度的變更處理。各個處理都反復(fù)執(zhí)行。以下,對各個處理進(jìn)行說明。
殘像處理圖35示出了對于作為模型的勇士適用的殘像處理的原理。在圖35中,30是勇士,對于勇士的腳30b進(jìn)行殘像顯示。就是說,在顯示現(xiàn)在的幀(一個場面)的實像的同時,同時顯示以前的幀的殘像1~4。
圖36示出了該殘像處理的原理。多邊形數(shù)據(jù)文件(或參數(shù)文件)存儲了規(guī)定該勇士的腳的“環(huán)繞式腳踢”活動的參數(shù)。多邊形數(shù)據(jù)文件#1~#n示出的是距殘像開始點的幀數(shù)。
在多邊形數(shù)據(jù)文件#1中,存儲有與殘像4相當(dāng)?shù)哪P?1。因此,在該時刻,勇士的模型#1作為實像被顯示在畫面上。在下一時刻,把與殘像3相當(dāng)?shù)哪P?2存儲到多邊形數(shù)據(jù)文件#2中。以后用同樣的處理,在畫面上顯示勇士的腳模型#3…#n。在圖4的第4幀的情況下(#4),作為腳的實像模型順次顯示#1~#4。
作為殘像用緩沖器,設(shè)定有B#1、B#2、B#3和B#4。在這些緩沖器中,順次記錄有已記錄到多邊形數(shù)據(jù)文件中的勇士的活動數(shù)據(jù)。在圖36的下欄里邊示出了這一情況。已記錄在多邊形數(shù)據(jù)文件#1中的模型#1的數(shù)據(jù),在殘像開始后記錄在殘像用的緩沖器#1中,在其次的時刻已記錄在多邊形數(shù)據(jù)文件#2中的模型#2的數(shù)據(jù)被記錄在殘像用緩沖器#1中,殘像用緩沖器#1的內(nèi)容被送往殘像用緩沖器#2。就是說,殘像用緩沖器的數(shù)據(jù)被以#1→#2→#3→#4的順序送出,從多邊形數(shù)據(jù)文件中把前一幀中的實像的活動數(shù)據(jù)送往殘像用緩沖器#1中。殘像緩沖器#4順次照原樣更新。
例如,在第5幀的時刻,把模型#5的活動數(shù)據(jù)存放在多邊形數(shù)據(jù)文件中,而且,作為實像顯示該模型。另一方面,把模型#4的活動數(shù)據(jù)存儲到殘像用緩沖器#1中,把模型#3的活動數(shù)據(jù)存儲到殘像用緩沖器#2中,把模型#2的活動數(shù)據(jù)存儲到殘像用緩沖器#3中,把模型#1的活動數(shù)據(jù)存儲到殘像用緩沖器#4中。
多邊形數(shù)據(jù)文件的活動數(shù)據(jù)與殘像用緩沖器的數(shù)據(jù)(與過去計算出來的活動數(shù)據(jù)相等)同時進(jìn)行顯示,所以在畫面上結(jié)果就變成為同時進(jìn)行顯示。圖35示出了這一情況。對于實像來說,施以通常的粉刷(rendering)進(jìn)行顯示,對此,對于殘像來說,為了提高演出效果,換句話說,為了使之“看起來象是殘像”要邊施行半透明的處理邊進(jìn)行粉刷??梢园言摪胪该鞯某潭忍岣叩礁暗臅r刻的幀數(shù)中的殘層那么高。象前一時刻的殘像那種程度透明地進(jìn)行顯示。殘像用緩沖器被設(shè)定于RAM102中。
其次,對本實施例中的殘像處理的動作進(jìn)行說明。圖37是進(jìn)行這一處理的示意流程圖。首先,判斷殘像是否是必須的(S500)。該判斷,例如,對每一活動進(jìn)行。例如,在伴隨著勇士的大的動作(環(huán)繞式腳踢,背摔等)中殘像處理認(rèn)為有必要。請參照圖35。除此之外,與動作量超過規(guī)定值是一樣的。
圖38是該殘像必要性處理的詳細(xì)流程圖。首先,檢查動作的發(fā)生(S600)。這種檢查由上述控制器2b的操作按鍵或操作桿的操作狀況來判定。在已判定為已經(jīng)發(fā)生時,就讀入動作的屬性或數(shù)據(jù)(S602)。所謂動作的屬性,指的是對于每一動作所賦予的與性質(zhì)有關(guān)的數(shù)據(jù),例如,“攻擊的動作”,“利用腳的動作”,“利用手的動作”等等。
其次,判定該屬性數(shù)據(jù)是否是應(yīng)該發(fā)生殘像的數(shù)據(jù)(S604)。例如,在是“攻擊的動作”而且是“利用腳的動作”的情況下,作為必須進(jìn)行殘像表現(xiàn),建立規(guī)定的標(biāo)志“F”并設(shè)為“1”(S606),在其它的情況下,把標(biāo)志設(shè)為“0”(S608)。
在示意流程圖的下一個步驟中,指定需要殘像的部位(S502)。這一指定用于本身為詳細(xì)流程圖的圖39的處理來進(jìn)行。首先,在S700中,檢查是否已發(fā)生了攻擊指令。所謂攻擊指令是操作按鍵或操作桿的操作,在游戲者所操作的勇士對交戰(zhàn)對方的勇士達(dá)到了進(jìn)行攻擊之類的命令形態(tài)的狀態(tài)下發(fā)生的指令。
在圖39中,例如,在已發(fā)生了一次腳踢的指令的情況下(圖35的情況相當(dāng)于此),參照攻擊部位是腳脖子的部分(圖35的30A),接著,為了形成腳全體的殘像,腳脖子30A、下肢30B、大腿部分30A、就是說左側(cè)的整個腳(參照圖35)被特定為需要殘像的部位(S704)。此外,如這里的說明所示,勇士為多要素(part)構(gòu)成,而各個要素又分別由多邊形構(gòu)成。
當(dāng)然,如本實施例的情況所示,在沒有發(fā)生攻擊指令的情況下,也可以使之顯示殘像(S706)。在這種情況下,當(dāng)然,在圖37的S500中的“需要殘像嗎?”的判定中,對殘像的必要性進(jìn)行判定,使得即便不是“現(xiàn)在正在攻擊中”也可以進(jìn)行殘像顯示。例如,有這樣的情況邊伴以殘像邊顯示勇士被施以動作而倒下的過程。在這種情況下,由活動數(shù)據(jù),象S702、S704那樣地決定需要殘像的部分。
接下來,在圖37的S504中,執(zhí)行在圖35中已說明過的殘像顯示,到S506,判定殘像顯示是否已結(jié)束。例如,判定一連串的活動是否已結(jié)束,在圖35的例子中,判定一次腳踢是否已結(jié)束,在判定為已結(jié)束了的情況下,殘像顯示就結(jié)束了。
倘采用本實施例,則把具有勇士的一連串的動作的數(shù)據(jù)的多邊形文件的數(shù)據(jù)不加改動地順次記錄于殘像用緩沖器中。在該多邊形文件中,把進(jìn)行了坐標(biāo)變換,進(jìn)行了限幅后的多邊形的各個頂點的坐標(biāo)加上在各個點上的法線矢量進(jìn)行記錄。由于僅僅把該多邊形文件的數(shù)據(jù)照原樣不變地記錄于殘像緩沖器中,并使之與現(xiàn)在的實像一起輸出,所以可以減輕給予CPU塊的計算負(fù)荷,而不必象現(xiàn)有技術(shù)那樣每次都對殘像用的多邊形進(jìn)行坐標(biāo)變換(標(biāo)本化)。而且,在腳(部分)的過去的位置上顯示殘像,且加上了半透明的演出,所以可以演出感豐富地顯示殘像表現(xiàn)。還有,也可以不用半明的演出而代之以用網(wǎng)眼狀或者用線來表現(xiàn)腳多邊形。借助于半透明的處理,得以同時顯示腳的殘像和背景。
倘采用本實施例,由于借助于殘像的有無,并介以游戲者的視覺,可以區(qū)分帶殘像的那樣的大的動作和不帶殘像的中小動作,所以將提高游戲的演出感(作為游戲的圖像表現(xiàn)的多樣化、好玩勁)。
飛行體運動處理其次,對飛行體(設(shè)置物)的飛舞處理進(jìn)行說明。該處理,如后所述,具有使地面的砂子,或者水,或落在地面上的樹葉飛舞的形態(tài)。首先,對前兩者進(jìn)行說明。其概要如下。
如圖35所示,在采用勇士30用腳向上踢的活動的情況下,或者在勇士從空中著地的情況下,要進(jìn)行水,砂飛舞的處理。為了提高游戲的演出效果,就要執(zhí)行這樣的處理。特別是在格斗游戲的游戲者想激烈地操作按鍵以迅速地操作角色的游戲中,由于角色的動作多彩而迅速,所以需要使水等的飛舞與角色的動作吻合起來迅速而準(zhǔn)確地計算后進(jìn)行表現(xiàn)。以下要說明的處理使這樣的事情成為可能。
首先,對砂、水的飛舞處理進(jìn)行說明。在這里,所謂飛舞處理,指的是,如圖40所示,進(jìn)行圖形改變的多邊形(總共32個圖形)順次在用計算所求到的軌道上運動。該圖形模擬水或砂子順次進(jìn)行擴(kuò)散的狀態(tài)。如果對砂子或水的一粒一粒進(jìn)行計算,則要花時間,所以把數(shù)粒匯集在一起邊進(jìn)行圖形改變邊使之運動。
在該處理中,進(jìn)行勇士的要素檢查。上述勇士由頭、右手、(上胳膊、下胳膊,手腕)、左手、胸、腹、腰、左腳(大腿部分、下肢、腳脖子)、右腳的各個要素構(gòu)成。要素檢查對腳、頭、腰進(jìn)行。因此,例如,模擬用腳往上踢,從頭或腰進(jìn)行的下落。在要素檢查中,包含要素移動量的檢查。
此外,還檢查虛擬地面的屬性標(biāo)志、要素位置標(biāo)志。虛擬地面屬性標(biāo)志(b water)被設(shè)定為“1”(水的屬性)或“0(砂子的屬性)”,和要素位置標(biāo)志(b air)被設(shè)定為“1(著地狀態(tài))”或“0(空中狀態(tài))”。在(b water)為“1(水的屬性)”的情況下,水將進(jìn)行飛濺,在“0(砂子的屬性)”的情況下,則進(jìn)行砂子的飛濺。水或砂子的飛濺中有以下的形態(tài)。
著地發(fā)生這是要素已在地面和水面上著地(著水)的情況,砂子或水從發(fā)生點向四方擴(kuò)展開來。
上踢發(fā)生在要素正在地面(水面)上著地(著水)的狀態(tài)下產(chǎn)生,由于腳的往上踢,使砂子或水在腳的移動方向上飛濺起來。此外,在圖60模式性地示出了飛濺發(fā)生和著地發(fā)生。圖中280是角色(勇士),角色的腳往上踢,使砂子或水282相應(yīng)于腳的特性而往上飛濺。或者,著地以后水或砂子相應(yīng)于著地動作向四方跳起來。
在該處理中,執(zhí)行稱作繼續(xù)處理,其持續(xù)發(fā)生著地或上踢的數(shù)個中斷(數(shù)個場面或數(shù)幀)。通常,在這些的發(fā)生時,決定飛濺數(shù)并設(shè)定其1/4。設(shè)飛濺數(shù)為N,結(jié)果就變成為每進(jìn)行一次中斷飛濺數(shù)就如下所述那樣地減少下去。
若設(shè)飛濺數(shù)為N,則第1次1/4N,N′=N-(1/4)·N第2次1/4N′,N″=N′-(1/4)·N′第3次1/4N″即,每一次中斷,就每次設(shè)定飛濺數(shù)的余數(shù)的1/4。飛濺的形態(tài)如上所述,結(jié)果變成為改變圖形。
對著地發(fā)生的情況的處理進(jìn)行說明。檢查要素的前一次(前一次中斷)的位置設(shè)為(OX,Oy,OZ),并設(shè)本次的位置為(PX,Py,PZ)。設(shè)地面或水面的高度(Y坐標(biāo))為epox。
要素的基本速度SPDX=PX-OX X方向SPDy=Oy-Py Y方向SPDZ=PZ-OZ Z方向飛濺總數(shù)(設(shè)定數(shù))等于基本設(shè)定數(shù)·要素移動量飛濺原點圖41是用虛擬空間的高度方向表示的模式圖。在檢查要素正在向箭頭方向移動時,如圖42所示,水、砂子的飛濺原點被設(shè)定為(OX,epos,OZ)。
砂子(水滴)的發(fā)散處理抽出檢查要素的基本速度的X,Z分量。圖43是已虛擬地設(shè)定于圖像生成裝置內(nèi)的模型空間的X-Z平面。此外,該圖示出的是從斜向上方的位置看的狀態(tài)。使這一X,Z分量的矢量在XZ平面上在+135°到-135°的范圍內(nèi)隨機(jī)地旋轉(zhuǎn)。在圖中,被圓包圍起來的范圍(陰影部分除外)是砂子(或水滴)進(jìn)行擴(kuò)散的方向。
現(xiàn)在,設(shè)隨機(jī)旋轉(zhuǎn)的矢量為A。其次,使該矢量在矢量的方向上移動L并設(shè)為A′。其中,‘L’是要素的平均半徑。例如,在腳的情況下,被設(shè)定為10cm,在腰的情況下,被設(shè)定為20cm,在頭的情況下,被設(shè)定為15cm。對該A′加上基本速度的Y分量以最后決定砂子、水滴的飛濺速度。在該速度被決定之后,用圖40的軌跡邊改變砂子,水滴等的圖形邊使之移動。這樣一來,就如圖44所示,就模擬了從要素的周圍(半徑為L)砂子(水滴)向四方飛散的狀態(tài)。
其次,對飛濺發(fā)生處理進(jìn)行說明。如與圖41對應(yīng)的圖45所示,設(shè)處于水中或砂子中的腳往上踢。在進(jìn)行這樣的動作的情況下,設(shè)檢查要素的基本速度為(PX-OX,Py-Oy,PZ-OZ)。該矢量的飛濺角度(cosθ),如圖所示,使用矢量的內(nèi)積如圖46那樣地進(jìn)行計算。
在這里,求cosθ理由是因為飛濺的角度越大,越接近90°,飛濺量就越減小。就是說,水,砂子的設(shè)定數(shù)將變成為基本設(shè)定數(shù)·移動量·cosθ。
砂子,水的速度將變成為對基本速度乘上隨機(jī)數(shù)(0~255)/2550后的值。這種事情即便是在前邊的著地發(fā)生的情況中也是一樣的。因為要乘上隨機(jī)數(shù),所以就可以多彩地顯示隨機(jī)發(fā)生的砂子,水的飛散。
給該速度再加上(OX,Oy,OZ)后的點將變成砂子,水的飛濺發(fā)生點。若參照圖47,則在隨機(jī)數(shù)為1/10(=255/2550)的情況下,發(fā)生點就可以用圖47的坐標(biāo)來表示。此外,砂子,水如圖40所示順次進(jìn)行圖形改變(32圖形)。
上述的繼續(xù)處理可以使用這樣決定的著地發(fā)生點,飛濺發(fā)生點繼續(xù)地顯示砂子,水的飛散。
圖48是以上所說明的本實施例(飛行體的運動處理)的流程圖。在S1600中,判定檢查要素的下邊是否是水面。這一判定針對于預(yù)定要進(jìn)行水或砂子的飛濺的場所進(jìn)行。換句話說,在勇士所站立的地面為巖石,土或其它的固形物之類的場所的情況下,則不進(jìn)行這種判定。這樣一來,即便是存在著種種的場所,也可以僅僅對需要進(jìn)行這樣的飛行體的處理的場所迅速地進(jìn)行處理。
在要素的下邊不是地面而是水的情況下,就轉(zhuǎn)移到下一步驟。把在該場所中上述的設(shè)置面的屬性標(biāo)志(b water)設(shè)定為“1”。在場所是在砂的情況下,就轉(zhuǎn)移到砂子地面的處理(S1602)。由于該處理與水面上的處理是一樣的,故略去其說明。
其次的處理,在S1604中,角色(勇士)的各個要素是否已著地(著水),用對角色的當(dāng)前位置的Y坐標(biāo)(Py)和水面位置的Y坐標(biāo)(epos)進(jìn)行比較的辦法來判定。利用該判定,在檢查要素處于水面下邊的情況下,就轉(zhuǎn)移到著地發(fā)生處理,判定為與此相反的情況下,就轉(zhuǎn)移到飛濺發(fā)生的處理。
在S1606中,采用檢查著地判定標(biāo)志的辦法判定在上次的中斷中是否是著地狀態(tài)。在該標(biāo)志(bair)為‘0’的情況下,就要在數(shù)個中斷間繼續(xù)這一著地狀態(tài)(S1608)。另一方面,在該標(biāo)志為‘1’的情況下,可以判定在本次的中斷中著地剛剛發(fā)生,并執(zhí)行著地發(fā)生處理,使該標(biāo)志復(fù)位為‘0’(S1602)后返回圖34的主程序中去。
另一方面,在檢查要素的Y坐標(biāo)比水面位置還高的情況下,就轉(zhuǎn)移到S1614采用檢查著地判定標(biāo)志的辦法執(zhí)行在上次的中斷中是否是著地狀態(tài)的判定。在上次是著地狀態(tài)的時候,就是說,檢查要素處于水面下邊的情況下,例如,如圖所示,本次就假定為有腳的上踢,并顯示使水與腳的動作相一致地飛濺的圖形(S1606)。接著,把該標(biāo)志置位為‘1’后(S1607)返回。另一方面,在上次未處于著地狀態(tài)時,則繼續(xù)進(jìn)行飛濺處理(S1618)。
如以上所說明的那樣,倘采用本實施例,則可以把角色的移動量、移動方向與角色的動作相吻合地反映到移動的設(shè)置物(水、砂子等)上去。
其次,對模擬因游戲中的角色(勇士)的運動而發(fā)生風(fēng)使落到地面上的樹葉(飛行體之一)飛舞起來的運動(飛行體運動之一種)的處理進(jìn)行說明。
參照圖49。170表示進(jìn)行正在動作的勇士,172表示因勇士的動作而飛舞的樹葉。這里所說的‘風(fēng)’,不是持續(xù)數(shù)個中斷(所謂中斷,指的是用于進(jìn)行顯示的一個場面,在該情況下,為1/60秒,換言之,指的是同步信號之間)的風(fēng),而說的是在一個中斷內(nèi)對葉子的舉動有影響的矢量。
這一處理用圖50的示意流程圖來執(zhí)行。該流程圖進(jìn)行是否由于角色的運動而產(chǎn)生了風(fēng)的檢查(S1800,1802)。接著,在模擬發(fā)生風(fēng)的情況下,就轉(zhuǎn)移到檢查樹葉的飛舞的程序(S1804),接著,模擬樹葉的運動(S1806)。上述游戲機(jī)最初進(jìn)行樹葉在空中飛舞然后落下來的狀態(tài)的模擬,在樹葉到達(dá)地面之前繼續(xù)模擬自由落下運動,在樹葉從空中落到地面之后,在樹葉停止之前繼續(xù)模擬在地面上爬行的運動。在不產(chǎn)生風(fēng)的情況下,則樹葉的運動繼續(xù)著而無須進(jìn)行樹葉是否飛舞的檢查(S1806)。
首先,根據(jù)圖51說明風(fēng)的發(fā)生的檢查的流程。在S1900中,計算要素位置。該計算在存在一對勇士的情況下,對勇士1、2每一中斷交互進(jìn)行。進(jìn)行檢查的要素,對右腳、左腳和頭合計3個部位進(jìn)行。對各個要素的移動量進(jìn)行檢查以判定風(fēng)的發(fā)生的有無。該判定如下進(jìn)行。
如圖所示,設(shè)要進(jìn)行檢查的要素的上次(一個中斷之前)的位置為(OX,Oy,OZ),設(shè)本次的位置為(PZ,Py,PZ)。這時的移動量M如圖51的式(1)所示。在這里,使用XZ坐標(biāo)系中的移動量M′(式(2))。
在S1902中,在M′比0.2大時,就定為要素的移動量大到使之發(fā)生風(fēng)那么大,就轉(zhuǎn)移到下一步驟。在M′比該值小時,就視為不發(fā)生風(fēng),結(jié)束該程序。
在S1904中,在Y方向的變化量(Py-Oy)為(Py-Oy)≤0.8的情況下,就視為風(fēng)的方向是直接向下;從而不產(chǎn)生風(fēng)。在S1906中,把風(fēng)的發(fā)生標(biāo)志建立為‘有風(fēng)發(fā)生(=1)’,并決定風(fēng)的發(fā)生位置和風(fēng)的大小(矢量)。
風(fēng)的發(fā)生位置和該X,Y,Z方向的矢量,如圖所示。M′被修正為0.12≤M′≤1.0。該M′是風(fēng)的Y方向的矢量。X,Z方向的矢量定為對X方向,Y方向的變化量乘上0.6的值。之所以在這里乘上0.6,是因為把X、Z方向的矢量設(shè)定為比Y方向的矢量相對地小,主要為了模擬在模型空間的上方飛舞的狀態(tài)的緣故。
風(fēng)設(shè)定為在一個中斷之間只發(fā)生一個矢量。在多個部位發(fā)生了風(fēng)的情況下,把其中的值最大的算作應(yīng)發(fā)生的風(fēng)。
其次,對樹葉的飛舞檢查的流程圖進(jìn)行說明(圖52)。從風(fēng)的發(fā)生位置和樹葉的位置對每一樹葉逐一進(jìn)行樹葉是否受到風(fēng)的影響的檢查,如果在該影響的范圍之內(nèi),則因受到風(fēng)的影響,樹葉的運動(速度、矢量)會發(fā)生變化。
在步驟S2000中,讀入風(fēng)的數(shù)據(jù)和樹葉的數(shù)據(jù)。這些數(shù)據(jù)(X分量,Y分量,Z分量)如圖所示。在S2000中,進(jìn)行有關(guān)樹葉的高度的運算。該運算如下所述。設(shè)地面的高度為epos,則地上的1m的高度將變成epos+1.0(m)。設(shè)從該高度減去樹葉的高度1ypos后的值為C1。
C1=epos+1.0-1ypos(m)在C1≤0的時候,就判定樹葉的位置(處于距地面1m以上)高到不受因角色的動作而發(fā)生的風(fēng)的影響的程度(影響0%)。另一方面,在判定有風(fēng)的影響時(S2004,NO),即C1>0時,就決定與C1的值對應(yīng)的影響系數(shù)(S2006)。例如,在樹葉處于地上時,(1 ypos=epos,C1=1),樹葉將受風(fēng)100%的影響。在C1=0.5時,受50%的影響。C1取0≤C1≤1.0的值。這些情況,將在圖68中說明。該影響系數(shù)用于指明取決于樹葉的高度樹葉將會受到風(fēng)的多大的影響。其次的S2008計算風(fēng)的發(fā)生位置和樹葉在XZ平面上的距離L′。圖中所示的計算式中的w yspd,就象已經(jīng)說過的那樣是風(fēng)的Y軸方向的矢量,而且,還兼作對樹葉的影響距離(半徑)。
在w yspd-L′為0或小于0時,就當(dāng)作是樹葉在風(fēng)的影響范圍之外,作為沒有風(fēng)的影響的情況返回(S2010)。另一方面,在大于0時,就計算C2(距離的影響系數(shù))。此外,還要修正該C2計算C2′。該影響系數(shù)的例子示于圖68中。
在S2014中,如圖所示,決定風(fēng)對樹葉的影響(矢量X方向,Y方向,Z方向),即決定樹葉的速度(矢量),對樹葉的現(xiàn)在位置加上該影響來模擬樹葉的運動(圖50的S1806)。樹葉的運動的處理程序緊接著就要說明。樹葉的X方向,Z方向的速度總要重新設(shè)定,Y速度要加到上次(上一中斷)的速度上去。
其次,對模擬樹葉的運動的詳細(xì)流程圖進(jìn)行說明(圖53)。樹葉的運動,如圖54所示,有兩種形態(tài)樹葉的中心位置的運動和樹葉的模型的X,Yrot的旋轉(zhuǎn)運動。
(1)示出的是因風(fēng)的影響或重力樹葉的中心位置進(jìn)行移動的運動,(2)示出的是用Xrot,Yrot模擬(表現(xiàn))樹葉擺動的運動的情況。這些運動是用示意流程圖說明過的自由落下運動的一個環(huán)節(jié)。
前者的運動(位于空中的情況,從空中著地的情況)的特性,如圖的S2100所示。在樹葉位于空中的情況下,對X方向的速度(1 xspd)乘上0.8作為新的X方向的速度的理由,是因為考慮到了空氣阻力。對于Z方向也是同樣的。Y方向的速度減去0.002作為新的Y方向的速度。這樣一來,就可以模擬葉的重力方向的速度漸漸變化下去的情況。其中,設(shè)Y方向的落下速度(1 yspd)為-0.006。關(guān)于樹葉正在著地的情況將在后邊描述。
另一方面,如圖55所示,樹葉230‘嘩啦嘩啦’飛舞的狀態(tài)可以用上述的Xrot,Yrot模擬(S2102)但,在本實施例中已準(zhǔn)備好了32個圖形的Xrot,順次進(jìn)行圖形改變。使用Yrot進(jìn)行的旋轉(zhuǎn)如下。
Y旋轉(zhuǎn)速度=1yspd×1200×256用0×0000~0×FFFF(0~65536)來表現(xiàn)一個旋轉(zhuǎn)(360°)。這是1°(實黑線框)2182(0×b6)。此外,若使Yrot也進(jìn)行圖形變化,則由于有對樹葉的動作模擬得粗糙的危險,所以使一方的旋轉(zhuǎn)要素(Xrot)進(jìn)行圖形變化,其余的要素(Yrot)用計算來求。
樹葉到達(dá)地面之后的運動,如圖53所示,用中心運動特性式和旋轉(zhuǎn)運動特性式模擬(S2100,S2102)。中心運動特性式示于圖53。在該運動特性式中,樹葉的Y軸方向的速度(1yspd)由于已被設(shè)定為0,故可以模擬樹葉在地面上邊旋轉(zhuǎn)邊動作的狀態(tài)。在該特性式中,X方向的速度和Y方向的速度都乘上0.5,是因為考慮到了地面的摩擦,乘上一個比空中有樹葉的情況還小的值,模擬地面的摩擦阻力比空氣阻力還大的情況。此外,判定X軸周圍的樹葉的旋轉(zhuǎn)角度(Xrot)是否為‘0’,在是‘0’的情況下,則作為樹葉已對地面平行的相接而使樹葉停止動作。因此,在因為角色活動而發(fā)生的風(fēng)使樹葉在空氣中飛舞后該樹葉落到地面上變成為與地面平行的時刻樹葉的動作停止。
在空中飛舞的樹葉著地與否,比較地面的Y坐標(biāo)和樹葉的Y坐標(biāo)來判定。樹葉的Y坐標(biāo)≤(或‘=’)地面的Y坐標(biāo)時,就判定樹葉處于著地狀態(tài)。此外,樹葉采用樹葉的模樣(紋理)貼到一個多邊形上去(映象)的辦法使樹葉變成形狀模型。
以上所說明的飛行體(水、砂子、樹葉)的移動方向由角色(模型)的動作的特性決定,所以可以把模型的動作正確地反映到飛行體上。這樣的飛行體是借助于本來模型的動作而飛翔,或者落下,借助于使模型的動作反映到這些上的辦法就可以高品質(zhì)地模擬飛行體的動作。倘采用以上說明的飛行體的運動處理,則就可以以豐富的演出感,且以高品質(zhì)再現(xiàn)在虛擬空間內(nèi)的模型(飛行體)的(自由)落下運動。例如生成樹葉‘嘩啦嘩啦’的飛舞的圖像。
自由落下運動處理其次,說明在虛擬空間內(nèi)落下的物體的運動處理。這里的實施例,把雪花作為對象物,對模擬把‘飄舞’運動賦予雪花的演出進(jìn)行說明。在這里要說明的‘飄舞’指的是雪花邊隨風(fēng)飄動邊落下來的狀態(tài),或由于勇士的動作而飛舞起來的落葉飄落的狀態(tài)等不規(guī)則的運動。本實施例企圖逼真地模擬這種‘飄舞’的狀態(tài)。
對雪花飄舞的實施例進(jìn)行說明。飄落的雪花由一個或多個多邊形構(gòu)成,受到已設(shè)定于模型空間中的風(fēng)的矢量(使本矢量進(jìn)行適當(dāng)?shù)淖兓?的影響。雪花的多邊形的運動由重力形成的自由落下,風(fēng)矢量引起的影響(以上,權(quán)利要求的第1裝置),虛擬空間的Z平面(水平面,即與地表面平行的坐標(biāo)系)的圓周運動(同上權(quán)利要求的第2裝置)來進(jìn)行模擬。圓周運動的角速度、振幅已在存儲器內(nèi)做成了表,可以選擇其一使用。
下面描述賦予飄舞雪花以圓周運動的處理。設(shè)角速度為ω,旋轉(zhuǎn)角為q,振幅為a,則飄舞運動的X分量(x off)和Z分量(z off),即對雪花的基本舉動(由自由落下和風(fēng)的矢量決定)的偏移(offset)量如下。
x off=sin(q+ω)·ay off=cos(q+ω)·a該偏移數(shù)據(jù)在每一中斷期間計算10次,并加到雪花的基本位置上去。
雪花的運動方程式如下x pos雪花的位置(X方向)、y pos雪花的位置(Y方向)、z pos雪花的位置(Z方向)。
x pos=x pos+x off+風(fēng)x(風(fēng)矢量速度的x分量)y pos=y(tǒng) pos+下落(雪花的落下速度,例如-1cm/int)z pos=z pos+z off+風(fēng)z(風(fēng)矢量速度的Z分量)倘采用本實施例則可以用上述運動方程式表現(xiàn)雪花隨風(fēng)飄搖落下的舉動(參看圖56)。因此,可以用簡單的計算式得到復(fù)雜的雪花的飄舞運動,且給予CPU塊的計算負(fù)荷也不大。
圖56示出了該雪花的移動軌跡,即便是在規(guī)定的方向上給自由落下的雪花加上方向或大小變化的矢量,也不可能準(zhǔn)確地模擬‘飄舞’的狀態(tài)。所以,采用給該雪花加上圓周運動(圓周運動的一種,也可以是其他的橢圓周運動之類的運動)的辦法,就可以再現(xiàn)這種‘飄舞’。
倘采用本處理,由于可以提高模擬虛擬空間內(nèi)的模型自由落下運動時的品質(zhì),所以可以豐富地營造出落下圖像處理的演出感。
不規(guī)則區(qū)域中的沖突判定處理其次,對不規(guī)則區(qū)域與模型之間的沖突處理進(jìn)行說明。該處理具有如下的內(nèi)容。在這里,所謂區(qū)域,指的是限制勇士的活動的區(qū)域,例如若想象為用不規(guī)則的墻壁圍起來的圓圈是易于理解的。勇士雖然可以在該區(qū)域內(nèi)自由地移動,但卻不能越過墻壁移動到圓圈之外,這種墻壁就相當(dāng)于這里所說的‘區(qū)域“。
圖57(A)中示出了不規(guī)則的區(qū)域250。這一區(qū)域被設(shè)定于虛擬空間的XZ平面(Y軸是高度方向)上。該區(qū)域被設(shè)定為7角形。作為該區(qū)域可以設(shè)定為種種形態(tài)的區(qū)域。作為這樣的區(qū)域在想象為周圍是巖石的圓圈的情況下說的就是該巖石。
圖57還示出了該處理的原理。角色的位置必須加以校正,以便角色不會移出墻壁之外,從而可以示范出墻壁(區(qū)域)的確存在。本實施例對大小和形狀皆可任意的設(shè)定的競技場的墻壁和角色之間的沖突進(jìn)行判定,在用于修正位置的墻壁的法線方向上計算排出矢量(expulsion vector)。
圖57(A)是該沖突判定的模式圖,(B)是矢量計算的原理圖,(C)是角色(模型)和區(qū)域之間的沖突判定模式圖的局部擴(kuò)大圖。此外,圖57中還同時記載有矢量計算式。
如(A)所示,在進(jìn)行沖突判定時,角色的形狀用球近似,再把墻壁和該球體平行地投影到與地面平行的平面(XZ平面)上,研究形成區(qū)域的各邊與進(jìn)行球投影后的結(jié)果所得到的圓252之間的位置關(guān)系。其中,球的位置是角色的計算上的位置。在該圖中,L是該區(qū)域的任意的邊的一個頂點,R是該邊的另一頂點。對某一任意的邊,進(jìn)行設(shè)定使得L在反時針方向上。
圖中的T是角色投影后的圓的中心點。矢量R,矢量T,矢量L是從該坐標(biāo)系的某一任意的點對這些各個點設(shè)定的矢量。此外,矢量P是從圓的中心坐標(biāo)對區(qū)域的各邊垂直的引出的矢量。矢量V是從對該圓的邊LR平行的切線與圓之間的交點,對邊LR成直角地引出的矢量,相當(dāng)于該處理中的趕出矢量。
在該處理中,目的是計算排出矢量V。在圓的中心線處于直線RL的外側(cè)(以此為正區(qū)域)的情況下,如圖所示,把趕出矢量設(shè)定為如圖的式(1)所示。
另一方面,在圓的中心線處于直線RL的內(nèi)側(cè)(以此為負(fù)區(qū)域)的情況下,就設(shè)定為如式(2)那樣。即,圓的中心于直線RL之間的距離,在大于半徑(d)的情況下,就不能設(shè)定排出矢量。在超過該距離的情況下,則可以設(shè)定排出矢量。這時,由于矢量向著與墻壁的方向,所以把單位矢量Pe設(shè)定于和圓的中心位于直線RL的外側(cè)時相反的方向上。
圖58是對本實施例的動作進(jìn)行說明的流程圖。首先,讀入控制器的按鍵或方向鍵的操作量(S2600)。用該操作量決定所計算的角色的位置(S2602)。即這是在假定無區(qū)域的情況下的所計算的角色的位置借助于控制器的操作來求該位置。
其次,在S2604中,進(jìn)行該角色的位置和某一邊RL之間的比較。即檢查圖57的式(3)的關(guān)系。在該判定為否定的情況(>1)下,對下一條邊進(jìn)行檢查。在該情況下,設(shè)從點T不能向該邊垂直的引出矢量P(即不能當(dāng)做將成為沖突判定對象的邊),就轉(zhuǎn)移到S2608,而不進(jìn)行S2606的矢量P的計算。
在該關(guān)系為肯定的情況下,就在S2606,從圖57所示的地方,計算矢量P。其次,在S2608中,對所有的邊判定S2604的處理是否已結(jié)束,在否定的情況下,就轉(zhuǎn)移S2610執(zhí)行與其它的邊的比較(S2604)。另一方面,在該判定為肯定的情況下,就轉(zhuǎn)移到S2612,選擇矢量P的最小點。把已設(shè)定了該矢量P的邊,作為用于在法線方向上設(shè)定排出P的墻壁(邊,區(qū)域)來決定。就是說,判定角色已接觸到設(shè)定該矢量的邊的方向上。
接著,在下一步驟(S2614)中,判定圓的中心是否在區(qū)域之內(nèi),是在區(qū)域外時,就用圖中式(1)設(shè)定排出矢量,是在區(qū)域內(nèi)時,則用式(2)設(shè)定排出矢量。在式(1)的情況下和在(2)中,在矢量P的大小比圓的半徑小的情況下,就看做是角色與墻壁之間有沖突,設(shè)定上述的排出矢量。用該排出矢量,在實際的圖像中,執(zhí)行限制從該區(qū)域(墻壁)向目的地移動圖像處理(S2616)。
當(dāng)然,也可以根據(jù)該墻壁用排出矢量進(jìn)行處理,使得從該墻壁的該邊的法線方向上定義的矢量V拉住模型。圖67示出了這時的圖像處理的一個例子,標(biāo)號350是勇士,標(biāo)號352是不規(guī)則的墻壁。所示出的是即便是勇士352企圖向圖中區(qū)域一側(cè)移動(圖中的左方向)也將被區(qū)域擋住而不得移動的狀態(tài)(圖的(1)的狀態(tài))。但,如圖的(2)所示,雖然勇士350的整體是因區(qū)域而不能移動的狀態(tài),但是右腳354(角色的一部分的要素)卻可以如雙向箭頭所示那樣的進(jìn)退。這樣一來,游戲者就可以知道自己所操作的模型被區(qū)域所擋不能在該方向上再進(jìn)行移動。
倘采用本實施例所示的處理,則由于使得對每一條邊都計算出排出矢量,所以即便是不規(guī)則區(qū)域也可以確實地進(jìn)行該區(qū)域和角色之間的沖突(即,在給出了排出矢量的值的時候沖突判定就被肯定),就可以把該判定結(jié)果反映到圖像處理上去。
紋理列的作成其次,對作成重復(fù)的紋理列的方案進(jìn)行說明。圖59是其說明圖。在下段(bottom)示出了第1紋理列,在中段(Top)示出了第2紋理列,在上段(Together)示出了第3紋理列,第3紋理列是第1紋理列和第2紋理列重疊后的結(jié)果。
第3紋理列的目的是形成以規(guī)定的周期進(jìn)行反復(fù)的圖像‘海上的反射圖形’的圖像。第3紋理列由0~29這30枚圖畫構(gòu)成,把這些圖畫按順序映象到多邊形上,即,把第0~29號的圖畫進(jìn)行映象后,再次進(jìn)行第0~29號的映象,采用反復(fù)這樣作的辦法,這些紋理列的連接部分(例如,第28~2號)處的圖畫的變化就是自然的(連續(xù)性的,換句話說,沒有漏畫)。這樣一來,就可以作成重復(fù)海上的反射圖形的圖像。
在該處理中,把透明度順次變化(0~100%)的參數(shù)賦予第2紋理列。第2紋理列的上邊所記載的數(shù)值是與該透明度有關(guān)的值。具有100%,表示完全無透明度的狀態(tài),此外,有7%的,表明是有較好的透明度的狀態(tài)(透明度93%)。在完全透明的情況下,則給予100%的參數(shù)。
第3紋理列是如圖所示順次把第1紋理列與第2紋理列重疊起來作成的。就是說,第1紋理列的第0號與第2紋理列的第30號重疊形成第3紋理列的第0號,第1紋理列的第1號與第2紋理列的第31號重疊形成第3紋理列的第1號,…,第1紋理列的第29號與第2紋理列的第59號重疊形成第3紋理列的第29號。
這時,在第1紋理列的第0號與第2紋理列的第30號重疊的時候,由于第2紋理列的第30號的透明度是0(完全不透明的狀態(tài)),所以第1紋理列的第0號就被第2紋理列的第30號完全給遮了起來,第3紋理列的第0號的圖像就變得與第2紋理列的第30號的圖像相等。
另一方面,在第1紋理列的第29號與第2紋理列的第59號重疊時,由于第2紋理列的第59號的透明度是97%,(幾乎近于透明),所以第3紋理列的第29號的圖像就變得幾乎于第1紋理列的第29號的圖像相等(換句話說,第2紋理列的第59號的圖像是幾乎看不見的狀態(tài))。
在這里,在發(fā)生第2紋理列的時候,參數(shù)的提供方法由于已做成為使得其第30號的圖畫變成為與第1紋理列的第29號的圖畫連續(xù)起來,所以,在看第3紋理列的情況下,在紋理列的連接部分處(在圖59中,第28~2號),就可以如上所述使之產(chǎn)生使得連接變成為自然的圖畫。
采用給每一紋理列提供參數(shù),使得第1紋理列的結(jié)束部分(例如,第25~29號)和第2紋理列的最初的部分(例如,第30~34號)連接起來的辦法(或者采用從結(jié)果上看將變成這樣的辦法),如圖的箭頭所示,當(dāng)考慮透明度時,采用使第1紋理列的第29號和第2紋理列的第30號連接的辦法,則如圖所示,第3紋理列將變成自然地連接起來的形態(tài)的圖畫。
第3紋理已存儲到存儲器的規(guī)定的區(qū)域中,并順次映象到表示海面的多邊形中,海面的白浪(在畫面上是輝度高的部分,在圖27中是顯示為白的部分)的波形和形態(tài)可以周期性地表現(xiàn)反復(fù)的圖像。在圖示的例子中,定為每1/30秒顯示一枚圖畫,如果設(shè)為30枚圖畫,則每一秒就可以回放周期性地重復(fù)海面的白浪的部分的樣子的圖像。
回放波浪的形態(tài)的速度和所施用的紋理數(shù)都可以適當(dāng)?shù)刈兏?。設(shè)有勇士站在畫面的中心的舞臺,在舞臺近旁(即在畫面的中心附近),設(shè)定已說過的回放速度(每個場面1/30秒,30個場面回放),比此處更遠(yuǎn)的的波浪,從減輕計算機(jī)機(jī)的計算負(fù)荷的觀點看,可以降低每一場面的回放速度,且可以減少合計使用的場面數(shù)。例如,使用第3紋理列的0號、10號、20號、29號的場面。之所以這樣作,是因為即便是使位于畫面的周邊附近的圖像的回放多少有些變粗,但是對于減少給予游戲者的壞印象且對于減低CG裝置的計算負(fù)荷是有利的。在上述的游戲裝置的存儲器中已存儲好第3紋理列。因此,在使用了CG的2的領(lǐng)域中,就可以利用上述的紋理列。其中,已說明過的紋理列的發(fā)生方法,不僅僅在CG的技術(shù)領(lǐng)域,在動畫片的動畫作成的技術(shù)中也可以利用。
慢回放處理圖61~圖64是用于說明慢回放處理(回放速度變更處理)的原理的角色的動作圖。示出的是2個勇士290、292互相面對面,正在比賽兩者的技術(shù)的優(yōu)劣的狀態(tài)。在圖61中,290是受攻擊的勇士,292是進(jìn)行攻擊的勇士。標(biāo)號294是勇士290受到來自勇士292的進(jìn)攻動作(攻擊;出拳)的攻擊部位。圖61和本身為從上方看圖61的平面圖62示出了勇士290正在遭受攻擊的狀態(tài)。
另一方面,如圖63及本身為其平面圖的圖64所示,勇士290用右手的要素化解勇士292的攻擊(即進(jìn)行防御),若防御成功則將回放勇士292向箭頭所示的方向后仰(移動)的活動。這時,就使勇士292的回放速度降低進(jìn)行慢回放。
如上所述,假定一方的角色(勇士)向另一勇士作出了動作‘出拳’。另一方面,另一勇士幾乎同時作出了化解該出拳的動作。此外,這些出拳或躲閃動作采用游戲者適當(dāng)?shù)夭僮骺刂奇I盤的操作按鍵或方向鍵的辦法發(fā)生。
在該出拳的躲閃已成立時,就要再現(xiàn)攻擊一側(cè)的勇士向后方大后仰的活動。這時,要使得該活動的回放速度比防御一側(cè)的勇士的圖像的回放速度小。這樣,由于該慢回放對攻擊一側(cè)的勇士將產(chǎn)生所謂‘間隙’,易于由防御一側(cè)的勇士向攻擊一而的勇士進(jìn)行攻擊。勇士292一旦后仰之后,如圖65所示,就將慢慢的返回原來的體形(后仰之前的)。
圖65是該處理的流程圖。在S3400中,防御一側(cè)的勇士作出上述的躲閃動作。在S3402中,判定對方一側(cè)的攻擊動作(在圖的情況下,,是‘出拳’是否已碰到躲閃動作(就是說,判定處于躲閃動作的動作指令下的手的要素與攻擊一側(cè)的勇士的手的要素的沖突)。
在該判定為否定的情況下,就返回而無須進(jìn)行慢回放。另一方面,在1判定是肯定的情況下,在攻擊一側(cè)的角色未位于防御一側(cè)的角色的正面一情況下,就執(zhí)行返回程序;在正面的情況下,就轉(zhuǎn)移到S3406(S3404)。在S3406中,判定是否是能夠解除攻擊動作的動作。例如,若為出拳則可以解除,若為腳踢則不能解除等。這種判定對每一動作都設(shè)定專用的標(biāo)志采用參照標(biāo)志寄存器的內(nèi)容的辦法就可比較容易地實現(xiàn)。
在是不能躲閃的動作的情況下,就結(jié)束處理,是可以躲閃的動作時則轉(zhuǎn)移到S3408。在該步驟中,設(shè)定應(yīng)進(jìn)行慢回放的幀數(shù),并把它存放在定時器中。在其次的步驟S3410中,在在取決于動作設(shè)定被躲閃量(在圖的例子中,在對攻擊一側(cè)的勇士后仰的活動進(jìn)行回放的情況下,各個要素的后仰量)。幀數(shù)和躲閃量用規(guī)定的特性式計算,或者作成表。
在S3412中,所設(shè)定的幀數(shù)被除以躲閃量,并計算出相應(yīng)一幀的調(diào)整墊量(空間坐標(biāo)系中的移動量和移動方向)。接著,在S3414中,使攻擊一側(cè)的勇士的回放速度(顯示速度)變成防御一側(cè)的勇士的例如一半。例如,設(shè)攻擊一側(cè)的角色的回放速度成為1/60秒的一半的1/30秒。
接著,在S3416中,判定上述定時器的值,若為‘0’,則結(jié)束慢回放處理,使攻擊一側(cè)的勇士的回放速度返回原來的狀態(tài)(S3417)后,返回。另一方面,在非‘0’的情況下,把定時器的值乘到一個幀的調(diào)整墊量21攻擊一側(cè)的移動量。接著,在S3420中,把這一移動量加到攻擊一側(cè)的勇士的坐標(biāo)值上。就是說,給圖51的攻擊一側(cè)的勇士292的位置加上圖63的躲閃動作成立時的移動量(后仰量本來的位置(圖61的勇士292的位置))。
接下來,在S3422中,使定時器的值(T)減1,在S3424中,進(jìn)行攻擊一側(cè)的勇士292(圖63)的活動位置的再計算。接著,返回主程序。
倘采用本處理,則在躲閃動作已成功的時候,要回放下述圖像攻擊一側(cè)的勇士最初要邊大大地后仰邊在慢回放狀態(tài)下慢慢后仰下去。這時,防御一側(cè)的勇士變成為易于對攻擊一側(cè)的勇士作出攻擊動作。
倘采用本處理,由于在降低一方的勇士的活動的回放速度的同時進(jìn)行另一方的勇士的活動的回放,所以結(jié)果就變成為使游戲者自己所操作的防御一側(cè)的勇士動作得以有效地發(fā)揮,這將使得作為游戲的要素的慢回放成為可能。因此,可以以豐富的演出感表現(xiàn)慢回放。
此外,本發(fā)明并不限定于上邊所說過的各種實施例的構(gòu)成,如果是本專業(yè)的人員,則作權(quán)利要求范圍所述的構(gòu)成的范圍內(nèi)還可以有各種各樣的變形。還有,作為已存儲了游戲機(jī)的動作用程序的存儲(記錄)媒體,除已講和的盒式磁盤ROM、CD-ROM之外,也可以是互連網(wǎng)、PC機(jī)網(wǎng)上的通信媒體。
權(quán)利要求
1.一種把規(guī)定數(shù)目的模型設(shè)定于虛擬空間內(nèi),并進(jìn)行下述圖像處理的游戲裝置,進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動的同時,使以虛擬視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上,其特征是具備圖像處理裝置,用于在進(jìn)行對峙的多個模型之間設(shè)定虛擬性的引力。
2.一種游戲用圖像處理裝置,其中把規(guī)定數(shù)目的模型設(shè)定于虛擬空間內(nèi),并進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動的同時,使以虛擬視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上,其特征是具備圖像處理裝置,用于對上述模型提供虛擬性的向心力。
3.一種游戲用圖像處理裝置,其中把規(guī)定數(shù)目的模型設(shè)定于虛擬空間內(nèi),并進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動的同時,使以虛擬視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上,其特征是具備圖像處理裝置,用于改變上述模型移動時和靜止時的摩擦量并提供給該模型。
4.一種游戲用圖像處理裝置,其中把規(guī)定數(shù)目的模型設(shè)定于虛擬空間內(nèi),并進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動的同時,使以虛擬視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上,其特征是具備圖像處理裝置,用于與放置上述模型的舞臺的表面形狀相吻合地顯示上述模型的投影象。
5.一種游戲用圖像處理裝置,其中把規(guī)定數(shù)目的模型設(shè)定于虛擬空間內(nèi),并進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動的同時,使以虛擬視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上。其特征是具備圖像處理裝置,用于判定從虛擬視點產(chǎn)生的視場相對于要被顯示的模型的重疊情況,以及相對于不設(shè)為顯示對象的模型的重疊情況,如果判定結(jié)果為肯定的,則另一模型不被顯示。
6.一種游戲用圖像處理裝置,其中把規(guī)定數(shù)目的模型設(shè)定于虛擬空間內(nèi),并進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動的同時,使以虛擬視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上,其特征是具備圖像處理裝置,用于對上述模型的預(yù)定的移動軌跡的終點,設(shè)定與該終點不同的目標(biāo)點,并對移動軌跡進(jìn)行內(nèi)插,使得上述終點與該目標(biāo)點一致。
7.一種游戲用圖像處理裝置,其中把規(guī)定數(shù)目的模型設(shè)定于虛擬空間內(nèi),并進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動的同時,使以虛擬視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上,其特征是具備圖像處理裝置,用于求把上述模型設(shè)置于上述虛擬空間內(nèi)的高低差,并根據(jù)該高低差修正該模型的動作。
8.一種游戲用圖像處理裝置,其中把規(guī)定數(shù)目的模型設(shè)定于虛擬空間內(nèi),并進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動的同時,使以規(guī)定位置的視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上,其特征是具備殘像表現(xiàn)處理裝置,用于把模型的移動軌跡作為殘像進(jìn)行表現(xiàn);其包括存儲裝置,用于原封不動地存儲上述模型的現(xiàn)在活動以前的活動數(shù)據(jù);顯示控制裝置,用于和上述模型的現(xiàn)在的活動數(shù)據(jù)一起顯示上述存儲數(shù)據(jù)。
9.權(quán)利要求8所述的游戲用圖像處理裝置,其特征是包括戲劇效果裝置,用于對上述存儲裝置的數(shù)據(jù)加上戲劇效果并進(jìn)行顯示。
10.權(quán)利要求9所述的游戲用圖像處理裝置,其特征是上述戲劇效果裝置可進(jìn)行半透明的圖像處理。
11.一種游戲用圖像處理裝置,把規(guī)定數(shù)的模型設(shè)定于虛擬空間內(nèi),并進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動的同時,使以規(guī)定位置的視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上,其特征是包括計算裝置,計算上述模型的移動特性;飛行體控制裝置,用于使飛行體存在于上述虛擬空間內(nèi)的同時,根據(jù)由上述計算裝置計算出來的計算結(jié)果進(jìn)行控制。
12.一種對設(shè)定于虛擬空間內(nèi)的模型的自由落下運動進(jìn)行模擬的游戲用圖像處理裝置,其特征是包括模擬上述模型的整體運動的第一裝置;把圓周運動提供給上述模型的第二裝置。
13.一種游戲用圖像處理裝置,把規(guī)定數(shù)目的模型設(shè)定于虛擬空間內(nèi),并進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動的同時,使以規(guī)定位置的視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上,其特征是包括區(qū)劃設(shè)定裝置,用于把不定形區(qū)劃設(shè)定于上述虛擬空間內(nèi);矢量設(shè)定裝置,這是把規(guī)定的矢量設(shè)定于該區(qū)劃和該模型之間的裝置,在該模型企圖越過該區(qū)劃進(jìn)行移動的情況下,把該矢量設(shè)定于使模型不越過區(qū)劃的方向上;模型移動控制裝置,用于根據(jù)該矢量控制上述模型的移動。
14.一種給定規(guī)定的參數(shù)后形成使之周期性的變化的紋理的紋理列生成裝置,其特征是具備制作第1紋理列的第1裝置和制作第2紋理列的第2裝置,同時,把參數(shù)給予各個裝置使得第1紋理列的最后或最初的紋理和第2紋理列的最初或最后的紋理變成為連續(xù)的形態(tài)的同時,形成紋理列,目的是使得第1紋理列或者第2紋理列中的至少一方的透明度逐漸增加或逐漸減少,從兩方的紋理列的最初的手紋理間開始順序進(jìn)行重疊。
15.一種形成周期性地變化的紋理的紋理生成方法,其特征是具備制作在規(guī)定的方向上變化的第1紋理列的第1步驟,和同樣地在規(guī)定的方向上變化的第2紋理列的步驟的同時,形成紋理列,目的是使得第1紋理列或者第2紋理列中的至少一方的透明度逐漸增加或逐漸減少,從兩方的紋理列的最初的紋理間開始順序進(jìn)行重疊。
16.一種在虛擬空間內(nèi)設(shè)定規(guī)定數(shù)目的模型,并進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動,同時,使以規(guī)定位置的視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上的游戲用圖像處理裝置,其特征是具備下述裝置第1裝置,用于判定在2個模型之間規(guī)定的條件是否已成立;第2裝置,用于把該條件已經(jīng)成立這件事反映到各個模型的運動中去;第3裝置,用于在該條件已經(jīng)成立的時候使一方的模型的回放速度對于另一方的模型發(fā)生變化。
17.一種在進(jìn)行控制使得在虛擬空間內(nèi)設(shè)定的模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動,同時,進(jìn)行顯示以虛擬的的視點為基礎(chǔ)的該虛擬空間的圖像的圖像處理的游戲裝置中使用的、已記錄有上述圖像處理程序的記錄媒體,其特征是這是一種用于進(jìn)行下述圖像處理的記錄媒體把虛擬性的引力設(shè)定于進(jìn)行對峙的多個模型之間。
18.一種把規(guī)定數(shù)的模型設(shè)定于虛擬空間內(nèi),并進(jìn)行下述圖像處理的游戲裝置進(jìn)行控制使得該模型在上述虛擬空間內(nèi)在規(guī)定的方向上移動的同時,使以虛擬視點為基礎(chǔ)的該虛擬空間的圖像顯示于顯示裝置上。其特征是具備輸入裝置,用于控制上述模型的動作;方向鍵,用于上述輸入裝置中,勇于指定相應(yīng)的模型向上下左右進(jìn)行的動作方向;圖像處理裝置,用于在進(jìn)行對峙的多個模型之間設(shè)定虛擬的引力,該圖像處理裝置借助于上述方向鍵的操作,進(jìn)行動作使上述模型自動地作圓周運動。
全文摘要
在本游戲用處理裝置中已在虛擬空間內(nèi)設(shè)定了規(guī)定數(shù)目的模型(角色),并進(jìn)行控制使得一虛擬視點為基礎(chǔ)的虛擬空間顯示在顯示器上。本裝置具有圖像處理裝置,用于把虛擬的向心力加到模型上,使得更為實時性地顯示模型的活動。本裝置具有殘像顯示處理裝置,用于把活動路徑顯示為殘像,而且,該處理裝置具有用于存儲活動數(shù)據(jù)的裝置。此外,還有一個顯示控制裝置,用于顯示已存儲的帶有實際活動數(shù)據(jù)的數(shù)據(jù)。
文檔編號G06T13/20GK1641701SQ200410095050
公開日2005年7月20日 申請日期1997年6月4日 優(yōu)先權(quán)日1996年6月5日
發(fā)明者加來徹也, 峰裕一朗, 小野孝志, 芳賀憲夫, 大崎誠, 山口貴之, 關(guān)根紀(jì)裕, 油井亮彌, 西川沙織, 杉本哲也, 吉田茂, 中谷學(xué), 內(nèi)田真澄 申請人:世嘉股份有限公司