国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      使用碰撞體來捕捉屏幕對象的制作方法

      文檔序號:6354806閱讀:435來源:國知局
      專利名稱:使用碰撞體來捕捉屏幕對象的制作方法
      技術領域
      本發(fā)明設計運動捕捉系統(tǒng),尤其設計運動捕捉系統(tǒng)中的屏幕對象捕捉。
      背景技術
      在過去,諸如計算機游戲和多媒體應用等計算應用程序使用控制命令來允許用戶操縱游戲人物或應用的其他方面。通常,此類控制命令使用例如控制器、遙控器、鍵盤、鼠標等來輸入。近來,計算機游戲和多媒體應用已開始使用照相機和軟件姿勢識別引擎來提供人機接口(“HCI”)。使用HCI,檢測、解釋用戶移動和姿勢并將其用于控制游戲人物或應用的其他方面。在玩游戲和其他此類應用中,生成用戶可用他或她的移動來控制的屏幕上玩家表示或化身。此類游戲或應用的一個常見方面是用戶需要執(zhí)行導致屏幕上化身與移動的虛擬對象接觸并捕捉該虛擬對象的移動。常見的游戲示例包括接住移動的虛擬球,或在英式足球(英國的足球)中用用戶的腳接觸移動的球。給定物理的骨架跟蹤的精確性質,以及在 3D真實世界空間和虛擬2D屏幕空間的不同參考幀之間協(xié)調手眼動作的難度,在玩游戲期間在3D空間中執(zhí)行導致化身捕捉虛擬的移動屏幕對象的運動是特別困難的。

      發(fā)明內容
      本發(fā)明的技術一般涉及向用戶提供捕捉移動的屏幕對象時的誤差余量,同時創(chuàng)建用戶正在完全控制屏幕上的活動的假象的系統(tǒng)。本系統(tǒng)可創(chuàng)建附連到捕捉對象的一個或多個碰撞體(collision volume),這些碰撞體可用于捕捉移動的屏幕上目標對象。捕捉對象可以是身體部位,如手或腳,但不必如此。在各實施例中,取決于移動的目標對象的矢量速度以及捕捉對象和目標對象之間的距離,目標對象的航線可被更改為拉向捕捉對象并由其捕捉。由于屏幕上對象可能快速移動且航線糾正可能較小,因此對目標對象的航線的更改可能難以或不可能被用戶感知。由此,看上去用戶正確地執(zhí)行了捕捉目標對象所需的移動。在各實施例中,本發(fā)明的技術包括耦合到用于捕捉用戶運動的捕捉設備的計算環(huán)境。使用該系統(tǒng),該技術執(zhí)行生成供用戶使用第二虛擬對象來捕捉第一虛擬對象的誤差余量的步驟,該第一虛擬對象在顯示畫面上移動。該方法包括以下步驟在第二對象周圍定義碰撞體,確定第一對象是否在碰撞體內經過,以及如果確定第一對象在碰撞體內經過,則調整第一對象的路徑以便與第二對象碰撞。在另一實施例中,該方法包括確定第一對象的速度和方向的步驟。該方法還至少部分地基于給定位置處第一對象和第二對象之間的距離以及第一對象在該給定位置處的速度來確定是否調整第一對象的路徑以便與第二對象碰撞。此外,該方法包括如果確定至少速度與給定位置處第一和第二對象之間的距離之比超過了閾值比率,則調整第一對象的路徑以便與第二對象碰撞。在還有一個實施例中,該方法包括確定第一對象的速度和方向,以及基于以下各項來確定是否調整第一對象的路徑以便與第二對象碰撞的步驟i)第二對象和第一對象的給定位置之間的距離,ii)第一對象在給定位置處的速度,以及iii)由第一對象的移動路徑和給定位置處第一和第二對象之間的線定義的參考角。此外,該方法包括如果確定速度和參考角的組合與給定位置處第一和第二對象之間的距離之比超過了閾值比率,則調整第一對象的路徑以便與第二對象碰撞。


      圖1示出了用戶正在玩游戲的系統(tǒng)的示例實施例。圖2示出了可在本發(fā)明的技術的系統(tǒng)中使用的捕捉設備的示例實施例。圖3A示出了可在本發(fā)明的技術的系統(tǒng)中用于解釋移動的計算環(huán)境的示例實施例。圖;3B示出了可在本發(fā)明的技術的系統(tǒng)中用于解釋移動的計算環(huán)境的另一示例實施例。圖4示出了從圖2的系統(tǒng)生成的用戶的骨架映射。圖5示出了用戶試圖捕捉移動對象。圖6示出了用于調整移動對象的方向以便被用戶捕捉的碰撞體。圖7示出了用戶捕捉對象。圖8是用于調整移動對象的方向以便被用戶捕捉的碰撞體的替換實施例。圖9是根據本發(fā)明的技術的第一實施例的捕捉引擎的操作的流程圖。圖10是根據本發(fā)明的技術的第二實施例的捕捉引擎的操作的流程圖。圖11是根據本發(fā)明的技術的第三實施例的捕捉引擎的操作的流程圖。圖12示出了粘附到不是用戶身體的一部分的對象的碰撞體。
      具體實施例方式現在將參考圖1-12來描述本發(fā)明的技術的各實施例,本發(fā)明的技術一般涉及向用戶提供捕捉移動的屏幕對象時的誤差余量,同時創(chuàng)建用戶正在完全控制屏幕上活動的假象的系統(tǒng)。在一個一般的實施例中,本系統(tǒng)可創(chuàng)建被附連到一個或多個捕捉對象且圍繞該一個或多個捕捉對象的一個或多個“碰撞體”,這些碰撞體可用于捕捉移動的屏幕上目標對象。捕捉對象可以是身體部位,如手或腳,但不必如此。取決于移動的目標對象的矢量速度以及捕捉對象和目標對象之間的距離,目標對象的航線可被更改為拉向捕捉對象并由其捕捉。在其他實施例中,該碰撞體可類似于捕捉對象周圍的磁場,其具有從碰撞體的中心向外逐漸減小的吸引力。在此類實施例中,碰撞體在目標對象的給定位置處的強度也可影響對象的航線是否被調整以便被捕捉。在以下描述的實施例的任一個中,屏幕上對象可能快速移動和/或航線糾正可能較小。由此,對目標對象的航線的任何更改可能難以或不可能被用戶感知。由此,看上去用戶正確地執(zhí)行了捕捉目標對象所需的移動。最初參考圖1-2,用于實現本發(fā)明的技術的硬件包括可用于識別、分析和/或跟蹤諸如用戶18等的人類目標的系統(tǒng)10。系統(tǒng)10的各實施例包括用于執(zhí)行游戲或其他應用的計算環(huán)境12,以及用于從游戲或其他應用提供音頻和視覺表示的視聽設備16。系統(tǒng)10還包括用于檢測設備20捕捉的用戶的移動和姿勢的捕捉設備20,計算環(huán)境接收并使用該移動和姿勢來控制游戲或其他應用。這些組件中的每一個都會在以下詳細描述。如圖1所示,在一示例實施例中,在計算環(huán)境12上執(zhí)行的應用可以是用戶18可能正在玩的橄欖球(美式足球)游戲。例如,計算環(huán)境12可使用視聽設備16來提供移動的球21的視覺表示。計算環(huán)境12還可使用視聽設備16來提供用戶18可通過他的或她的移動來控制的玩家化身14的視覺表示。用戶18可在真實空間中作出移動,并且這些移動如下所述地由系統(tǒng)10來檢測和解釋,使得玩家化身14模仿用戶的屏幕上移動。例如,用戶18可看見屏幕上移動的虛擬球21,且在真實空間中作出移動以將其化身的腳定位在球的路徑中以便捕捉該球。如此處所使用的術語“捕捉”指的是例如球21等屏幕上目標對象接觸到例如化身的腳等屏幕上捕捉對象。術語“捕捉”不具有時間方面。捕捉對象可捕捉目標對象,使得對象之間的接觸持續(xù)不多于一個瞬間,或者對象可在捕捉時保持與彼此接觸,直到發(fā)生某一其他動作來分開對象。捕捉對象可以是各種身體部位的任一種,或者不是化身的身體的任何部位的對象。例如,用戶18可以手持諸如球拍等對象,該對象可作為捕捉對象來對待??梢愿櫜⒗猛婕沂殖智蚺牡倪\動來控制電子運動游戲中的屏幕上球拍。各種各樣的其他對象可被抓握、穿戴或以其他方式附連到用戶的身體,這些對象可作為捕捉對象來對待。在其他實施例中,捕捉對象完全不需要與用戶的身體相關聯。作為以下參考圖12描述的一個示例,籃圈可以是用于捕捉目標對象(例如,籃球)的捕捉對象。關于捕捉對象和目標對象的進一步細節(jié)在下文中解釋。圖2示出可在目標識別、分析和跟蹤系統(tǒng)10中使用的捕捉設備20的示例實施例。 關于與本發(fā)明的技術一起使用的捕捉設備的進一步細節(jié)在題為“Device For Identifying And Tracking Multiple Humans Over Time”(用于隨時間標識和跟蹤多個人的設備)的共同待審的專利申請第12/475,308號中有闡述,該申請通過整體引用結合于此。然而,在一示例實施例中,捕捉設備20可被配置成經由任何合適的技術——包括例如飛行時間、結構化光、立體圖像等——捕捉帶有深度圖像的視頻,該深度圖像可包括深度值。根據一實施例,捕捉設備20可將所計算的深度信息組織為“Z層”,即可與從深度照相機沿其視線延伸的Z軸垂直的層。如圖2所示,捕捉設備20可包括圖像相機組件22。根據一示例實施例,圖像相機組件22可以是可捕捉場景的深度圖像的深度相機。深度圖像可包括所捕捉的場景的二維 (2-D)像素區(qū)域,其中2-D像素區(qū)域中的每一像素可表示來自相機的所捕捉的場景中的對象的長度,該長度可采用例如厘米、毫米等單位。如圖2所示,根據一示例實施例,圖像相機組件22可包括可用于捕捉場景的深度圖像的頂光組件對、三維(3-D)照相機沈、和RGB相機觀。例如,在飛行時間分析中,捕捉設備20的頂光組件M可將紅外光發(fā)射到場景上,然后可使用傳感器(未示出),使用例如 3-D相機沈和/或RGB相機觀,來檢測來自場景中的一個或多個目標和物體的表面的反向散射光。根據另一實施例,捕捉設備20可包括兩個或更多物理上分開的相機,這些相機可從不同角度查看場景以獲得視覺立體數據,該視覺立體數據可被解析以生成深度信息。捕捉設備20還可包括話筒30。話筒30可包括可接收聲音并將其轉換成電信號的變換器或傳感器。根據一實施例,話筒30可用于減少目標識別、分析和跟蹤系統(tǒng)10中的捕捉設備20與計算環(huán)境12之間的反饋。另外,話筒30可用于接收也可由用戶提供的音頻信號,以控制可由計算環(huán)境12執(zhí)行的諸如游戲應用、非游戲應用等應用。在一示例實施例中,捕捉設備20還可包括可與圖像相機組件22進行有效通信的處理器32。處理器32可包括可執(zhí)行指令的標準處理器、專用處理器、微處理器等,指令可以是用于接收深度圖像的指令、用于確定合適的目標是否可被包括在深度圖像中的指令、用于將合適的目標轉換成該目標的骨架表示或模型的指令、或任何其他合適的指令。捕捉設備20還可包括存儲器組件34,存儲器組件34可存儲可由處理器32執(zhí)行的指令、3-D相機或RGB相機所捕捉的圖像或圖像的幀、或任何其他合適的信息、圖像等等。 根據一示例實施方式,存儲器組件34可包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、高速緩存、閃存、硬盤、或任何其他合適的存儲組件。如圖2所示,在一實施例中,存儲器組件 34可以是與圖像捕捉組件22和處理器32進行通信的單獨的組件。根據另一實施例,存儲器組件34可被集成到處理器32和/或圖像捕捉組件22中。如圖2中所示,捕捉設備20可以經由通信鏈路36與計算環(huán)境12通信。通信鏈路36可以是包括例如USB連接、火線連接、以太網電纜連接等的有線連接和/或諸如無線 802. lib,802. llg、802. Ila或802. Iln連接等無線連接。根據一實施例,計算環(huán)境12可經由通信鏈路36向捕捉設備20提供可用于確定例如何時捕捉場景的時鐘。另外,捕捉設備20可經由通信鏈路36向計算環(huán)境12提供深度信息和由例如3-D 相機沈和/或RGB相機觀捕捉的圖像,以及可由捕捉設備20生成的骨架模型。存在各種用于確定捕捉設備20所檢測的目標或對象是否對應于人類目標的已知技術。骨架映射技術因而可用于確定該用戶的骨架上的各個點,手、腕、肘、膝、鼻、踝、肩的關節(jié),以及骨盆與脊椎相交之處。其他技術包括將圖像變換成該人體的身體模型表示以及將圖像變換成該人體的網格模型表示。骨架模型然后可被提供給計算環(huán)境12,使得計算環(huán)境可跟蹤骨架模型并呈現與該骨架模型相關聯的化身。計算環(huán)境然后可在屏幕上將化身M顯示為模仿用戶18在真實空間中的移動。具體地,相機沈、觀和設備20以骨架模型及其相關聯的移動的形式捕捉的真實空間數據可被轉發(fā)到計算環(huán)境,計算環(huán)境解釋骨架模型數據并在與用戶18的位置相同的位置呈現化身24,且該化身具有與用戶18相似的運動。盡管與本發(fā)明的技術不相關,但計算環(huán)境還可將某些用戶位置或移動解釋為姿勢。具體地,計算環(huán)境12可接收用戶移動或位置骨架數據,并將該數據與所存儲的姿勢庫進行比較來確定用戶移動或位置是否與預定義姿勢相對應。如果是,則計算環(huán)境12執(zhí)行與該姿勢相關聯地存儲的動作。圖3A示出了可在系統(tǒng)10中用于解釋位置和移動的計算環(huán)境的示例實施例。諸如以上參考圖1A-2描述的計算環(huán)境12等計算環(huán)境可以是諸如游戲控制臺等多媒體控制臺 100。如圖3A所示,多媒體控制臺100包括具有一級高速緩存102、二級高速緩存104和閃存ROM 106的中央處理單元(CPU) 101。一級高速緩存102和二級高速緩存104臨時存儲數據并因此減少存儲器訪問周期數,由此改進處理速度和吞吐量。CPU 101可以設置成具有一個以上的核,以及由此的附加的一級和二級高速緩存102和104。閃存ROM 106可存儲在多媒體控制臺100通電時在引導過程的初始化階段加載的可執(zhí)行代碼。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形成用于高速、高分辨率圖形處理的視頻處理流水線。數據經由總線從GPU108輸送到視頻編碼器/視頻編解碼器114。視頻處理流水線將數據輸出到A/V(音頻/視頻)端口 140以傳輸到電視機或其他顯示器。存儲器控制器110連接到GPU 108以方便處理器訪問各種類型的存儲器112,諸如但不局限于RAM。多媒體控制臺100包括較佳地在模塊118上實現的I/O控制器120、系統(tǒng)管理控制器122、音頻處理單元123、網絡接口控制器124、第一 USB主控制器126、第二 USB主控制器 1 和前面板I/O子部件130。USB控制器126和1 用作外圍控制器142 (1)-142 (2)、無線適配器148、和外部存儲器設備146(例如閃存、外部⑶/DVD ROM驅動器、可移動介質等) 的主機。網絡接口 1 和/或無線適配器148提供對網絡(例如,因特網、家庭網絡等)的接入并且可以是包括以太網卡、調制解調器、藍牙模塊、電纜調制解調器等的各種不同的有線或無線適配器組件中任何一種。提供系統(tǒng)存儲器143來存儲在引導過程期間加載的應用程序數據。提供媒體驅動器144且其可包括DVD/CD驅動器、硬盤驅動器、或其它可移動媒體驅動器等。媒體驅動器 144對于多媒體控制臺100可以內置或外置的。應用程序數據可經由媒體驅動器144訪問, 以由多媒體控制臺100執(zhí)行、回放等。媒體驅動器144經由諸如串行ATA總線或其他高速連接(例如IEEE 1394)等總線連接到I/O控制器120。系統(tǒng)管理控制器122提供涉及確保多媒體控制臺100的可用性的各種服務功能。 音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理的對應的音頻處理流水線。音頻數據經由通信鏈路在音頻處理單元123與音頻編解碼器132之間傳輸。音頻處理流水線將數據輸出到A/V端口 140以供外置音頻播放器或具有音頻能力的設備再現。前面板I/O子部件130支持暴露在多媒體控制臺100的外表面上的電源按鈕150 和彈出按鈕152以及任何LED(發(fā)光二極管)或其他指示器的功能。系統(tǒng)供電模塊136向多媒體控制臺100的組件供電。風扇138冷卻多媒體控制臺100內的電路。CPU 101、GPU 108、存儲器控制器110、和多媒體控制臺100內的各個其它組件經由一條或多條總線互連,包括串行和并行總線、存儲器總線、外圍總線、和使用各種總線架構中任一種的處理器或局部總線。作為示例,這種架構可以包括外圍部件互連(PCI)總線、 PCI-Express 總線等。當多媒體控制臺100通電時,應用程序數據可從系統(tǒng)存儲器143加載到存儲器112 和/或高速緩存102、104中并在CPU 101上執(zhí)行。應用可呈現在導航到多媒體控制臺100 上可用的不同媒體類型時提供一致的用戶體驗的圖形用戶界面。在操作中,媒體驅動器144 中包含的應用和/或其他媒體可從媒體驅動器144啟動或播放,以向多媒體控制臺100提供附加功能。多媒體控制臺100可通過將該系統(tǒng)簡單地連接到電視機或其他顯示器而作為獨立系統(tǒng)來操作。在該獨立模式中,多媒體控制臺100允許一個或多個用戶與該系統(tǒng)交互、看電影、或聽音樂。然而,隨著通過網絡接口 1 或無線適配器148可用的寬帶連接的集成, 多媒體控制臺100還可作為較大網絡社區(qū)中的參與者來操作。當多媒體控制臺100通電時,可以保留設定量的硬件資源以供多媒體控制臺操作系統(tǒng)作系統(tǒng)使用。這些資源可以包括存儲器保留(例如,16MB)、CPU和GPU周期(例如, 5%)、網絡帶寬(例如,SlAs)等。因為這些資源是在系統(tǒng)引導時保留的,所以所保留的資源對應用而言是不存在的。具體地,存儲器保留較佳地足夠大,以包含啟動內核、并發(fā)系統(tǒng)應用和驅動程序。 CPU保留較佳地為恒定,使得若所保留的CPU用量不被系統(tǒng)應用使用,則空閑線程將消耗任何未使用的周期。對于GPU保留,通過使用GPU中斷來顯示由系統(tǒng)應用生成的輕量消息(例如,彈出窗口),以調度代碼來將彈出窗口呈現為覆蓋圖。覆蓋圖所需的存儲器量取決于覆蓋區(qū)域大小,并且覆蓋圖較佳地與屏幕分辨率成比例縮放。在并發(fā)系統(tǒng)應用使用完整用戶界面的情況下,優(yōu)選使用獨立于應用分辨率的分辨率。定標器可用于設置該分辨率,從而無需改變頻率,也就不會引起TV重新同步。在多媒體控制臺100引導且系統(tǒng)資源被保留之后,就執(zhí)行并發(fā)系統(tǒng)應用來提供系統(tǒng)功能。系統(tǒng)功能被封裝在一組在上述所保留的系統(tǒng)資源中執(zhí)行的系統(tǒng)應用中。操作系統(tǒng)內核標識是系統(tǒng)應用線程而非游戲應用線程的線程。系統(tǒng)應用優(yōu)選地被調度為在預定時間并以預定時間間隔在CPU 101上運行,以便為應用提供一致的系統(tǒng)資源視圖。進行調度是為了把由在控制臺上運行的游戲應用所引起的高速緩存破壞最小化。當并發(fā)系統(tǒng)應用需要音頻時,則由于時間敏感性而異步調度音頻處理給游戲應用。多媒體控制臺應用管理器(如下所述)在系統(tǒng)應用活動時控制游戲應用的音頻級(例如,靜音、衰減)。輸入設備(例如,控制器142(1)和142( )由游戲應用和系統(tǒng)應用共享。輸入設備不是所保留的資源,但卻在系統(tǒng)應用和游戲應用之間切換以使其各自具有設備的焦點。 應用管理器較佳地控制輸入流的切換,而無需知曉游戲應用的知識,并且驅動程序維護有關焦點切換的狀態(tài)信息。相機26J8和捕捉設備20可定義控制臺100的附加輸入設備。圖;3B示出了用于在系統(tǒng)10中解釋一個或多個位置或移動的計算環(huán)境220的另一示例實施例,該計算環(huán)境可以是圖1A-2所示的計算環(huán)境12。計算系統(tǒng)環(huán)境220只是合適的操作環(huán)境的一個示例,并且不旨在對所公開的主題的使用范圍或功能提出任何限制。也不應該將計算環(huán)境220解釋為對示例性操作環(huán)境220中示出的任一組件或其組合有任何依賴性或要求。在某些實施例中,所描繪的各種計算元件可包括被配置成實例化本發(fā)明的具體方面的電路。例如,本公開中使用的術語電路可包括被配置成執(zhí)行固件或開關的功能的專用硬件組件。在其他示例實施例中,術語“電路”可包括由具體化可操作來執(zhí)行功能的邏輯的軟件指令來配置的通用處理單元等。在電路包括硬件與軟件組合的示例實施方式中, 實現者可編寫實施邏輯的源代碼且該源代碼可被編譯成可由通用處理單元處理的機器可讀代碼。因為本領域技術人員可以明白現有技術已經進化到硬件、軟件或硬件/軟件組合之間幾乎沒有差別的地步,因而選擇硬件或是軟件來實現具體功能是留給實現者的設計選擇。更具體地,本領域技術人員可以明白軟件進程可被變換成等價的硬件結構,而硬件結構本身可被變換成等價的軟件進程。因此,對于硬件實現還是軟件實現的選擇是設計選擇之一并留給實現者。在圖;3B中,計算環(huán)境220包括計算機Ml,其通常包括各種計算機可讀介質。計算機可讀介質可以是能由計算機241訪問的任何可用介質,而且包含易失性和非易失性介質、可移動和不可移動介質。系統(tǒng)存儲器222包括諸如ROM 223和RAM 260等易失性和/或非易失性存儲器形式的計算機存儲介質。基本輸入/輸出系統(tǒng)224 ¢10 包括如在啟動時幫助在計算機Ml內的元件之間傳輸信息的基本例程,它通常儲存在ROM 223中。RAM 260 通常包含處理單元259可以立即訪問和/或目前正在操作的數據和/或程序模塊。作為示例而非局限,圖3B示出了操作系統(tǒng)225、應用程序226、其它程序模塊227和程序數據228。計算機241還可以包括其他可移動/不可移動、易失性/非易失性計算機存儲介質。僅作為示例,圖3B示出了對不可移動、非易失性磁介質進行讀寫的硬盤驅動器238,對可移動、非易失性磁盤邪4進行讀寫的磁盤驅動器239,以及對諸如CD ROM或其它光學介質等可移動、非易失性光盤253進行讀寫的光盤驅動器M0??梢栽谑纠圆僮鳝h(huán)境中使用的其他可移動/不可移動、易失性/非易失性計算機存儲介質包括但不限于,磁帶盒、閃存卡、數字多功能盤、數字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅動器238通常由不可移動存儲器接口,諸如接口 234連接至系統(tǒng)總線221,磁盤驅動器239和光盤驅動器240通常由可移動存儲器接口,諸如接口 235連接至系統(tǒng)總線221。以上討論并在圖;3B中示出的驅動器及其相關聯的計算機存儲介質為計算機241 提供了對計算機可讀指令、數據結構、程序模塊和其他數據的存儲。在圖3B中,例如,硬盤驅動器238被示為存儲操作系統(tǒng)258、應用程序257、其他程序模塊256和程序數據255。注意,這些組件可以與操作系統(tǒng)225、應用程序226、其他程序模塊227和程序數據2 相同, 也可以與它們不同。操作系統(tǒng)258、應用程序257、其他程序模塊256和程序數據255在這里被標注了不同的標號是為了說明至少它們是不同的副本。用戶可以通過輸入設備,如鍵盤251和定點設備252(通常稱為鼠標、跟蹤球或觸摸墊)向計算機241輸入命令和信息。 其他輸入設備(未示出)可以包括麥克風、游戲桿、游戲手柄、碟形衛(wèi)星天線、掃描儀等等。 這些和其他輸入設備通常由耦合至系統(tǒng)總線的用戶輸入接口 236連接至處理單元259,但也可以由其他接口和總線結構,諸如并行端口、游戲端口或通用串行總線(USB)連接。相機 26,28和捕捉設備20可定義控制臺100的附加輸入設備。監(jiān)視器242或其他類型的顯示設備也經由接口,諸如視頻接口 232連接至系統(tǒng)總線221。除監(jiān)視器以外,計算機還可以包括其他外圍輸出設備,如揚聲器244和打印機M3,它們可以通過輸出外圍接口 233連接。計算機241可使用至一個或多個遠程計算機,如遠程計算機M6的邏輯連接在網絡化環(huán)境中操作。遠程計算機246可以是個人計算機、服務器、路由器、網絡PC、對等設備或其他常見的網絡節(jié)點,且通常包括許多或所有以上相對于計算機241描述的元件,盡管在圖3B中僅示出了存儲器存儲設備M7。圖:3B中所示的邏輯連接包括局域網(LAN) 245和廣域網(WAN049,但也可以包括其他網絡。這樣的聯網環(huán)境在辦公室、企業(yè)范圍計算機網絡、 內聯網和因特網中是常見的。當在LAN聯網環(huán)境中使用時,計算機241通過網絡接口或適配器245連接至LAN 237。當在WAN聯網環(huán)境中使用時,計算機241通常包括調制解調器250或用于通過諸如因特網等WAN 249建立通信的其他裝置。調制解調器250可以是內置或外置的,它可以經由用戶輸入接口 236或其他適當的機制連接至系統(tǒng)總線221。在網絡化環(huán)境中,關于計算機 241所描述的程序模塊或其部分可被儲存在遠程存儲器存儲設備中。作為示例而非限制,圖 3B示出了遠程應用程序248駐留在存儲器設備247上??梢岳斫?,所示的網絡連接是示例性的,且可以使用在計算機之間建立通信鏈路的其他手段。圖4描繪了可從捕捉設備20生成的用戶的示例骨架映射。在該實施例中,標識各種關節(jié)和骨骼每一手302、每一前臂304、每一肘306、每一二頭肌308、每一肩310、每一髖312、每一大腿314、每一膝316、每一前腿318、每一腳320、頭322、軀干324、脊椎的頂部3 和底部328、以及腰330。在跟蹤多個點的情況下,可標識另外的特征,如手指或腳趾的骨骼和關節(jié),或臉部的各個特征,如鼻和眼。根據本發(fā)明的技術,上述身體部位中的一個或多個可被指定為具有附連的碰撞體 400的捕捉對象。盡管碰撞體400被示為與腳320b相關聯,但可以理解,圖4所示的身體部位中的任一個可具有與其相關聯的碰撞體。在各實施例中,碰撞體400是球體,且以其所關聯的身體部位為中心。可以理解,在其他實施例中,碰撞體可以是其他形狀的體,且不需要以相關聯的身體部位為中心。碰撞體400的大小在各實施例中可以變化,并且當存在一個以上碰撞體400且每一碰撞體與一不同的身體部位相關聯時,不同的碰撞體400可以是不同大小。一般而言,系統(tǒng)10可以被示為使用三個參考系來工作。第一個參考系是用戶在其中移動的真實世界3D空間。第二個參考系是3D機器空間,其中計算環(huán)境使用運動方程來定義用戶以及游戲或其他應用所創(chuàng)建的虛擬對象的3D位置、速度和加速度。第三個參考系是2D屏幕空間,其中用戶的化身和其他對象在顯示畫面中呈現。計算環(huán)境CPU或圖形卡處理器將對象的3D機器空間位置、速度和加速度轉換成2D屏幕空間位置、速度和加速度,且使用這些2D屏幕空間位置、速度和加速度來在視聽設備16上顯示對象。在3D機器空間中,用戶的化身或其他對象可以改變其景深,以便在2D屏幕空間上的前景和背景之間移動。當在2D屏幕空間中顯示對象時存在一縮放因子用于3D機器空間中的景深的變化。該縮放因子將背景中的對象顯示得比前景中的相同對象小,由此創(chuàng)建了深度感。可以理解,在碰撞體400處于不同景深時,與身體部位相關聯的碰撞體的大小可以按相同方式縮放。即,盡管從3D機器空間的視角來看碰撞體的大小保持恒定,但隨著景深的增加,其在2D屏幕空間中將變得更小。碰撞體在屏幕上是不可見的。但是對于在景深中更深的捕捉/目標對象,在目標對象受到碰撞體影響的捕捉對象和目標對象之間的最大屏幕距離將在2D屏幕空間中按縮放因子減小。用戶知道當用戶能夠將他或她的身體以使得計算環(huán)境將該用戶的3D機器空間身體解釋為在移動對象的路徑內的方式來定位時,捕捉該移動對象。當移動對象的3D機器空間位置匹配用戶的身體的3D機器空間位置時,用戶捕捉該對象且計算環(huán)境使該移動對象停下來。如果計算環(huán)境感測到移動對象錯過了身體部位(其位置在3D機器空間中不相交), 則移動對象繼續(xù)經過身體部位。一般而言,碰撞體400用于在用戶正試圖捕捉目標對象時提供誤差余量,使得即使用戶未將捕捉對象定位在與移動對象的路徑相交的精確位置,該移動目標對象也被捕捉。碰撞體的操作的示例在以下結合圖5-8的圖示以及圖9-11的流程圖來解釋。圖5 示出了在3D機器空間中附連到用戶404上的捕捉對象402的碰撞體400的呈現。本示例中的捕捉對象402是用戶的腳320b。圖5還包括目標對象406,其在本示例中是足球。目標對象406以矢量速度ν移動,該矢量速度表示目標對象406的3D機器空間速度。用戶可能期望在捕捉對象402上捕捉目標對象406。在圖5的示例中,用戶可能希望在他的腳320b上捕捉目標對象足球406。假定目標對象406繼續(xù)沿著相同的矢量速度 (不彎曲或改變航線)移動,且假定用戶沒有做出進一步的移動,則在圖5中目標對象將錯過用戶的腳320b (沒有被腳320b捕捉到)。
      然而,根據本發(fā)明的技術,計算環(huán)境12還可包括此處稱為捕捉引擎190(圖2)的軟件引擎。捕捉引擎190檢查目標對象406相對于捕捉對象402的矢量速度,且如果滿足某些準則,則捕捉引擎調整目標對象406的航線以使其與捕捉對象402相連并被捕捉對象 402捕捉。捕捉引擎190可用于根據各種方法來糾正目標對象的路徑。以下更詳細地解釋了多個這樣的方法。圖9是捕捉引擎190的一個簡單實施例的流程圖。在步驟500,捕捉引擎將碰撞體 400附連到捕捉對象402。關于哪些對象是具有附連到其上的碰撞體的捕捉對象的確定在下文中解釋。在捕捉引擎190的該實施例中,在目標對象406在碰撞體400的外邊界內經過的任何時刻,調整目標對象406的路徑,以使得目標對象406與碰撞體400所附連到的捕捉對象402相連并被該捕捉對象402捕捉。在步驟502,捕捉引擎190確定目標對象406是否在碰撞體400的邊界內經過。如上所述,計算環(huán)境12保持在3D機器空間內移動的對象的位置和速度信息。該信息包括描述移動目標對象的速度的矢量方向和標量大小(即速率)的運動方程。計算環(huán)境12還可將對象標記為目標對象406。具體地,在移動對象可能未被捕捉的情況下,它將不被標記為目標對象,而能被捕捉的移動對象被標記為目標對象。由此,僅那些能夠被捕捉的對象受捕捉引擎190的影響。在步驟506,在引擎190檢測到目標對象406進入碰撞體400的邊界時,該引擎可沿著碰撞體400內朝向捕捉對象402的矢量來調整對象406的方向。該簡單實施例忽略了目標對象的速率、目標對象的方向和碰撞體的強度。該實施例的捕捉引擎190僅查看目標對象406是否進入碰撞體400。如果是,則糾正其路徑,使得它在碰撞體400內與捕捉對象 402相連。在被捕捉對象402捕捉之后,目標對象在步驟508停下來。該實施例中目標對象406的路徑可以在進入碰撞體400時被突然糾正來將其朝向捕捉對象402重定向?;蛘?,目標對象406的路徑可被逐漸糾正,使得該對象從其原始矢量向捕捉對象402彎曲。速率可以在一旦對象進入碰撞體400時被調整,并且更改其方向,也可以不被調整。在各實施例中,碰撞體的大小可能足夠小,使得將目標對象的路徑更改為與捕捉對象相連不被用戶看見或不容易被用戶看見。圖10示出了捕捉引擎190的另一實施例。除了以下描述的附加步驟504之外,圖 10的捕捉引擎與以上關于圖9描述的相同,且以上對步驟500、502、506和508的描述適用于圖10。在圖10中,在檢測碰撞體400內的目標對象406的步驟502之后,該實施例還包括確定目標對象是否比閾值速率行進得更快或更慢的步驟504。如果對象比該速率行進得更快,則不糾正其航線。然而,如果目標對象406比閾值速率行進得更慢,則在步驟506如上所述地糾正其航線。圖10的實施例背后的概念是以較高速度行進的對象具有較大的動量,且較不可能更改其航線。閾值速率可由游戲應用的作者來任意選擇。除了速度的速率分量之外,圖10的實施例還考慮了目標對象406相對于捕捉對象 402的接近角。例如,當進入碰撞體時,在目標對象的給定位置,可在目標對象的路徑與從碰撞體的中心向外的半徑之間定義一參考角。在該參考角是90°的情況下,目標對象406 與捕捉對象402切向地行進,且較不可能被捕捉。另一方面,在該參考角接近180°的情況下,目標對象已經幾乎沿著到中心的半徑進入碰撞體,且更有可能調整其航線以便被捕捉。由此,圖10的實施例可使用一閾值,該閾值是捕捉對象402行進的速率和指示目標對象406進入碰撞體400的入射角的參考角的組合。該閾值可以被任意選擇來產生實用結果,其中如果速率太高和/或參考角接近90°,則目標對象不被捕捉。圖11是描述捕捉引擎的另一實施例的流程圖,其中碰撞體具有隨著遠離其中心而逐漸減小的吸引力。盡管這些力是不可見的,但該碰撞體在圖5-7中示出。吸引力可以遠離中心線性地或指數地減小。這允許系統(tǒng)在數學上實現類似于磁場或萬有引力系統(tǒng)的系統(tǒng)。即,目標對象406越接近地經過捕捉對象402,目標對象406就越有可能被拉向捕捉對象 402。在一個實施例中,碰撞體內距離中心(捕捉對象)的所有距離可具有相關聯的吸引力。這些力隨著遠離中心而減小。吸引力可以是方向無關的。即,對于碰撞體400中位于離中心給定距離處的所有點的吸引力將是相同的,不管該點在空間中相對于中心的定向如何?;蛘撸梢允欠较蛳嚓P的。由此,從第一方向進入碰撞體400且距離中心為給定距離的目標對象406與距離中心為相同距離、但從第二方向進入碰撞體400的另一目標對象406相比將遇到更大的吸引力。吸引力是相關的一個實施例可以例如用于使得接近用戶前方的對象比從用戶背后接近用戶的對象更有可能被捕捉。圖11的實施例還可考慮目標對象的矢量速度,S卩,其速率和方向。矢量速度與更改其航線所需的力成比例。由此,以較高速率行進的目標對象較不可能受給定吸引力影響。 同樣,該實施例中使用了移動對象的方向。在碰撞體400內以較切向的角經過的目標對象 406相比以較垂直的角進入碰撞體400的目標對象406而言需要較大的吸引力來更改其航線。現在參考圖11,在步驟510,分配碰撞體400來如上所述地捕捉對象,并且在步驟 512,捕捉引擎190檢查目標對象406是否在碰撞體的邊界內經過。步驟516和518檢查目標對象406在碰撞體400內的航線是否要被更改,且因此步驟512可以在替換實施例中被省略。在步驟516,捕捉引擎確定在目標對象的所計算的位置處施加到目標對象406上的吸引力。這可以按照描述力隨著離源生成中心的距離增加的變化的已知方程來完成。在步驟520,捕捉引擎確定是否朝向捕捉對象402來調整目標對象406的位置。該確定是基于在目標對象406的位置處所計算的吸引力相比于目標對象406的矢量速度來做出的。在步驟520可使用若干方案來確定是否朝向捕捉對象調整目標對象的矢量速度。在一個這樣的方案中,捕捉引擎可確定將目標對象406的矢量速度改變?yōu)榫哂写┻^捕捉對象402的方向的矢量速度所需的力。為了進行這一計算,本發(fā)明的技術向目標對象406分配任意質量。在各實施例中,可以選擇與為碰撞體選擇的吸引力相一致的質量。 即,對于所選的碰撞體吸引力,選擇這樣的質量該質量不會太高以致于目標對象的方向很少得到糾正,且不會太低以致于目標對象的方向自動得到糾正。所選質量可用于本系統(tǒng)中使用的所有目標對象?;蛘?,可向不同對象分配不同質量。在這些情況下,在矢量速度相同的情況下,具有較大質量的目標對象406與具有較小質量的對象406相比較不可能調整其航線。捕捉引擎190接著可將更改目標對象406的航線的力與目標對象406處的吸引力進行比較。如果在步驟520中吸引力大于重定向目標對象406所需的力,則在步驟5M調整目標對象406的方向以使其與捕捉對象402相交。這一情況在圖6中示出。另一方面,如果吸引力小于重定向目標對象406所需的力,則在步驟520不調整目標對象406的方向以使其與捕捉對象402相交。捕捉引擎190可以每一預設時間段一次地重復執(zhí)行上述步驟。循環(huán)時間周期可以例如在每秒30到60次之間,但是在其他實施例中可以比這一周期更頻繁或更不頻繁。因此,盡管一次通過上述步驟可能偶爾會沒有糾正目標對象406的航線,但下一次通過上述步驟可導致目標對象406的航線被糾正。這會在例如以下情況下發(fā)生時發(fā)生,例如下一次通過該循環(huán)時,目標對象的路徑使其在碰撞體400內更接近捕捉對象402且因此,目標對象 402上的吸引力增大到超過調整目標對象406的矢量速度所需的力的點。假定在步驟520調整了目標對象406的路徑,在與捕捉對象402相交且被捕捉對象402捕捉之后,在步驟528,目標對象406停下來。這一情況在圖7中示出。給定以上公開內容,本領域的技術人員將認識到可用于對給定目標對象矢量速度和碰撞體吸引力確定是否調整目標對象406的路徑的其他方案。作為一個另外的示例,可省略碰撞體的概念,且捕捉引擎只檢查目標對象406和捕捉對象402的距離。這一實施例可在上述任一實施例中使用。例如,關于圖8的實施例,代替檢測目標對象406何時在碰撞體的邊界內經過,捕捉引擎可以只查看目標對象406是否在捕捉對象的任意選擇的閾值距離內經過。碰撞體的概念可以類似的從圖10和11的實施例中省略。在圖10和11中,捕捉引擎可以查看目標對象406是否在捕捉對象的閾值距離內經過,且可進一步查看在該距離處目標對象的速率。更一般而言,捕捉引擎可查看目標對象406的速率相對于目標對象和捕捉對象之間的空間的比率,且如果該比率超過閾值比率,則可調整該對象的航線來穿過捕捉對象402。上述參考角也可與上述捕捉對象的速率相組合來計入該閾值比率。在上述實施例中,只要目標對象406的路徑被糾正,目標對象就在捕捉對象402上被捕捉。在另一實施例中,捕捉引擎在確定目標對象406是否在捕捉對象上被捕捉時可以進一步查看捕捉對象402的速度。具體地,如果捕捉對象402正在以高于閾值速率的速率移動,或者以遠離目標對象的經調整的方向或與該經調整的位置橫向的方向上移動,則捕捉對象402可能不捕捉目標對象406。在該實施例中,上述因素必然會導致目標對象406的航線被調整,且捕捉對象402的速度必須低于閾值以使目標對象406被捕捉。在關于圖11所描述且包括碰撞體400的實施例中,碰撞體400施加的吸引力從捕捉對象402向外連續(xù)(線性地或指數地)減小。在另一實施例中,吸引力可從中心向外不連續(xù)地減小。即,吸引力以離散階減小。這一情況在圖8中示出。該實施例中的碰撞體400 可包括多個離散體積力區(qū)400a、400b、400c等,其中每一區(qū)中的吸引力是恒定的,但是各區(qū)之間的吸引力變化(從中心向外減小)。圖8所示的碰撞區(qū)400可根據以上關于圖11描述的流程圖來操作。圖8所示的力區(qū)的數量作為示例,在本實施例的其他示例中可以有更多或更少力區(qū)。上述圖5-8示出了其中捕捉對象402是腳、且目標對象406是球的一個示例??梢岳斫?,在其他實施例中,捕捉對象402可以是任何身體部位,以便具有附連的碰撞體。手和腳是捕捉對象402的顯而易見的示例,但是可以想到任何身體部位可以是具有附連的碰撞體的捕捉對象。即使在正常地不被認為能夠捕捉對象的情況下,游戲應用也可例如包括在身體部位上具有尼龍搭扣、粘合劑等的用戶,從而允許身體部位來捕捉對象。此外,目標對象406可以是能夠被捕捉的任何移動對象。在上述圖5-8中,捕捉對象402也被示為附連到身體部位。在其他示例中,捕捉對象402不需要附連到身體部位。例如,用戶可手持諸如球拍等也被顯示在視聽設備16上的對象來擊中移動的目標對象。在該示例中,捕捉對象402是球拍的線繩部分。圖12示出了 3D機器空間中的用戶404在籃圈402處投射目標對象球406的進一步圖示。在該示例中,捕捉對象402是籃圈420,且其具有附連的碰撞體400。圖12的示例還示出除了碰撞體 400的吸引力和目標對象406的矢量速度之外,其他力可作用于目標對象406。例如,在圖 12中,捕捉引擎190(或系統(tǒng)10的其他方面)也可模擬重力來隨時間更改球的初始速度矢量V。。諸如重力等這些其他力可以進一步作為上述吸引力對比目標對象的矢量速度的分析的一部分來包括,并且被計入該分析中。由此,如上所述,根據本發(fā)明的技術的捕捉引擎190在用戶移動中構建某種誤差余量以便在游戲應用中捕捉對象。盡管以上相對于游戲應用描述了本發(fā)明的技術,但可以理解,本發(fā)明的技術可以在除了游戲應用之外的軟件應用中使用,在此類軟件應用中,用戶協(xié)調其在3D真實空間中的移動來捕捉出現在其顯示器上的2D屏幕空間中的移動對象。在各實施例中,捕捉引擎還能夠確定哪些對象要被指定為要將碰撞體400附連到其上的捕捉對象402。在某些應用中,捕捉對象可在游戲應用中明確定義。例如,在圖12的籃球實施例中,籃圈420可自動被分配一碰撞體。在其他實施例中,可能捕捉目標對象的所有身體部位或其他對象可被分配碰撞體。在又一實施例中,對碰撞體的分配可能不是預定義的,而是可被動態(tài)創(chuàng)建和移除。 在一個這樣的實施例中,捕捉引擎可取決于呈現給用戶的潛在對象交互來動態(tài)地將碰撞體附連到對象。例如,在圖5-8中,在目標對象足球406飛向用戶404的情況下,捕捉引擎可確定可能捕捉目標對象406的所有對象,然后向這些對象分配碰撞體400。在圖5-8的示例中,捕捉引擎可將碰撞體分配給用戶的雙腳。給定用戶與目標對象足球406的路徑的相對位置,捕捉引擎還可確定用戶有可能在用戶的頭后方捕捉目標對象足球。如果是這樣,則捕捉引擎可進一步將一碰撞體附連到用戶的頭和/或頸。作為該分配的一部分,捕捉引擎可以從游戲應用接收關于哪些對象可能用于捕捉接近的對象的數據。在再一實施例中,捕捉引擎可傳感用戶的移動,并內插用戶正在試圖移動哪一身體部位來捕捉接近的對象。在這一實施例中,捕捉引擎可以將碰撞體單獨分配給該對象。本發(fā)明系統(tǒng)的前述詳細描述是出于說明和描述的目的而提供的。這并不旨在窮舉本發(fā)明系統(tǒng)或將本發(fā)明系統(tǒng)限于所公開的精確形式。鑒于上述教導,許多修改和變型都是可能的。選擇所述實施例以最好地解釋本發(fā)明系統(tǒng)的原理及其實踐應用,從而允許本領域技術人員能夠在各種實施例中并采用各種適于所構想的特定用途的修改來最好地利用本發(fā)明系統(tǒng)。本發(fā)明系統(tǒng)的范圍旨在由所附權利要求書來定義。
      權利要求
      1.一種在包括計算環(huán)境(1 的系統(tǒng)中的方法,所述計算環(huán)境耦合到用于捕捉用戶運動的捕捉設備(20),所述方法生成誤差余量以供用戶使用第二虛擬對象(40 來捕捉第一虛擬對象006),所述第一虛擬對象(406)在顯示畫面(16)上移動,所述方法包括(a)定義圍繞所述第二對象G02)的碰撞體000);(b)確定(步驟50 所述第一對象(406)是否在所述碰撞體G00)內經過;以及(c)如果在所述步驟(b)中確定所述第一對象(406)在所述碰撞體(400)內經過,則調整(步驟506)所述第一對象006)的路徑以便與所述第二對象(40 碰撞。
      2.如權利要求1所述的方法,其特征在于,所述定義碰撞體的步驟(a)包括將所述碰撞體定義為圍繞所述第二對象的球體,且所述第二對象在所述球體的中心的步驟。
      3.如權利要求1所述的方法,其特征在于,所述定義圍繞所述第二對象的碰撞體的步驟(a)包括定義圍繞所述計算環(huán)境使用的用戶的表示的一個或多個身體部位的碰撞體的步驟。
      4.如權利要求1所述的方法,其特征在于,所述定義圍繞所述第二對象的碰撞體的步驟(a)包括定義圍繞所述顯示畫面上與所述用戶隔開的一個或多個對象的碰撞體的步驟。
      5.一種在包括計算環(huán)境(1 的系統(tǒng)中的方法,所述計算環(huán)境耦合到用于捕捉用戶運動的捕捉設備(20),所述方法生成誤差余量以供用戶使用第二虛擬對象(40 來捕捉第一虛擬對象006),所述第一虛擬對象(406)在顯示畫面(16)上移動,所述方法包括(a)確定(步驟502、504)所述第一對象006)的速率和方向;(b)至少部分地基于給定位置處所述第一對象和第二對象(406、402)之間的距離以及所述第一對象在所述給定位置處的速率來確定是否調整所述第一對象G06)的路徑以便與所述第二對象(40 碰撞;(c)如果在所述步驟(c)中確定至少所述速率與所述給定位置處所述第一對象和第二對象(406、402)之間的距離之比超過了閾值比率,則調整所述第一對象(406)的路徑以便與所述第二對象(40 碰撞。
      6.如權利要求5所述的方法,其特征在于,還包括定義圍繞所述第二對象的碰撞體的步驟。
      7.如權利要求5所述的方法,其特征在于,所述定義圍繞所述第二對象的碰撞體的步驟(a)包括定義圍繞所述用戶的身體部位的碰撞體的步驟。
      8.如權利要求5所述的方法,其特征在于,所述定義圍繞所述第二對象的碰撞體的步驟(a)包括定義圍繞與所述用戶的身體隔開的對象的碰撞體的步驟。
      9.如權利要求5所述的方法,其特征在于,所述步驟(c)確定調整所述第一對象的路徑以便與所述第二對象碰撞的機率隨著所述第一對象行進的速率的增大而減小。
      10.如權利要求5所述的方法,其特征在于,所述步驟(c)確定調整所述第一對象的路徑以便與所述第二對象碰撞的機率隨著所述第二對象進入所述碰撞體的角度的增大而增大。
      11.一種用于計算環(huán)境(1 的處理器可讀存儲介質(112、238),所述計算環(huán)境耦合到用于捕捉用戶運動的捕捉設備(20),所述存儲介質對處理器(101、259)編程以便執(zhí)行一種生成誤差余量以供用戶使用第二虛擬對象(40 來捕捉第一虛擬對象006)的方法,所述第一虛擬對象(406)在顯示畫面(16)上移動,所述方法包括(a)確定(步驟520)所述第一對象006)的速率和方向;(b)基于以下各項確定(步驟520)是否調整所述第一對象(406)的路徑以便與所述第二對象(402)碰撞i)所述第二對象G02)與所述第一對象006)的給定位置之間的距離, )所述第一對象(406)在所述給定位置處的速率,以及iii)由所述第一對象的移動路徑與所述給定位置處所述第一對象和第二對象之間的線定義的參考角;以及(c)如果在所述步驟(b)中確定所述速率和所述參考角的組合與所述給定位置處所述第一對象和第二對象(406、402)之間的距離之比超過了閾值比率,則調整所述第一對象 (406)的路徑以便與所述第二對象(40 碰撞。
      12.如權利要求11所述的處理器可讀存儲介質,其特征在于,還包括定義圍繞所述第二對象的碰撞體的步驟。
      13.如權利要求12所述的處理器可讀存儲介質,其特征在于,所述碰撞體對所述第一對象施加由所述第二對象與所述第一對象的給定位置之間的距離定義的吸引力。
      14.如權利要求13所述的處理器可讀存儲介質,其特征在于,所述碰撞體施加吸引力的步驟包括施加隨半徑增加而線性或指數地減小的吸引力的步驟。
      15.如權利要求11所述的處理器可讀存儲介質,其特征在于,還包括如果所述第一對象移動的速率低于閾值水平,則在所述第一對象處將所述第二對象停下來的步驟。
      全文摘要
      本發(fā)明公開了使用碰撞體來捕捉屏幕對象的方法和裝置。公開了一種用于向用戶提供捕捉移動的屏幕對象時的誤差余量,同時創(chuàng)建用戶正在完全控制屏幕上活動的假象的系統(tǒng)。該系統(tǒng)可創(chuàng)建被附連到一個或多個捕捉對象且圍繞該一個或多個捕捉對象的一個或多個“碰撞體”,這些碰撞體可用于捕捉移動的屏幕上目標對象。取決于移動的目標對象的矢量速度以及捕捉對象和目標對象之間的距離,和/或碰撞體的強度,目標對象的航線可被更改為拉向捕捉對象并由其捕捉。
      文檔編號G06F3/01GK102163077SQ201110043270
      公開日2011年8月24日 申請日期2011年2月15日 優(yōu)先權日2010年2月16日
      發(fā)明者A·威爾遜, P·托塞爾 申請人:微軟公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1