專利名稱:3d場景交互方法、裝置及碰撞檢測方法、裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于人機交互領(lǐng)域,尤其涉及3D場景交互方法、裝置及碰撞檢測方法、裝置。
背景技術(shù):
隨著智能電視及智能手機的興起,例如3D Launcher (啟動引導)這樣的3D用戶界面(User Interface,UI)模塊或者導航被廣泛使用,目前用戶與3D場景的交互上還停留 在一種基本的方式,例如單純地利用鍵盤按鍵或者鼠標點擊來進行簡單的交互。然而,隨著3D場景復雜度的增高及渲染物體的增多,這種簡單的交互方式已經(jīng)無法滿足復雜3D場景中大量的交互需求,會帶來人機交互過程中的操作步驟繁瑣、后臺運算量增加,導致人機交互不流暢,降低了用戶的操作體驗。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種3D場景交互方法,旨在解決目前用戶只能與3D場景進行簡單交互,導致人機交互不流暢的問題。本發(fā)明實施例是這樣實現(xiàn)的,一種3D場景交互方法,包括為用戶的輸入軌跡匹配標識,所述標識包括圖形和字符,用于唯一對應一個交互事件;對用戶的輸入?yún)^(qū)域進行碰撞檢測,獲取用戶選擇操作的3D物體;根據(jù)所述標識對應的交互事件對所述3D物體作出響應。本發(fā)明實施例的另一目的在于提供一種3D場景交互裝置,包括匹配單元,用于為用戶的輸入軌跡匹配標識,所述標識包括圖形和字符,用于唯一對應一個交互事件;碰撞檢測單元,用于對用戶的輸入?yún)^(qū)域進行碰撞檢測,獲取用戶選擇操作的3D物體;響應單元,用于根據(jù)所述標識對應的交互事件對所述3D物體作出響應。本發(fā)明實施例通過檢測用戶的輸入軌跡來確定相應的交互事件,并結(jié)合3D場景的碰撞檢測處理,將相應的交互事件應用于碰撞檢測到的3D物體,從而實時地對該3D物體進行相應響應渲染,完成用戶與3D場景的交互,大大降低了人機交互的流暢度,提高了用戶的操作體驗。本發(fā)明實施例的另一目的在于提供一種3D場景碰撞檢測方法,包括獲取包圍用戶的輸入?yún)^(qū)域的幾何區(qū)域;對所述幾何區(qū)域的預設(shè)位置點進行碰撞檢測,所述幾何區(qū)域包括三角形區(qū)域或矩形區(qū)域,對應地,所述預設(shè)位置點包括矩形的四個頂點和中心點或者三角形的三個頂點和中心點,具體包括獲取所述幾何區(qū)域的預設(shè)位置點的平面坐標;
分別對所述預設(shè)位置點的平面坐標進行3D變換,轉(zhuǎn)換為3D場景下的3D坐標;根據(jù)所述預設(shè)位置點的3D坐標,對所述預設(shè)位置點進行碰撞檢測;當檢測到至少有預設(shè)個預設(shè)位置點沿方向向量引出的射線碰撞到同一 3D物體區(qū)域時,判定所述3D物體區(qū)域內(nèi)的3D物體為用戶選擇操作的3D物體。本發(fā)明實施例的另一目的在于提供一種3D場景碰撞檢測裝置,包括區(qū)域獲取單元,獲取 包圍用戶的輸入?yún)^(qū)域的幾何區(qū)域;預設(shè)位置點碰撞檢測單元,對所述幾何區(qū)域的預設(shè)位置點進行碰撞檢測,所述幾何區(qū)域包括三角形區(qū)域或矩形區(qū)域,對應地,所述預設(shè)位置點包括矩形的四個頂點和中心點或者三角形的三個頂點和中心點;判定單元,用于當檢測到至少有預設(shè)個位置點沿方向向量引出的射線碰撞到同一3D物體區(qū)域時,判定所述3D物體區(qū)域內(nèi)的3D物體為用戶選擇操作的3D物體;所述預設(shè)位置點碰撞檢測單元包括平面坐標獲取子單元,用于獲取所述幾何區(qū)域的預設(shè)位置點的平面坐標;轉(zhuǎn)換子單元,用于分別對所述預設(shè)位置點的平面坐標進行3D變換,轉(zhuǎn)換為3D場景下的3D坐標;檢測子單元,用于根據(jù)所述預設(shè)位置點的3D坐標,對所述預設(shè)位置點進行碰撞檢測。本發(fā)明實施例通過將用戶輸入軌跡的幾何區(qū)域中的若干個點進行檢測,而不是把輸入軌跡中的每個點均拿來檢測,由此避免了大量的數(shù)據(jù)計算,提高了系統(tǒng)的運算效率。
圖I是本發(fā)明3D場景交互方法的實施例提供的實現(xiàn)流程圖;圖2是圖I中步驟SlOl的具體實現(xiàn)流程圖;圖3是圖I中步驟S102的具體實現(xiàn)流程圖;圖4是圖I中步驟S102的碰撞檢測示意圖;圖5是本發(fā)明提供的3D場景交互裝置實施例的結(jié)構(gòu)圖;圖6是本發(fā)明提供的3D場景碰撞檢測裝置實施例的結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例通過檢測用戶的輸入軌跡來確定相應的交互事件,并結(jié)合3D場景的碰撞檢測處理,將相應的交互事件應用于碰撞檢測到的3D物體,從而實時地對該3D物體進行響應,完成用戶與3D場景的交互,大大降低了人機交互的復雜度,提高了用戶的操作體驗。本發(fā)明實施例中,針對不同的應用平臺及不同的應用功能,相應的3D場景可以分別通過不同的軟件來構(gòu)建并渲染,其中,采用的軟件包括但不限于OpenGL、DirectX等,此部分并非本發(fā)明的重點,在此不再贅述。
圖I示出了本發(fā)明第一實施例提供的3D場景交互方法的實現(xiàn)流程,詳述如下在步驟SlOl中,為用戶的輸入軌跡匹配標識,所述標識包括圖形和字符,用于唯
一對應一個交互事件。其中,用戶可以通過手寫屏或者3D顯示屏來描繪不同的輸入軌跡,也可以經(jīng)由手勢識別傳感器等硬件設(shè)備,通過比劃動作來輸入不同的軌跡,在此不作限定,且上述手寫輸入設(shè)備或者手勢識別傳感器對用戶輸入的檢測并非本發(fā)明的重點,在此不再贅述。在本實施例中,步驟SlOl之前,可以預先建立起3D交互場景中每個交互事件與不同標識的一一對應關(guān)系,例如,圖形“O”對應“確定”事件,圖形“X”對應“取消”事件,由于不同的標識具有不同的特征值,標識之間能夠互相區(qū)別開來,因此通過檢測用戶的輸入軌跡并在預設(shè)數(shù)據(jù)庫中為該輸入軌跡匹配相應的標識,即可以唯一確定用戶需要執(zhí)行的交互事件,即將用戶輸入與用戶交互意圖聯(lián)系起來。在本實施例中,可以通過檢測用戶的輸入軌跡的特征信息并與預設(shè)數(shù)據(jù)庫中每個標識的特征信息進行一一比對從而匹配出與用戶輸入軌跡最相關(guān)的標識,具體的實現(xiàn)流程將在后續(xù)實施例中進行說明,在此再不贅述。在步驟S102中,對用戶的輸入?yún)^(qū)域進行碰撞檢測,獲取用戶選擇操作的3D物體。其中,對用戶的輸入?yún)^(qū)域的碰撞檢測可以采用一般的射線碰撞檢測方式或者現(xiàn)有的其他3D場景碰撞檢測方式,對于射線碰撞檢測方式,其算法原理是將輸入?yún)^(qū)域所在平面的某個輸入點的2D坐標轉(zhuǎn)換為穿過3D場景的3D坐標,并從該坐標位置發(fā)出一條射線,再通過判斷這條射線和3D場景中的物體是否有交點來判斷是否“碰撞”(即選擇)了該3D物體,若該射線沒有穿過任何一個物體,則判定沒有碰撞到任何一個物體。作為本發(fā)明的一個實施例,在碰撞檢測時不對用戶輸入軌跡的所有點集進行碰撞檢測,而是選擇預設(shè)的若干個點進行碰撞檢測,從而能夠大大地簡化碰撞檢測流程,其具體實施方式
將在本發(fā)明后續(xù)實施例中進行闡述,在此不再贅述。作為本發(fā)明的一個實施例,在執(zhí)行步驟SlOl和步驟S102之前,可以通過對用戶的輸入軌跡大小進行調(diào)整,以更高效、準確地執(zhí)行步驟SlOl的標識匹配動作和步驟S102的碰撞檢測動作。具體地,可以通過獲取包圍用戶輸入?yún)^(qū)域的幾何區(qū)域,并縮小該幾何區(qū)域至預設(shè)大小,以使其中的輸入軌跡縮小相應比例。優(yōu)選地,可以將預設(shè)數(shù)據(jù)庫中包圍每個標識的區(qū)域調(diào)整至一樣大小,且將用戶輸入的幾何區(qū)域也調(diào)整至一樣大小,以方便對用戶輸入軌跡的標識匹配。在步驟S103中,根據(jù)所述標識對應的交互事件對所述3D物體作出響應。在本實施例中,根據(jù)步驟SlOl中匹配到的標識所對應的交互事件,將該交互事件應用到步驟S102中獲取到的3D物體上,來對該3D物體進行相應的響應,包括對3D物體進行即時渲染,播放特效;對3D物體執(zhí)行所述標識對應的交互事件對應的功能操作。例如,交互事件為“刪除”,而該事件用于在3D場景中消除一個物體,則對步驟S102中獲取到的3D物體在場景中進行消除該3D物體的特效渲染,并刪除該3D物體在場景后臺的相應數(shù)據(jù)。由此,用戶只需在針對某3D物體在相應的輸入?yún)^(qū)域輸入相應的軌跡,SP可以完成對該物體的交互操作,簡單、快捷地實現(xiàn)3D場景的交互。圖2示出了本發(fā)明第一實施例步驟SlOl的具體實現(xiàn)流程,詳述如下、
在步驟S201中,在預設(shè)數(shù)據(jù)庫中獲取與所述輸入軌跡筆畫數(shù)一致的若干個預設(shè)標識。例如,圖形“0”的筆畫數(shù)為I筆,圖形“X”、“T”的筆畫數(shù)均為2筆,若用戶輸入軌跡的筆畫數(shù)為2筆,則顯然用戶輸入的不是圖形“0”,因此在接下來的步驟中,無需再將該輸入軌跡的筆跡特征與圖形“0”的筆跡特征進行比較,只需與“X”和“T”進行比較即可。在步驟S202中,分別獲取所述輸入軌跡與每個所述預設(shè)標識的相關(guān)性,所述相關(guān)性通過將所述輸入軌跡每個筆畫的多種筆跡特征值分別和每個預設(shè)標識相應筆畫的多種筆跡特征值取方差并求和獲取。 在步驟S203中,在所述預設(shè)標識中獲取與所述輸入軌跡相關(guān)性最大的目標標識,若該相關(guān)性大于一預設(shè)閾值,則為所述輸入軌跡匹配所述目標標識;否則終止執(zhí)行。在本實施例中,輸入軌跡與每個預設(shè)標識的相關(guān)性通過將該輸入軌跡的每個筆畫的多種筆跡特征值分別和每個預設(shè)標識每個筆畫的多種筆跡特征值取方差并求和獲取。其中,筆跡特征值包括但不限于筆畫起點和筆畫終點的距離;筆畫起點和筆畫終點連線所成直線的角度;筆畫起點距離X軸中心線的距離;筆畫起點距離y軸中心線的距離;筆畫終點距離X軸中心線的距離;筆畫終點距離y軸中心線的距離;筆畫起點和輸入框中心點所成直線的角度;筆畫終點和輸入框中心點所成直線的角度;筆畫起點距離輸入框中心點距離;筆畫終點距離輸入框中心點距離。上述坐標軸指的是所述用戶輸入?yún)^(qū)域所在平面的直角坐標系下的坐標軸。當筆跡特征值為上述十個時,以輸入軌跡的筆畫數(shù)為2筆,且預設(shè)數(shù)據(jù)庫中筆畫數(shù)為2筆的標識有“X”和“T”為例,則首先獲取輸入軌跡第一筆畫的上述十個筆跡特征值和“X”第一筆畫的上述十個筆跡特征值,對獲取到的這兩個筆跡特征值序列取方差,再按照相同的方法獲取到輸入軌跡第二筆畫與“X”第二筆畫的方差,求和以得到該輸入軌跡與“X”的相關(guān)性。重復同樣的步驟以獲取到該輸入軌跡與“T”的相關(guān)性,獲取到的兩個相關(guān)性中最大的一個,當該相關(guān)性大于一預設(shè)閾值時,則認為其相應的標識為與該輸入軌跡匹配的目標標識。在此,設(shè)定預設(shè)閾值是為了精確匹配結(jié)果,因為若用戶的輸入軌跡與預設(shè)數(shù)據(jù)庫的任一標識都相差巨大,則即便是相關(guān)性最高的一個預設(shè)標識也無法同用戶的輸入軌跡匹配,因此設(shè)定預設(shè)閾值以避免標識不匹配的情況出現(xiàn)。作為本發(fā)明的一個實施例,針對預設(shè)數(shù)據(jù)庫中每個標識的特征信息,包括筆畫數(shù)和每個筆畫的多種筆跡特征值,可以預先由開發(fā)人員進行采集并存儲在數(shù)據(jù)庫中,以更好地提高標識匹配的效率,進一步保證用戶交互的流暢性。在圖2所示的實施例中,通過將輸入軌跡的筆畫數(shù)和筆跡特征值等特征信息與預設(shè)數(shù)據(jù)庫中的標識進行一一比對,避免了將輸入軌跡的所有點集與標識進行一一比對的繁瑣,可以適用于大規(guī)模數(shù)據(jù)量下的高速查找,提高了標識匹配的效率。 圖3示出了本發(fā)明第一實施例步驟S102的具體實現(xiàn)流程,詳述如下在步驟S301中,對所述幾何區(qū)域的預設(shè)位置點進行碰撞檢測,所述幾何區(qū)域包括三角形區(qū)域或矩形區(qū)域,對應地,所述預設(shè)位置點包括矩形的四個頂點和中心點或者三角形的三個頂點和中心點,具體包括獲取所述幾何區(qū)域的預設(shè)位置點的平面坐標;分別對所述預設(shè)位置點的平面坐標進行3D變換,轉(zhuǎn)換為3D場景下的3D坐標;根據(jù)所述預設(shè)位置點的3D坐標,對所述預設(shè)位置點進行碰撞檢測。其中,以O(shè)penGL圖形系統(tǒng)為例,其3D變換即將2D坐標通過視口逆轉(zhuǎn)換、投影矩陣變換和模型視圖逆矩陣變換從而得到3D坐標,此為該系統(tǒng)的現(xiàn)有功能之一,在此不再贅述。在本實施例中,以幾何區(qū)域為矩形區(qū)域為例,對于包圍了用戶輸入軌跡的矩形區(qū)域,可以預設(shè)其四個頂點及中心點為檢測位置點,對上述位置點進行碰撞檢測。設(shè)置上述五個位置點為本實施例的一種優(yōu)選實施方案,該五個位置點均勻地分布在矩形區(qū)域的各個位置,可以更好地對碰撞檢測結(jié)果進行判定。顯然,還可以根據(jù)具體情況設(shè)置不同的位置點進行檢測,其他情況在此不作限定。在步驟S302中,當檢測到至少有預設(shè)個預設(shè)位置點沿3D攝像機朝向或者手臂朝向引出的射線碰撞到同一 3D物體區(qū)域時,判定所述3D物體區(qū)域內(nèi)的3D物體為用戶選擇操作的3D物體,所述3D物體區(qū)域為內(nèi)含3D物體的區(qū)域,包括三角形或者四邊形。在本實施例中,當步驟S301中檢測到有預設(shè)個位置點碰撞到同一 3D物體時,則判定該3D物體為用戶所選擇的3D物體,作為本發(fā)明的一個實現(xiàn)示例,預設(shè)的位置點數(shù)可以為3個。從本步驟可以看出,位置點的分布越均勻,間隙越合理,則步驟S302中的判定結(jié)果會越精確。以圖4所示的碰撞檢測示意圖為例,用戶在輸入?yún)^(qū)域描繪出了一個橢圓形輸入軌跡,取包圍該輸入軌跡的矩形的四個頂點及中心點,沿方向向量從上述五點分別引出五條射線,可以看到,上述五條射線中有3條均碰撞到了包圍該3D球體的矩形區(qū)域,則判定用戶選擇操作的物體為該3D球體。作為本發(fā)明的一個實施例,當步驟S302中判定用戶選擇操作的3D物體為多個時,選取最靠近所述幾何區(qū)域中心點的射線端點的3D物體作為用戶選擇操作的3D物體。在本實施例中,通過將用戶輸入軌跡的幾何區(qū)域中的若干個點進行檢測,而不是把輸入軌跡中的每個點均拿來檢測,由此避免了大量的數(shù)據(jù)計算,提高了系統(tǒng)的運算效率。圖3所示的碰撞檢測方法可以獨立應用于3D場景交互中,單獨執(zhí)行。圖5示出了本發(fā)明第二實施例提供的3D場景交互裝置的結(jié)構(gòu)框圖,該裝置用于運行本發(fā)明圖I至圖4所示的3D場景交互方法。為了便于說明,僅示出了與本實施例相關(guān)的部分。參照圖5,該裝置包括匹配單元51,為用戶的輸入軌跡匹配標識,所述標識包括圖形和字符,用于唯一對應一個交互事件。碰撞檢測單元52,對用戶的輸入?yún)^(qū)域進行碰撞檢測,獲取用戶選擇操作的3D物體。響應單元53,根據(jù)所述標識對應的交互事件對所述3D物體作出響應。其中,響應單元53包括渲染子單元531,對所述3D物體進行即時渲染,播放特效。操作執(zhí)行子單元532,對所述3D物體執(zhí)行所述標識對應的交互事件對應的功能操作。還包括區(qū)域獲取單元54,獲取包圍所述輸入?yún)^(qū)域的幾何區(qū)域。區(qū)域縮小單元55,縮小所述幾何區(qū)域至預設(shè)大小,以使所述輸入軌跡縮小相應比例。上述匹配單元51包括預設(shè)標識獲取子單元511,在預設(shè)數(shù)據(jù)庫中獲取與所述輸入軌跡筆畫數(shù)一致的若干個預設(shè)標識。相關(guān)性獲取子單元512,分別獲取所述輸入軌跡與每個所述預設(shè)標識的相關(guān)性,所述相關(guān)性通過將所述輸入軌跡每個筆畫的多種筆跡特征值分別和每個預設(shè)標識相應筆畫的多種筆跡特征值取方差并求和獲取。目標標識匹配子單元513,在所述預設(shè)標識中獲取與所述輸入軌跡相關(guān)性最大的目標標識,若該相關(guān)性大于一預設(shè)閾值,則為所述輸入軌跡匹配所述目標標識;否則終止執(zhí)行。還包括特征信息采集子單元514,用于采集所述預設(shè)數(shù)據(jù)庫中每個預設(shè)標識的特征信息,所述特征信息包括筆畫數(shù)和每個筆畫的多種筆跡特征值。上述碰撞檢測單元52包括預設(shè)位置點碰撞檢測子單元521,對所述幾何區(qū)域的預設(shè)位置點進行碰撞檢測,所述幾何區(qū)域包括三角形區(qū)域或矩形區(qū)域,對應地,所述預設(shè)位置點包括矩形的四個頂點和中心點或者三角形的三個頂點和中心點,所述預設(shè)位置點碰撞檢測子單元521包括平面坐標獲取子單元,獲取所述幾何區(qū)域的預設(shè)位置點的平面坐標。轉(zhuǎn)換子單元,分別對所述預設(shè)位置點的平面坐標進行3D變換,轉(zhuǎn)換為3D場景下的3D坐標。檢測子單元,根據(jù)所述預設(shè)位置點的3D坐標,對所述預設(shè)位置點進行碰撞檢測。判定子單元522,當檢測到至少有預設(shè)個預設(shè)位置點沿3D攝像機朝向或者手臂朝向引出的射線碰撞到同一 3D物體區(qū)域時,判定所述3D物體區(qū)域內(nèi)的3D物體為用戶選擇操作的3D物體,所述3D物體區(qū)域為內(nèi)含3D物體的區(qū)域,包括三角形或者四邊形區(qū)域等。本發(fā)明實施、例通過檢測用戶的輸入軌跡來確定相應的交互事件,并結(jié)合3D場景的碰撞檢測處理,將相應的交互事件應用于碰撞檢測到的3D物體,從而實時地對該3D物體進行相應渲染,完成用戶與3D場景的交互,大大降低了人機交互的流暢度,提高了用戶的操作體驗。圖6示出了本發(fā)明第三實施例提供的3D場景碰撞檢測裝置的結(jié)構(gòu)框圖,該裝置用于運行本發(fā)明圖3至圖4所示的3D場景碰撞檢測方法。為了便于說明,僅示出了與本實施例相關(guān)的部分。參照圖6,該裝置包括區(qū)域獲取單元61,獲取包圍用戶的輸入?yún)^(qū)域的幾何區(qū)域。預設(shè)位置點碰撞檢測單元62,對所述幾何區(qū)域的預設(shè)位置點進行碰撞檢測,所述幾何區(qū)域包括三角形區(qū)域或矩形區(qū)域,對應地,所述預設(shè)位置點包括矩形的四個頂點和中心點或者三角形的三個頂點和中心點。
所述預設(shè)位置點碰撞檢測單元包括平面坐標獲取子單元,獲取所述幾何區(qū)域的預設(shè)位置點的平面坐標。轉(zhuǎn)換子單元,分別對所述預設(shè)位置點的平面坐標進行3D變換,轉(zhuǎn)換為3D場景下的3D坐標。檢測子單元,根據(jù)所述預設(shè)位置點的3D坐標,對所述預設(shè)位置點進行碰撞檢測。判定單元63,當檢測到至少有預設(shè)個位置點沿方向向量引出的射線碰撞到同一3D物體區(qū)域時,判定所述3D物體區(qū)域內(nèi)的3D物體為用戶選擇操作的3D物體。上述3D場景碰撞檢測裝置,也是所述3D場景交互裝置的一部分,可以作為一獨立裝置模塊使用在其他領(lǐng)域。本發(fā)明實施例通過將用戶輸入軌跡的幾何區(qū)域中的若干個點進行檢測,而不是把輸入軌跡中的每個點均拿來檢測,由此避免了大量的數(shù)據(jù)計算,提高了系統(tǒng)的運算效率。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種3D場景交互方法,其特征在于,包括 為用戶的輸入軌跡匹配標識,所述標識包括圖形和字符,用于唯一對應一個交互事件; 對用戶的輸入?yún)^(qū)域進行碰撞檢測,獲取用戶選擇操作的3D物體; 根據(jù)所述標識對應的交互事件對所述3D物體作出響應。
2.如權(quán)利要求I所述的方法,其特征在于,在為用戶的輸入軌跡匹配標識之前,還包括 獲取包圍所述輸入?yún)^(qū)域的幾何區(qū)域; 縮小所述幾何區(qū)域至預設(shè)大小,以使所述輸入軌跡縮小相應比例。
3.如權(quán)利要求2所述的方法,其特征在于,所述為用戶的輸入軌跡匹配標識具體包括 在預設(shè)數(shù)據(jù)庫中獲取與所述輸入軌跡筆畫數(shù)一致的若干個預設(shè)標識; 分別獲取所述輸入軌跡與每個所述預設(shè)標識的相關(guān)性,所述相關(guān)性通過將所述輸入軌跡每個筆畫的多種筆跡特征值分別和每個預設(shè)標識相應筆畫的多種筆跡特征值取方差并求和獲取; 在所述預設(shè)標識中獲取與所述輸入軌跡相關(guān)性最大的目標標識,若該相關(guān)性大于一預設(shè)閾值,則為所述輸入軌跡匹配所述目標標識;否則終止執(zhí)行。
4.如權(quán)利要求3所述的方法,其特征在于,在所述獲取與所述輸入軌跡筆畫數(shù)一致的若干個預設(shè)標識之前,還包括 采集并存儲所述預設(shè)數(shù)據(jù)庫中每個預設(shè)標識的特征信息,所述特征信息包括筆畫數(shù)和每個筆畫的多種筆跡特征值。
5.如權(quán)利要求2所述的方法,其特征在于,所述對用戶的輸入?yún)^(qū)域進行碰撞檢測,獲取用戶選擇的3D物體包括 對所述幾何區(qū)域的預設(shè)位置點進行碰撞檢測,所述幾何區(qū)域包括三角形區(qū)域或矩形區(qū)域,對應地,所述預設(shè)位置點包括矩形的四個頂點和中心點或者三角形的三個頂點和中心點,具體包括 獲取所述幾何區(qū)域的預設(shè)位置點的平面坐標; 分別對所述預設(shè)位置點的平面坐標進行3D變換,轉(zhuǎn)換為3D場景下的3D坐標; 根據(jù)所述預設(shè)位置點的3D坐標,對所述預設(shè)位置點進行碰撞檢測; 當檢測到至少有預設(shè)個預設(shè)位置點沿3D攝像機朝向或者手臂朝向引出的射線碰撞到同一 3D物體區(qū)域時,判定所述3D物體區(qū)域內(nèi)的3D物體為用戶選擇操作的3D物體,所述3D物體區(qū)域為內(nèi)含3D物體的區(qū)域,包括三角形或者四邊形。
6.如權(quán)利要求5所述的方法,其特征在于,當判定用戶選擇操作的3D物體為多個時,選取最靠近所述幾何區(qū)域中心點的射線端點的3D物體作為用戶選擇操作的3D物體。
7.如權(quán)利要求I所述的方法,其特征在于,所述根據(jù)所述標識對應的交互事件作出響應,具體包括 對所述3D物體進行即時渲染,播放特效; 對所述3D物體執(zhí)行所述標識對應的交互事件對應的功能操作。
8.—種3D場景碰撞檢測方法,其特征在于,包括 獲取包圍用戶的輸入?yún)^(qū)域的幾何區(qū)域;對所述幾何區(qū)域的預設(shè)位置點進行碰撞檢測,所述幾何區(qū)域包括三角形區(qū)域或矩形區(qū)域,對應地,所述預設(shè)位置點包括矩形的四個頂點和中心點或者三角形的三個頂點和中心點,具體包括 獲取所述幾何區(qū)域的預設(shè)位置點的平面坐標; 分別對所述預設(shè)位置點的平面坐標進行3D變換,轉(zhuǎn)換為3D場景下的3D坐標; 根據(jù)所述預設(shè)位置點的3D坐標,對所述預設(shè)位置點進行碰撞檢測; 當檢測到至少有預設(shè)個預設(shè)位置點沿方向向量引出的射線碰撞到同一 3D物體區(qū)域時,判定所述3D物體區(qū)域內(nèi)的3D物體為用戶選擇操作的3D物體。
9.如權(quán)利要求8所述的方法,其特征在于,所述方向向量為3D攝像機朝向向量或者手臂朝向向量。
10.如權(quán)利要求8所述的方法,其特征在于,當判定用戶選擇操作的3D物體為多個時,選取最靠近幾何區(qū)域中心點的射線端點的3D物體作為用戶選擇操作的3D物體。
11.一種3D場景交互裝置,其特征在于,包括 匹配單元,用于為用戶的輸入軌跡匹配標識,所述標識包括圖形和字符,用于唯一對應一個交互事件; 碰撞檢測單元,用于對用戶的輸入?yún)^(qū)域進行碰撞檢測,獲取用戶選擇操作的3D物體; 響應單元,用于根據(jù)所述標識對應的交互事件對所述3D物體作出響應。
12.如權(quán)利要求11所述的裝置,其特征在于,還包括 區(qū)域獲取單元,用于獲取包圍所述輸入?yún)^(qū)域的幾何區(qū)域; 區(qū)域縮小單元,用于縮小所述幾何區(qū)域至預設(shè)大小,以使所述輸入軌跡縮小相應比例。
13.如權(quán)利要求11所述的裝置,其特征在于,所述匹配單元包括 預設(shè)標識獲取子單元,用于在預設(shè)數(shù)據(jù)庫中獲取與所述輸入軌跡筆畫數(shù)一致的若干個預設(shè)標識; 相關(guān)性獲取子單元,用于分別獲取所述輸入軌跡與每個所述預設(shè)標識的相關(guān)性,所述相關(guān)性通過將所述輸入軌跡每個筆畫的多種筆跡特征值分別和每個預設(shè)標識相應筆畫的多種筆跡特征值取方差并求和獲取; 目標標識匹配子單元,用于在所述預設(shè)標識中獲取與所述輸入軌跡相關(guān)性最大的目標標識,若該相關(guān)性大于一預設(shè)閾值,則為所述輸入軌跡匹配所述目標標識。
14.如權(quán)利要求13所述的裝置,其特征在于,還包括 特征信息采集子單元,用于采集并存儲所述預設(shè)數(shù)據(jù)庫中每個預設(shè)標識的特征信息,所述特征信息包括筆畫數(shù)和每個筆畫的多種筆跡特征值。
15.如權(quán)利要求11所述的裝置,其特征在于,所述碰撞檢測單元包括 預設(shè)位置點碰撞檢測子單元,用于對所述幾何區(qū)域的預設(shè)位置點進行碰撞檢測,所述幾何區(qū)域包括三角形區(qū)域或矩形區(qū)域,對應地,所述預設(shè)位置點包括矩形的四個頂點和中心點或者三角形的三個頂點和中心點; 判定子單元,用于當檢測到至少有預設(shè)個預設(shè)位置點沿3D攝像機朝向或者手臂朝向引出的射線碰撞到同一 3D物體區(qū)域時,判定所述3D物體區(qū)域內(nèi)的3D物體為用戶選擇操作的3D物體,所述3D物體區(qū)域為內(nèi)含3D物體的區(qū)域,包括三角形或者四邊形; 所述預設(shè)位置點碰撞檢測子單元包括平面坐標獲取子單元,用于獲取所述幾何區(qū)域的預設(shè)位置點的平面坐標; 轉(zhuǎn)換子單元,用于分別對所述預設(shè)位置點的平面坐標進行3D變換,轉(zhuǎn)換為3D場景下的.3D坐標; 檢測子單元,用于根據(jù)所述預設(shè)位置點的3D坐標,對所述預設(shè)位置點進行碰撞檢測。
16.如權(quán)利要求11所述的裝置,其特征在于,所述響應單元包括 渲染子單元,用于對所述3D物體進行即時渲染,播放特效; 操作執(zhí)行子單元,用于對所述3D物體執(zhí)行所述標識對應的交互事件對應的功能操作。
17.一種3D場景碰撞檢測裝置,其特征在于,包括 區(qū)域獲取單元,用于獲取包圍用戶的輸入?yún)^(qū)域的幾何區(qū)域; 預設(shè)位置點碰撞檢測單元,用于對所述幾何區(qū)域的預設(shè)位置點進行碰撞檢測,所述幾何區(qū)域包括三角形區(qū)域或矩形區(qū)域,對應地,所述預設(shè)位置點包括矩形的四個頂點和中心點或者三角形的三個頂點和中心點; 判定單元,用于當檢測到至少有預設(shè)個位置點沿方向向量引出的射線碰撞到同一 3D物體區(qū)域時,判定所述3D物體區(qū)域內(nèi)的3D物體為用戶選擇操作的3D物體; 所述預設(shè)位置點碰撞檢測單元包括 平面坐標獲取子單元,用于獲取所述幾何區(qū)域的預設(shè)位置點的平面坐標; 轉(zhuǎn)換子單元,用于分別對所述預設(shè)位置點的平面坐標進行3D變換,轉(zhuǎn)換為3D場景下的.3D坐標; 檢測子單元,用于根據(jù)所述預設(shè)位置點的3D坐標,對所述預設(shè)位置點進行碰撞檢測。
全文摘要
本發(fā)明適用于人機交互領(lǐng)域,提供了一種3D場景交互方法及裝置,包括為用戶的輸入軌跡匹配標識,所述標識包括圖形和字符,用于唯一對應一個交互事件;對用戶的輸入?yún)^(qū)域進行碰撞檢測,獲取用戶選擇操作的3D物體;根據(jù)所述標識對應的交互事件對所述3D物體作出響應。本發(fā)明通過檢測用戶的輸入軌跡來確定相應的交互事件,并結(jié)合3D場景的碰撞檢測處理,將相應的交互事件應用于碰撞檢測到的3D物體,從而實時地對該3D物體進行響應,完成用戶與3D場景的交互,大大降低了人機交互的流暢度,提高了用戶的操作體驗。
文檔編號G06F3/048GK102637116SQ201210075429
公開日2012年8月15日 申請日期2012年3月20日 優(yōu)先權(quán)日2012年3月20日
發(fā)明者張穎 申請人:Tcl集團股份有限公司