專利名稱:目標(biāo)支配的用戶界面的制作方法
1.發(fā)明領(lǐng)域本發(fā)明涉及計(jì)算機(jī)方面,特別是計(jì)算機(jī)游戲,模擬,和機(jī)器人的控制領(lǐng)域。
2.相關(guān)技術(shù)說(shuō)明用戶通過(guò)不同的用戶界面互用和控制計(jì)算機(jī)游戲及模擬。一個(gè)常見(jiàn)的用戶界面使用有一個(gè)或多個(gè)按鈕或觸發(fā)器的操縱桿。用戶可以控制一個(gè)游戲件的模擬運(yùn)動(dòng),例如計(jì)算機(jī)屏幕上的動(dòng)畫(huà)形象,用戶可通過(guò)傾斜操縱桿的方向指向用戶希望游戲件移動(dòng)的方向。同樣的,用戶在控制模擬飛機(jī)的飛行中傾斜操縱桿就相當(dāng)于控制真正飛機(jī)的移動(dòng)。操縱桿也被普遍的應(yīng)用為遙控設(shè)備的輸入裝置,例如飛機(jī)模型,工廠用移送電梯,等等。隨著機(jī)器人領(lǐng)域的長(zhǎng)足發(fā)展,更多的裝置和器材要被遙控,這種遙控主要是通過(guò)用戶和被控裝置之間的計(jì)算機(jī)界面。
另一個(gè)常見(jiàn)的計(jì)算機(jī)界面裝置是鼠標(biāo)。盡管鼠標(biāo)在與計(jì)算機(jī)程序如文字處理和電子表格進(jìn)行交互上非常方便,但在某種程度上它作為游戲,模擬,和遙控的界面裝置的使用上是有限的。傳統(tǒng)上講,鼠標(biāo)是通過(guò)選擇選項(xiàng)菜單來(lái)控制裝置的。比如說(shuō),用戶可以指向屏幕上顯示的一個(gè)控制的動(dòng)畫(huà),并點(diǎn)擊這個(gè)控制的不同位置產(chǎn)生不同的動(dòng)作。在游戲或模擬中,用戶可以點(diǎn)擊一個(gè)動(dòng)畫(huà)形象并把它拖拉到一個(gè)新的位置,但這種同步轉(zhuǎn)換與大多數(shù)游戲和模擬力求實(shí)現(xiàn)生動(dòng)形象的運(yùn)動(dòng)效果不相符合。鍵盤(pán)上的觸摸板和方向箭標(biāo)也是常用的和鼠標(biāo)特征類似的界面。
計(jì)算機(jī)游戲或模擬的用戶界面在涉及到控制可被單獨(dú)移動(dòng)的形象和物體時(shí)相當(dāng)麻煩。傳統(tǒng)上講,一個(gè)單一的動(dòng)作向量與用戶界面控制相關(guān)。比如,用戶控制一個(gè)模擬的乒乓球拍,模擬乒乓球的運(yùn)動(dòng)直接受控于乒乓球拍的運(yùn)動(dòng)和位置。同樣,一個(gè)用戶控制模擬飛行器的運(yùn)動(dòng)時(shí),通過(guò)適當(dāng)?shù)哪M飛行器定位,然后在此方位觸動(dòng)導(dǎo)彈發(fā)射,來(lái)控制模擬導(dǎo)彈的軌道。然而,有些真實(shí)的游戲或事件,并不遵守這種模擬范例。一個(gè)足球運(yùn)動(dòng)員并不是只有在與他行進(jìn)方向同向時(shí)才能傳球。一個(gè)飛行員可以向與飛機(jī)飛行方向不同的方向發(fā)射導(dǎo)彈。如果計(jì)算機(jī)游戲和模擬要表達(dá)的是一個(gè)生物形象,那他必須要支持形象和物體的獨(dú)立動(dòng)作控制。在傳統(tǒng)的計(jì)算機(jī)游戲和模擬中,獨(dú)立的動(dòng)作控制要通過(guò)環(huán)境轉(zhuǎn)換鍵來(lái)實(shí)現(xiàn)。比如說(shuō),有了雙重控制,要麼它是兩個(gè)分立的操縱桿,要麼是屏幕上顯示的兩個(gè)分立的控制。其中一個(gè)操縱桿或控制用于控制,如控制足球運(yùn)動(dòng)員的動(dòng)作,而另一個(gè)用來(lái)控制足球的傳遞。假若只有一個(gè)操縱桿或控制可用,用戶通過(guò)另一個(gè)控制從單一操縱桿或控制收到的輸入譯碼的開(kāi)關(guān),起用獨(dú)立控制。這個(gè)明顯的環(huán)境轉(zhuǎn)換開(kāi)關(guān),或者是屏幕上第二個(gè)控制區(qū)的開(kāi)關(guān),會(huì)是一個(gè)不協(xié)調(diào)的分心物干擾預(yù)想逼真姿態(tài)的模擬。
發(fā)明簡(jiǎn)述此發(fā)明的目標(biāo)是提供一個(gè)使用方便并能使動(dòng)畫(huà)形象和物體有生動(dòng)形象運(yùn)動(dòng)的用戶界面。此發(fā)明更進(jìn)一步的目標(biāo)是提供一個(gè)不需要非連續(xù)的環(huán)境轉(zhuǎn)換的獨(dú)立控制多個(gè)形象和物體運(yùn)動(dòng)的用戶界面。
這些目標(biāo)及其它目標(biāo)的實(shí)現(xiàn)是在注意到,在很多情形中,一個(gè)欲達(dá)目標(biāo)的識(shí)別與直接控制物體趨向目標(biāo)的動(dòng)作同等重要。也就是說(shuō),比如有些游戲的挑戰(zhàn)在于控制一個(gè)武器去攻擊目標(biāo),而另一些游戲的挑戰(zhàn)在于有效的選擇目標(biāo)。在足球賽中,一個(gè)游戲可能挑戰(zhàn)用戶調(diào)動(dòng)球員通過(guò)錯(cuò)綜復(fù)雜的阻礙的能力,而另一個(gè)游戲可能挑戰(zhàn)用戶選擇何時(shí)傳球,和傳球給誰(shuí)的能力。在很多現(xiàn)實(shí)生活的情況中,游戲者自覺(jué)的選擇一個(gè)目標(biāo),本能和訓(xùn)練影響了達(dá)到目的的方式。也就是說(shuō),足球隊(duì)中的后衛(wèi)知道在每一場(chǎng)比賽的關(guān)鍵時(shí)刻他該在哪里。大多數(shù)后衛(wèi)向給定目標(biāo)的運(yùn)動(dòng)是當(dāng)他迂回于對(duì)手之間時(shí)產(chǎn)生的相對(duì)的不自覺(jué)的思維。自覺(jué)的思維是當(dāng)情況出現(xiàn)后導(dǎo)致球員改變目標(biāo)時(shí)才有的。
依據(jù)此發(fā)明,用戶通過(guò)識(shí)別物體運(yùn)動(dòng)的目的或目標(biāo)來(lái)控制游戲或模擬,而不是直接控制那個(gè)運(yùn)動(dòng)。被控制的物體在其向明確目標(biāo)的運(yùn)動(dòng)中虛擬的自行運(yùn)作。為確保其真實(shí),被控物體遵照動(dòng)作規(guī)則,例如慣性效果,還有與其他物體接合的規(guī)則,例如躲避,碰撞,等等。隨著模擬游戲的發(fā)展,用戶可以調(diào)整目標(biāo),由此模擬在真正游戲中出現(xiàn)的判決過(guò)程。通過(guò)識(shí)別目的或目標(biāo),而不是被控物體的實(shí)際運(yùn)動(dòng),用戶界面固有的更適合于使用鼠標(biāo)和觸摸板的交互作用。例如,在一個(gè)足球場(chǎng)的顯示面上,用戶用鼠標(biāo)指向被控后衛(wèi)的目標(biāo)位置。在點(diǎn)擊那個(gè)位置后,模擬的后衛(wèi)以一種實(shí)質(zhì)上的獨(dú)立方式向那個(gè)位置前進(jìn)。
據(jù)此發(fā)明的另一方面,用戶靠獨(dú)立地識(shí)別每個(gè)物體的目標(biāo)控制獨(dú)立物體的動(dòng)作。在足球賽中,用戶指定足球的目的位置來(lái)控制足球的動(dòng)作。當(dāng)用戶開(kāi)動(dòng)一個(gè)開(kāi)關(guān),象是鼠標(biāo)開(kāi)關(guān)或觸發(fā)器,在目的位置,帶球的模擬球員把足球扔向目的位置的方向。這個(gè)模擬的足球向目的位置前進(jìn),并依據(jù)動(dòng)作規(guī)則,空氣動(dòng)力學(xué),接合,等等。注意足球目的位置的選擇同帶球者目標(biāo)位置的選擇是獨(dú)立的。輸入裝置上的每個(gè)按鈕或開(kāi)關(guān)都與一個(gè)被控物體相關(guān)。比如,點(diǎn)擊鼠標(biāo)的左鍵可識(shí)別帶球者的目標(biāo)位置,點(diǎn)擊鼠標(biāo)的右鍵可確定足球的目標(biāo)位置。
本發(fā)明的另一個(gè)實(shí)施例中,目標(biāo)支配的用戶界面是用來(lái)控制物質(zhì)的物體,象是工廠環(huán)境中的半自動(dòng)機(jī)器人。另一個(gè)實(shí)施例中,用戶是與物質(zhì)的環(huán)境交互作用,而不是計(jì)算機(jī)屏幕,來(lái)識(shí)別這些物質(zhì)物體的目標(biāo)。
圖1說(shuō)明了一個(gè)依據(jù)此發(fā)明的控制物體運(yùn)動(dòng)的用戶界面的例子。
圖2說(shuō)明了一個(gè)依此發(fā)明的一個(gè)拋射物體的運(yùn)動(dòng)過(guò)程的例子。
圖3說(shuō)明了一個(gè)依此發(fā)明的一個(gè)自行推進(jìn)物體的運(yùn)動(dòng)過(guò)程的例子。
圖4說(shuō)明,依據(jù)此發(fā)明,通過(guò)對(duì)兩個(gè)目標(biāo)位置的識(shí)別的兩個(gè)運(yùn)動(dòng)著物體的獨(dú)立控制。
圖5說(shuō)明了一個(gè)依此發(fā)明的一個(gè)用來(lái)實(shí)現(xiàn)物體運(yùn)動(dòng)的控制器的框圖例子圖6說(shuō)明了一個(gè)依此發(fā)明的一個(gè)實(shí)現(xiàn)物體運(yùn)動(dòng)的流程圖。
發(fā)明詳述圖1說(shuō)明了一個(gè)依據(jù)此發(fā)明的用戶界面的例子。這個(gè)界面是由一個(gè)通過(guò)控制器180連接在屏幕100上圖像110的輸入裝置190組成。圖像110代表一個(gè)坐標(biāo)空間內(nèi)的范圍。圖1所示的是兩個(gè)在坐標(biāo)空間內(nèi)的物體,物體1131代表一個(gè)足球,物體2132代表一個(gè)帶球的人。如計(jì)算機(jī)模擬領(lǐng)域中常見(jiàn)的,圖像110隨著相對(duì)不變的時(shí)間遞增而更新。每一次時(shí)間的增加,物體131和132的位置也在不斷的調(diào)節(jié)著,相應(yīng)于一個(gè)物理元素的距離,例如代表一個(gè)真正球員的物體132,會(huì)隨著時(shí)間的增加移動(dòng)。
依據(jù)此發(fā)明,要扔足球131,一個(gè)用戶(沒(méi)有顯示)用輸入裝置190在足球131被扔的坐標(biāo)空間內(nèi)來(lái)識(shí)別一個(gè)目標(biāo)位置120。根據(jù)足球131的位置和目標(biāo)位置120,控制器180決定足球131隨后的運(yùn)動(dòng)目標(biāo)方向125。在每個(gè)隨后的時(shí)間增量,足球131沿該目標(biāo)方向125運(yùn)動(dòng)。如果帶球者132有一個(gè)原定運(yùn)動(dòng)方向150,控制器180會(huì)繼續(xù)沿著原定方向150漸增移動(dòng)帶球者132。足球131將會(huì)持續(xù)移向目標(biāo)方向120,而不需要用戶的更多的直接控制。
在一個(gè)最佳實(shí)施例中,依據(jù)一個(gè)真正足球的運(yùn)程模型或系列模型,控制器180會(huì)在足球131向目標(biāo)位置120的線路上穿過(guò)時(shí)運(yùn)用動(dòng)作規(guī)則。比如說(shuō),足球的高度會(huì)是一個(gè)拋物線,足球在空氣中前進(jìn)的速度將繼續(xù)降低,如果它遇到障礙物,足球的速度和路線會(huì)突然改變,象遇到一個(gè)對(duì)方球員,或是場(chǎng)地,如果它的高度降低到零時(shí)。動(dòng)作規(guī)則也可能要依賴于帶球者132的特性。帶球者132可能是建立在一個(gè)真正足球運(yùn)動(dòng)員的模型之上,就象最初的足球速度和軌跡正確性是根據(jù)真正足球運(yùn)動(dòng)員的以往表現(xiàn)的采樣。同樣的,速度和軌道的正確性可能是足球131被扔出時(shí)帶球者132的狀態(tài)的一個(gè)函數(shù)。比如說(shuō),當(dāng)足球131被扔出時(shí)帶球者132是固定的,那這時(shí)速度和準(zhǔn)確性就可能很高。同樣,如果帶球者132正被趕上來(lái)的對(duì)方球員包圍著,那這時(shí)的準(zhǔn)確性就可能很低。在一個(gè)最佳實(shí)施例中,程控的控制器180會(huì)啟用這些和其他類似的規(guī)則,還有隨機(jī)因素來(lái)實(shí)現(xiàn)對(duì)屏幕上的游戲的真實(shí)模擬和表達(dá)。
在一個(gè)最佳實(shí)施例中,動(dòng)作規(guī)則依賴于被移動(dòng)的物體。圖2表明一個(gè)拋射物體的運(yùn)動(dòng)過(guò)程,如足球131,圖3表明一個(gè)自行運(yùn)動(dòng)的物體的運(yùn)動(dòng)過(guò)程,如帶球者132。在圖2中,目標(biāo)位置121是足球131的預(yù)定目標(biāo)位置;在圖3中,目標(biāo)位置122是帶球者132的預(yù)定目標(biāo)位置。也就是說(shuō),圖2代表一個(gè)途經(jīng)場(chǎng)景,圖3代表一個(gè)跑步場(chǎng)景。圖2和圖3所顯示的是存在于物體131,132和目標(biāo)點(diǎn)121,122的位置和目標(biāo)方向125之間的一個(gè)障礙物160。每一次時(shí)間增值,控制器180沿著目標(biāo)方向125移動(dòng)物體131,132,使物體131,132和障礙物160之間的距離減少。在這些時(shí)間增值期間,障礙物160,及其他障礙物和球員,也可以由控制器180移動(dòng)。
根據(jù)圖2,在某些時(shí)間點(diǎn),足球131與障礙160相撞,它的速度和路線會(huì)突然改變。圖2所示的是由于足球131和障礙160的碰撞,足球131向不同方向141的偏斜?;蛘呤?,控制器180可形成障礙160對(duì)足球131的中途阻截,就是說(shuō)足球131的繼后運(yùn)動(dòng)與障礙160的繼后運(yùn)動(dòng)一致。
根據(jù)圖3,在某些時(shí)間點(diǎn),帶球者132會(huì)去接近障礙160。那么,在同帶球者132有關(guān)動(dòng)作規(guī)則的控制下,帶球者132會(huì)試圖躲避障礙160。例如,如圖3所示,控制器180可被程序化來(lái)造成一場(chǎng)聲東擊西的假象。帶球者132緩慢的向方向325移動(dòng)并把障礙160帶向那個(gè)方向,然后向反方向326移動(dòng),直到可以毫無(wú)阻礙的向目標(biāo)方向行進(jìn),朝向一個(gè)新的物體方向142。注意通過(guò)提供包括特定類型物體的正常反應(yīng)的動(dòng)作規(guī)則,就像一個(gè)帶球者的直覺(jué)反應(yīng),控制器180可以實(shí)現(xiàn)一個(gè)真實(shí)表現(xiàn)的游戲,而沒(méi)有由于要求用戶明確表明這種直覺(jué)反應(yīng)或自動(dòng)答復(fù)的典型的中斷。在一個(gè)最佳實(shí)施例中,用戶如果愿意還可以選擇覆蓋自行運(yùn)動(dòng)物體自動(dòng)運(yùn)動(dòng)的這項(xiàng)選擇。
如在本領(lǐng)域中常見(jiàn)的,控制器180,或另一個(gè)控制器,可以通過(guò)允許不同用戶控制不同物體來(lái)實(shí)現(xiàn)一個(gè)有多參與者的游戲。例如,障礙160可以是一個(gè)對(duì)手控制的球員。為模擬一對(duì)一防衛(wèi),控制器180可讓對(duì)手明確一個(gè)變化的目標(biāo)位置,就象是帶球者132的動(dòng)態(tài)位置。目標(biāo)位置與一個(gè)移動(dòng)的目標(biāo)物體相關(guān),如每當(dāng)目標(biāo)物體的位置發(fā)生變化,目標(biāo)位置也在更新。在這個(gè)例子中,障礙160的目標(biāo)隨著帶球者132的移動(dòng)方向而持續(xù)移動(dòng),甚至和帶球者132的運(yùn)動(dòng)一樣,由此模擬動(dòng)作,如,在真正球賽中對(duì)立的沖撞。
圖4所示的是通過(guò)對(duì)兩個(gè)目標(biāo)位置121,122的識(shí)別,兩個(gè)移動(dòng)物體131,132的獨(dú)立控制。起初,物體132,代表帶球者,位于位置132a。用戶用輸入裝置190在圖像110的坐標(biāo)空間內(nèi)選擇一個(gè)位置122,并使那個(gè)目標(biāo)位置122與物體132相關(guān)。在一個(gè)最佳實(shí)施例中,目標(biāo)位置122的識(shí)別是通過(guò)被輸入裝置190,如鼠標(biāo),觸摸板,操縱桿,等控制的指示器401來(lái)實(shí)現(xiàn)的,一個(gè)確定的物體與目標(biāo)位置的聯(lián)系是借助于輸入裝置190上的開(kāi)關(guān)S1,S2。注意屏幕100上的圖象110只是作為一個(gè)在坐標(biāo)空間內(nèi)識(shí)別位置的參考平面。正如本領(lǐng)域常見(jiàn)的,其他識(shí)別坐標(biāo)空間內(nèi)的位置的方式也廣泛應(yīng)用。例如,坐標(biāo)空間可在“數(shù)碼白板”上體現(xiàn),用戶可以借助板上的激光指示器識(shí)別目標(biāo)位置。用戶可能處于一個(gè)虛擬現(xiàn)實(shí)環(huán)境中,靠?jī)x器來(lái)感覺(jué)動(dòng)作和姿勢(shì)。在這種環(huán)境中,用戶只需指向一個(gè)目標(biāo)位置就可實(shí)現(xiàn)它的識(shí)別。這種輸入手段的結(jié)合也是本發(fā)明的范圍內(nèi)。例如,用戶可能在一個(gè)真實(shí)的環(huán)境中用控制器上的指示器指示真實(shí)環(huán)境中的實(shí)際位置,從而識(shí)別目標(biāo)位置。同樣的,輸入裝置上的開(kāi)關(guān)可以被用來(lái)控制其他的不是被移動(dòng)的物體,象模擬的環(huán)境狀況,或是象照明一樣的實(shí)際情況。總體而言,附加的開(kāi)關(guān)可被用于控制控制器180的狀態(tài)。
在圖4中,當(dāng)指示器401在預(yù)定的目標(biāo)位置122時(shí),用戶通過(guò)關(guān)閉輸入裝置190上的一個(gè)特定開(kāi)關(guān)S2 192,使特定物體132與目標(biāo)位置122相聯(lián)系。在此之后控制器180會(huì)如上所述的把物體132移向目標(biāo)位置122。因?yàn)槲矬w131,足球,是分配給物體132,帶球者的,除非球被扔出,足球131與帶球者132是一致的。
在此后的一個(gè)時(shí)間點(diǎn),當(dāng)物體132,131位于132b,131a時(shí),用戶給足球131選擇一個(gè)目標(biāo)位置121,由此模擬了帶球者132移動(dòng)球131。當(dāng)指示器401′位于目標(biāo)位置121時(shí),目標(biāo)位置121通過(guò)用戶關(guān)閉開(kāi)關(guān)S1 191而足球131相聯(lián)系。此后,物體132繼續(xù)沿著原定目標(biāo)方向332移向目標(biāo)位置122,如132c所示;物體131沿著目標(biāo)方向331移向目標(biāo)位置121,如131b所示。正如本領(lǐng)域中常見(jiàn)的,附加物體可被附加開(kāi)關(guān)控制,或是通過(guò)開(kāi)關(guān)的關(guān)閉組合而與特定物體相聯(lián)系。
圖5展示的是控制器180的框圖例子。輸入處理器510收到輸入裝置190的輸入?yún)?shù)。在本領(lǐng)域中已知的,輸入處理器510把輸入裝置的移動(dòng)和屏幕上指標(biāo)的移動(dòng)互相關(guān)聯(lián),用以提供指標(biāo)坐標(biāo)與圖像坐標(biāo)空間的對(duì)應(yīng)。輸入處理器510還會(huì)識(shí)別輸入事件,包括開(kāi)關(guān)關(guān)閉,并將輸入事件的時(shí)間和指標(biāo)坐標(biāo)相結(jié)合。輸入事件511被傳送到目標(biāo)坐標(biāo)決定器520。目標(biāo)坐標(biāo)決定器520響應(yīng)開(kāi)關(guān)關(guān)閉事件。當(dāng)一個(gè)開(kāi)關(guān)的關(guān)閉出現(xiàn)時(shí),目標(biāo)坐標(biāo)決定器520分配一個(gè)新的目標(biāo)位置,同開(kāi)關(guān)關(guān)閉時(shí)指標(biāo)所在的位置一致,給同那個(gè)關(guān)閉的開(kāi)關(guān)有關(guān)的物體。目標(biāo)坐標(biāo)決定器520還持續(xù)識(shí)別任何其他物體目標(biāo)位置的改變,例如對(duì)所有由控制器180直接控制的物體,如人對(duì)計(jì)算機(jī)游戲中對(duì)立的參與者,或同移動(dòng)著的目標(biāo)物體相關(guān)的目標(biāo)位置。物體識(shí)別器和目標(biāo)位置521與障礙檢測(cè)器和方向決定器530通信。與障礙檢測(cè)器和方向決定器530相連的是一個(gè)生成時(shí)間事件561的時(shí)間增值生成器560。
每次時(shí)間增值,障礙檢測(cè)器和方向決定器530根據(jù)與每個(gè)物體相關(guān)的目標(biāo)位置和每個(gè)物體的現(xiàn)時(shí)位置,決定每個(gè)物體的預(yù)期方向,并確定在每個(gè)物體和它的相應(yīng)目標(biāo)位置之間的路線附近是否有障礙。根據(jù)物體的類型,障礙檢測(cè)器和方向決定器將決定物體即將移往的方向。例如,如果物體是拋射的,躲避是不可能的;物體沿著它當(dāng)前的方向移動(dòng)直到碰到障礙。在碰撞時(shí),障礙檢測(cè)器和方向決定器530根據(jù)以前提到的碰撞和動(dòng)作規(guī)則為有關(guān)的物體決定產(chǎn)生新方向。如果這個(gè)物體是自行運(yùn)動(dòng)的,障礙檢測(cè)器和方向決定器530運(yùn)用與此物體有關(guān)的碰撞和動(dòng)作規(guī)則來(lái)決定適當(dāng)?shù)母淖?,如果有,向著物體的前進(jìn)方向。為了前后一致,障礙檢測(cè)器和方向決定器530也運(yùn)用其他影響物體方向的規(guī)則,如隨機(jī)因素的采用,空氣動(dòng)力效應(yīng),等等。比如,如果物體是一個(gè)從運(yùn)動(dòng)著的飛行器發(fā)射出的導(dǎo)彈,障礙檢測(cè)器和方向決定器530會(huì)算出導(dǎo)彈的推力和原速度的向量和來(lái)決定導(dǎo)彈向它的目標(biāo)位置前進(jìn)的更實(shí)際的路線。根據(jù)障礙的出現(xiàn)和適當(dāng)?shù)膭?dòng)作規(guī)則,障礙檢測(cè)器和方向決定器530傳達(dá)一個(gè)和每個(gè)物體相關(guān)的速度531到物體移動(dòng)器540。速度531包括相關(guān)物體的運(yùn)動(dòng)方向和幅度。
物體移動(dòng)器540依靠當(dāng)前與每個(gè)物體相關(guān)的速度531改變每個(gè)物體的位置541。每個(gè)物體的位置541都被傳達(dá)到渲染屏幕100上的圖像110的顯示生成器550上。在下一個(gè)時(shí)間增值,時(shí)間增值生成器560啟動(dòng)了一個(gè)計(jì)時(shí)事件561引起障礙檢測(cè)器和方向決定器530更新每一個(gè)物體的速度531。依據(jù)新的速度531,物體移動(dòng)器540調(diào)節(jié)物體位置,一個(gè)新的圖像110也由顯示生成器550產(chǎn)生了。
有些優(yōu)化可能會(huì)被上述過(guò)程影響。例如,物體移動(dòng)器540可能只與自最后一個(gè)計(jì)時(shí)事件后被移動(dòng)的物體位置541聯(lián)系,顯示生成器只需要更新被移動(dòng)物體附近的圖像。同樣的,目標(biāo)坐標(biāo)決定器520只同改變了的目標(biāo)位置521通信。需要定義一個(gè)從屬結(jié)構(gòu)來(lái)把特定事件和特定物體聯(lián)系起來(lái),使得只有那些依靠特定事件的物體才被處理。例如,一個(gè)物體的速度可能被定義為常量直到它撞上了障礙物。障礙檢測(cè)器和方向決定器530不會(huì)再計(jì)算物體的速度531除非這樣的碰撞事件發(fā)生。這些和其他模擬優(yōu)化技術(shù)在本領(lǐng)域是已知的。
圖6說(shuō)明了一個(gè)依此發(fā)明的一個(gè)實(shí)現(xiàn)物體運(yùn)動(dòng)的流程圖的例子。每一個(gè)時(shí)間的增值,一個(gè)刷新的圖像被顯示在610上;通過(guò)循環(huán)620-650,圖像坐標(biāo)空間內(nèi)一個(gè)與物體運(yùn)動(dòng)一致的新的圖像產(chǎn)生了。為清晰起見(jiàn),圖像內(nèi)每個(gè)可移動(dòng)物體都被顯示為是由循環(huán)620-650處理的,盡管以前提到的優(yōu)化技巧會(huì)在知道程序段的輸出不被影響時(shí)產(chǎn)生一個(gè)或多個(gè)程序段的分流。
在620,物體的目標(biāo)位置的任何改變都會(huì)被確定。如前所述,一個(gè)物體的目標(biāo)位置可由用戶選擇來(lái)改變,或經(jīng)過(guò)內(nèi)部處理。在以上提及的一對(duì)一防衛(wèi)的事例中,每當(dāng)另一個(gè)物體的位置改變時(shí)這個(gè)物體的目標(biāo)位置也會(huì)改變。在630,從物體的位置到它目標(biāo)位置的方向是確定的。這是物體所希望的前進(jìn)方向,由于障礙物,動(dòng)作規(guī)則及其它,它不一定是可實(shí)現(xiàn)的或現(xiàn)實(shí)的方向。在640,物體實(shí)際的前進(jìn)方向被確定。如以上所提到和如方塊642,644,646,648所說(shuō)明的,物體前進(jìn)的方向和幅度依賴于多個(gè)因素,每個(gè)被確定的因素都會(huì)影響物體行進(jìn)時(shí)的真實(shí)感。在650,根據(jù)在640確定的速度,物體在增值的移動(dòng)著。移動(dòng)的數(shù)量取決于計(jì)算顯示圖像之間的時(shí)間增值時(shí),在確定的速度下行進(jìn)的距離。在所有的物體通過(guò)循環(huán)620-650被移動(dòng)后,新的圖像在下一個(gè)時(shí)間增值時(shí)顯示出來(lái),在610,重復(fù)程序610-650。
以上所述的只列舉是了本發(fā)明的原理。本領(lǐng)域的技術(shù)人員能在本發(fā)明的精神和范疇內(nèi),設(shè)計(jì)出在此沒(méi)有明確描述或表示出來(lái)的,體現(xiàn)本發(fā)明原理的不同方案。比如說(shuō),這個(gè)發(fā)明只是演示在一個(gè)計(jì)算機(jī)游戲的環(huán)境中。本領(lǐng)域的技術(shù)人員可以理解這個(gè)目標(biāo)支配的用戶界面能被運(yùn)用到模擬的和實(shí)際中任何與移動(dòng)物體有關(guān)的應(yīng)用程序中。對(duì)工廠或辦公室中機(jī)器人的控制可通過(guò)指向每個(gè)機(jī)器人的預(yù)定目的地來(lái)實(shí)現(xiàn),而不是通過(guò)控制每個(gè)機(jī)器人的特定動(dòng)作。這個(gè)例子中的控制者要運(yùn)用動(dòng)作規(guī)則和障礙躲避,以便引用每個(gè)機(jī)器人的實(shí)際控制來(lái)達(dá)到目標(biāo)位置。這個(gè)發(fā)明也在物體和目標(biāo)位置之間的主要直線路線環(huán)境中展示過(guò)。正如一般技巧中常見(jiàn)的,通路形成算法,如迷宮路線算法,可以被用來(lái)決定在一個(gè)更加復(fù)雜的環(huán)境中的速度增值和物體運(yùn)動(dòng)。
權(quán)利要求
1.一種計(jì)算機(jī)界面,包括一個(gè)在坐標(biāo)空間內(nèi)選擇目標(biāo)位置(120)的輸入裝置(190),和一個(gè)控制器(180),可操控連接在輸入裝置(190)上,實(shí)現(xiàn)物體(131)沿著目標(biāo)方向(125)向目標(biāo)位置(120)的運(yùn)動(dòng)。
2.如權(quán)利要求1的計(jì)算機(jī)界面,其中物體(131)在同原方向(150)實(shí)質(zhì)不同的目標(biāo)方向(125)上有一個(gè)原始的移動(dòng)。
3.如權(quán)利要求1的計(jì)算機(jī)界面,其中控制器(180)包括一個(gè)障礙檢測(cè)器(530),檢測(cè)物體(131)的位置和目標(biāo)位置(121)之間的障礙(160),一個(gè)方向決定器(530),依據(jù)目標(biāo)方向(125)和根據(jù)在物體位置(131)和目標(biāo)位置(121)之間的障礙(160)決定物體方向(141),和一個(gè)物體移動(dòng)器(540),依據(jù)物體方向(141),遞增的調(diào)節(jié)物體(131’)的位置。
4.如權(quán)利要求1的計(jì)算機(jī)界面,其中輸入裝置(190)包括多個(gè)開(kāi)關(guān)(S1,S2)多個(gè)開(kāi)關(guān)(S1,S2)中至少一個(gè)開(kāi)關(guān)(S1)和物體(131)相關(guān),和多個(gè)開(kāi)關(guān)(S1,S2)中的另一個(gè)開(kāi)關(guān)(S2)和另一個(gè)物體(132)相關(guān),和控制器(180)更進(jìn)一步可操控連接在多個(gè)開(kāi)關(guān)(S1,S2)上,作用至少另一個(gè)物體(132)的至少另一個(gè)運(yùn)動(dòng),該至少至少另一個(gè)運(yùn)動(dòng)朝向至少另一個(gè)被選擇的與該至少另一個(gè)物體(132)有關(guān)的開(kāi)關(guān)(S2)的關(guān)閉有關(guān)的目標(biāo)位置(122)的方向(332)。
5.如權(quán)利要求1的計(jì)算機(jī)界面,進(jìn)一步包括一個(gè)描述與坐標(biāo)空間一致的圖像(110)的屏幕(100),其中控制器(180),根據(jù)與物體(131)相關(guān)的運(yùn)動(dòng)的規(guī)則影響物體(131)的運(yùn)動(dòng)以實(shí)現(xiàn)屏幕(100)上圖像(110)的真實(shí)渲染。
6.如權(quán)利要求5的計(jì)算機(jī)界面,其中控制器(180)根據(jù)與至少另一個(gè)物體(132)相關(guān)的動(dòng)作規(guī)則實(shí)現(xiàn)該至少另一個(gè)物體(132)的運(yùn)動(dòng)以實(shí)現(xiàn)屏幕(100)上圖像(110)的真實(shí)渲染。
7.如權(quán)利要求1的計(jì)算機(jī)界面,其中輸入裝置(190)還包括了至少另一個(gè)開(kāi)關(guān),該另一個(gè)開(kāi)關(guān)與控制器(180)的狀態(tài)有關(guān)。
8.如權(quán)利要求1的計(jì)算機(jī)界面,其中目標(biāo)位置(121)與另一個(gè)位置可變的物體相關(guān),和控制器(180)依據(jù)該另一個(gè)物體的可改變位置來(lái)改變目標(biāo)位置(121)。
9.一種保存在計(jì)算機(jī)可讀媒介里的計(jì)算機(jī)程序(180),用來(lái)控制多個(gè)物體(131,132)的運(yùn)動(dòng),多個(gè)物體中的每個(gè)物體在坐標(biāo)空間內(nèi)都有一個(gè)物體位置,計(jì)算機(jī)程序(180)包括在坐標(biāo)空間內(nèi)識(shí)別指示器(401)的坐標(biāo)的裝置(510),裝置(510)用來(lái)檢測(cè)多個(gè)輸入開(kāi)關(guān)(S1,S2)的每個(gè)開(kāi)關(guān)的關(guān)閉,多個(gè)輸入開(kāi)關(guān)的每個(gè)開(kāi)關(guān)與多個(gè)物體的各個(gè)物體相關(guān),一個(gè)目標(biāo)坐標(biāo)決定器(520,620),依據(jù)在檢測(cè)到與每個(gè)物體相關(guān)的各個(gè)開(kāi)關(guān)(S1,S2)的關(guān)閉時(shí)指示器(401,401’)的坐標(biāo),決定與每個(gè)物體有關(guān)的多個(gè)目標(biāo)位置的每個(gè)目標(biāo)位置(121,122),一個(gè)物體移動(dòng)器(540,650),在朝向與每個(gè)物體(131,132)有關(guān)的每個(gè)目標(biāo)位置(121,122)的每個(gè)物體方向上遞增的調(diào)節(jié)每個(gè)物體的位置。
10.如權(quán)利要求9的計(jì)算機(jī)程序,還包含一個(gè)障礙檢測(cè)器(642),識(shí)別與位于每個(gè)物體位置和相關(guān)的目標(biāo)位置(121,122)之間的與每個(gè)物體的相關(guān)的障礙(160),和一個(gè)方向決定器(640),依據(jù)與每個(gè)物體相關(guān)的障礙改變每個(gè)物體的方向。
11.一種用于控制物體運(yùn)動(dòng)的方法,包括以下步驟定義一個(gè)坐標(biāo)空間,有物體位置的物體在此坐標(biāo)空間內(nèi),在坐標(biāo)空間內(nèi)識(shí)別一個(gè)與物體相關(guān)的目標(biāo)位置(620),在物體位置和目標(biāo)位置之間確定一個(gè)方向(630),基本上在物體位置和目標(biāo)位置的之間的方向遞增的更改(640-650)物體位置。
12.如權(quán)利要求11的方法,還有以下幾個(gè)步驟確定在物體位置和目標(biāo)位置之間的與物體相關(guān)的障礙(642),和其中遞增的更改物體位置(640-650)的步驟可更進(jìn)一步的依賴于與物體相關(guān)的障礙。
13.如權(quán)利要求11的方法,還包括如下幾個(gè)步驟識(shí)別與至少另一個(gè)物體相關(guān)的至少另一個(gè)目標(biāo)位置(620),確定在至少另一個(gè)物體位置和至少另一個(gè)目標(biāo)位置之間的至少另一個(gè)方向(630),基本上在至少另一個(gè)物體位置和至少另一個(gè)目標(biāo)位置之間的至少另一個(gè)方向遞增地更改該至少另一個(gè)物體(640-650)的位置。
14.如權(quán)利要求11的計(jì)算機(jī)程序,其中物體移動(dòng)器(650)基本上根據(jù)與每個(gè)物體(131,132)相關(guān)的規(guī)則調(diào)節(jié)每個(gè)物體位置,模擬與該物體相聯(lián)系的物理物體的運(yùn)動(dòng)。
15.如權(quán)利要求11的計(jì)算機(jī)程序,其中目標(biāo)坐標(biāo)決定器(520,620)依據(jù)在坐標(biāo)空間內(nèi)的目標(biāo)物體的位置,進(jìn)一步確定多個(gè)目標(biāo)位置中的至少一個(gè)。
16.如權(quán)利要求15的方法,還包括以下幾個(gè)步驟確定與物體相關(guān)的速度(648),和其中遞增的更改物體位置(640-650)的步驟可更進(jìn)一步的依賴于與物體相關(guān)的速度。
全文摘要
提供了一種用戶界面,它允許通過(guò)設(shè)備與多個(gè)物體的每一個(gè)相關(guān)的目標(biāo)位置而控制多個(gè)物體的運(yùn)動(dòng)。目標(biāo)位置的識(shí)別是通過(guò)與輸入設(shè)備的坐標(biāo)指示器實(shí)現(xiàn),目標(biāo)位置與特定物體相關(guān)是通過(guò)與特定物體相關(guān)的輸入設(shè)備上的開(kāi)關(guān)實(shí)現(xiàn)。在識(shí)別相關(guān)的目標(biāo)位置后,物體朝向目標(biāo)位置移向而不需要用戶的進(jìn)一步輸入。在最佳實(shí)施例中,物體朝向目標(biāo)位置的運(yùn)動(dòng)基于與其它物體或障礙物運(yùn)動(dòng)和碰撞規(guī)則,因而實(shí)現(xiàn)物體朝向目標(biāo)運(yùn)動(dòng)的真實(shí)渲染。運(yùn)動(dòng)和碰撞的規(guī)則可以是運(yùn)動(dòng)物體的每種類型所特有的,并隨多個(gè)物體和障礙物之間互動(dòng)而改變。
文檔編號(hào)G06F3/033GK1300388SQ99804218
公開(kāi)日2001年6月20日 申請(qǐng)日期1999年10月27日 優(yōu)先權(quán)日1998年11月20日
發(fā)明者K·E·馬蒂爾斯, J·D·沙菲爾 申請(qǐng)人:皇家菲利浦電子有限公司