專利名稱:一種數字曾侯乙編鐘虛擬現(xiàn)實體感交互系統(tǒng)與方法
技術領域:
本發(fā)明屬于計算機仿真技術領域,涉及虛擬仿真技術、計算機圖形學、人機交互學和多媒體技術,尤其涉及一種數字曾侯乙編鐘虛擬現(xiàn)實體感交互系統(tǒng)與方法。
背景技術:
傳統(tǒng)的文物展出,一般要將文物實體搬運至展出地點,展覽后再將其運回原處;或者對真品進行復制,使用贗品展出。使用這些文物展示方法,需要考慮多方面問題,例如:文物的運輸,文物的安全與保護,贗品的加工技術與成本,文物的展覽環(huán)境,以及文物的出入境合法問題等。這些問題限制了某些大型文物和珍貴文物的展覽,例如曾侯乙編鐘,它是我國國家一級保護文物,不允許出境展出。整套編鐘重達5噸,且已有2400多年的歷史,極其珍貴。在國內展出需要解決搬運不便等問題。另外,由于曾侯乙編鐘年代久遠,展覽時需要苛刻的存放環(huán)境,故一般參觀者不允許近距離參觀,也沒有機會敲擊演奏編鐘。即便使用贗品,仍然無法解決搬運困難的問題,且其成本也極高,在很大程度上限制了這件文化瑰寶的對外展示。傳統(tǒng)的靜態(tài)圖片文字展示存在表達不生動,交互不豐富的問題。目前基于多媒體技術的文物展示技術已經可以很好的從視覺上對文物進行復原。一般來說,多媒體文物展示多使用顯示器或投影儀來進行展示。而交互方面,則多使用觸摸屏交互,或使用鍵盤、鼠標進行交互。若使用上述幾種交互方式,雖然能達到一定的視覺和展示效果,但是它們都無法實現(xiàn)“演奏編鐘”的功能。真實的編鐘需要使用小錘進行演奏,這顯然是觸摸式交互無法模擬實現(xiàn)的。另外,大型的觸摸屏顯示設備的造價很高,不利于推廣。投影儀雖然顯示尺寸大,卻很難與觸摸設備結合在一起。
發(fā)明內容
針對文物實物展覽的種種局限和現(xiàn)有多媒體虛擬現(xiàn)實技術使用鍵盤或鼠標、觸摸屏等交互方式中存在的不足,本發(fā)明提供了一種多媒體虛擬現(xiàn)實體感交互系統(tǒng)和方法,從視覺和聽覺上再現(xiàn)曾侯乙編鐘,通過肢體動作與虛擬曾侯乙編鐘進行交互。本發(fā)明采用的技術方案如下:一種數字曾侯乙編鐘虛擬現(xiàn)實體感交互系統(tǒng),借助計算機、體感傳感器、顯示設備、音響設備和虛擬仿真軟件實現(xiàn)。個人計算機運行系統(tǒng)軟件,并分別輸出視頻與音頻信號至顯示和音響設備;體感交互控制器將用戶(或觀覽者)的體感動作信息輸入至計算機,實現(xiàn)體感交互;顯示設備將計算機輸出的視頻信號轉換成圖像,展示曾侯乙編鐘;音響設備將計算機輸出的虛擬現(xiàn)實的音頻信號轉換成聲音。其特征在于,該系統(tǒng)包括:體感交互輸入模塊,邏輯交互模塊,虛擬現(xiàn)實視覺顯示模塊和虛擬現(xiàn)實音頻輸出模塊。其中:體感交互輸入模塊,用于接收體感控制器輸入的動作數據,根據一段時間內的動作數據和預制的動作數據判斷目前的動作內容,并將動作狀態(tài)與細節(jié)送至邏輯交互模塊。所述體感交互輸入模塊包括:輸入數據接口,預制動作識別庫,動作判斷模塊。其中:
輸入數據接口,用于接收體感控制器的旋轉姿態(tài)、空間坐標,以及固定式體感控制器捕捉的用戶骨骼動作信息等輸入數據,并將它們轉換成與預制動作識別庫相匹配的數據結構;預制動作識別庫,是一套事先設定好的動作特征庫,當軟件輸入數據接口將數據傳輸到動作判斷模塊時,動作判斷模塊將當前數據的特征與預制動作識別庫中的動作特征進行比對,以判斷當前用戶的動作是否與預先設置的動作吻合;動作判斷模塊,用于判斷輸入數據與動作庫中的動作是否吻合,并將當前的動作狀態(tài)與動作細節(jié)發(fā)送到邏輯交互模塊。邏輯交互模塊,接收來自體感交互輸入模塊的輸入數據,根據接收數據的特征和細節(jié)調用指定的功能,并根據指定的功能調用虛擬現(xiàn)實視覺顯示模塊和虛擬現(xiàn)實音頻輸出模塊,向用戶輸出不同的交互結果。它還管理當前運行時所處的功能模塊,根據輸入切換當前運行的功能模塊,加載不同的資源,以實現(xiàn)不同的功能和運算。功能模塊可以根據需求進行增減,以方便擴大本系統(tǒng)的需求。虛擬現(xiàn)實視覺顯示模塊,用于處理虛擬現(xiàn)實中的視覺信息,包括:三維渲染模塊,數字曾侯乙編鐘三維實體,用戶界面顯示和管理模塊。其中,三維渲染模塊,用于向邏輯交互模塊提供三維渲染接口。當邏輯交互模塊根據指定邏輯調用渲染模塊時,三維渲染模塊執(zhí)行指定的渲染任務;數字曾侯乙編鐘實體,是根據編鐘原物進行精確數字復原,利用三維建模技術、三維雕刻技術以及計算機圖形學技術得到的編鐘的數字化三維素材,所有的紋理細節(jié),材質細節(jié)均來自實物;用戶界面顯示和管理模塊,用于提供UI (用戶界面,User Interface)的顯示刷新接口,當邏輯交互模塊調用用戶界面顯示和管理模塊時,該模塊顯示相應的UI信息。虛擬現(xiàn)實音頻輸出模塊,用于處理虛擬現(xiàn)實中的音頻信息,包含曾侯乙編鐘的原音音軌和每個功能模塊所包含的UI交互音頻聲音。一種數字曾侯乙編鐘虛擬現(xiàn)實體感交互方法,包括以下步驟:使用持握式體感控制器進行演奏虛擬編鐘的步驟;使用固定式體感控制器和指定動作與虛擬按鈕進行交互的步驟。其中,使用持握式體感控制器進行虛擬編鐘演奏的方法具體包括以下內容:①用戶將持握式體感控制器握在手中,系統(tǒng)將持握式體感控制器的位置映射到本系統(tǒng)的虛擬現(xiàn)實環(huán)境中,在虛擬現(xiàn)實中將會出現(xiàn)一個虛擬“鐘錘”,并通過顯示設備反饋給用戶。②用戶移動持握式體感控制器,系統(tǒng)根據體感控制器的位置信息自動改變虛擬現(xiàn)實中的“鐘錘”位置。③用戶通過移動體感控制器將虛擬“鐘錘”移動到虛擬化的曾侯乙編鐘實體上,若用戶向下?lián)]動手腕,使體感控制器的旋轉和位移達到預設水平,則視其為“敲響” 了編鐘,并進行一系列的交互反饋,如播放相應編鐘的實際響聲等。使用固定式體感控制器和指定動作與虛擬按鈕進行交互的方法具體包括以下內容:
①用戶站在固定式體感控制器的有效感應范圍內,抬起左手或右手,或做出其它指定動作,體感控制器感應并捕捉用戶的肢體動作。②系統(tǒng)自動追蹤到用戶手的位置,并將手的位置映射到系統(tǒng)的虛擬現(xiàn)實環(huán)境中,在虛擬現(xiàn)實中出現(xiàn)一個手的指示光標(簡稱虛擬手),并通過顯示設備反饋給用戶,告知用戶虛擬手的位置。③用戶通過移動手的位置改變虛擬現(xiàn)實中手的位置,并將這個虛擬手移動至虛擬現(xiàn)實中的按鈕(簡稱虛擬按鈕)上,視為進行了“進入按鈕”操作,并執(zhí)行與“進入按鈕”相應的命令。④當虛擬手移至虛擬按鈕上時,系統(tǒng)開始計時,若虛擬手在虛擬按鈕上停留的時間超過了預設值(此值不固定,可根據需要改變),則視為進行了 “點擊按鈕”操作,執(zhí)行與“點擊按鈕”相應的命令。⑤若停留時間未超過預設值,用戶就將虛擬手從虛擬按鈕上移開,則視為進行了“移出按鈕”操作,執(zhí)行與“移出按鈕”相應的命令。本發(fā)明的有益效果是:①利用多媒體技術與虛擬現(xiàn)實技術,使用目前較為成熟的民用級別的硬件設備,從“形”和“聲”兩方面逼真地呈現(xiàn)數字-曾侯乙編鐘。部署容易,成本低,解決了實物或贗品展出重量大、易損壞、搬運不便、儲藏條件要求苛刻、展覽環(huán)境要求高等問題,使國家一級文物曾侯乙編鐘出境展覽成為可能。②將體感交互技術與文物觀覽結合在一起,用戶通過使用持握式體感控制器,可以體驗演奏編鐘,實現(xiàn)很多常規(guī)展覽方法無法做到的交互內容,增加了觀覽的互動性與趣味性。
圖1為本發(fā)明所涉及的硬件設備組成框圖;圖2為本發(fā)明所涉及的交互系統(tǒng)組成框圖;圖3為使用持握式體感控制器進行演奏虛擬編鐘的示意圖;圖4為使用持握式體感控制器進行演奏虛擬編鐘的方法流程圖;圖5為使用固定式體感控制器和指定動作與虛擬按鈕進行交互的示意圖;圖6為使用固定式體感控制器和指定動作與虛擬按鈕進行交互的方法流程圖。
具體實施例方式下面結合附圖給出本發(fā)明的具體實施方式
。數字曾侯乙編鐘虛擬現(xiàn)實體感交互系統(tǒng),包括硬件設備和系統(tǒng)軟件。硬件設備的組成框圖如圖1所示,包括:計算機,體感傳感器,顯示設備,和音響設備。計算機,用于運行系統(tǒng)軟件,并分別輸出視頻與音頻信號至顯示和音響設備,一臺能夠運行多媒體軟件的個人電腦即可滿足要求;體感傳感器,用于將用戶或觀覽者的體感動作信息輸入至計算機,實現(xiàn)體感交互,其數量可以是一個,也可以是兩個以上,但至少有一個手持式體感控制器,例如sony公司生產的PSMove游戲體感控制器;顯示設備,用于將計算機輸出的視頻信號轉換成圖像,可以是一臺或多臺電腦顯示器、數字電視、投影儀或陣列式LED顯示屏,或任何可以用于顯示的設備;音響設備,用于輸出本系統(tǒng)的音頻信號,可以是一臺2.1聲道的桌面音響或其他音響。系統(tǒng)軟件安裝在計算機內,其組成框圖如圖2所示,包括:體感交互輸入模塊,邏輯交互模塊,虛擬現(xiàn)實視覺顯示模塊和虛擬現(xiàn)實音頻輸出模塊。下面分別介紹各模塊的實現(xiàn)方法:1.體感交互輸入模塊體感交互輸入模塊還包括輸入數據接口、預制動作識別庫和動作判斷模塊。輸入數據接口,用于接收體感控制器的輸入數據,并將它們轉換成與預制動作識別庫相匹配的數據結構。這些輸入數據接口利用C#、官方驅動與開源項目編寫,主要功能是將體感設備的輸入數據傳入到虛擬現(xiàn)實軟件中,供軟件開發(fā)使用。使用的官方驅動為Kinect SDK,而開源項目則使用了 Moveframework。關于數據接口的實現(xiàn)方法則是通過將開源項目進行封裝,使其更有利于本專利中虛擬現(xiàn)實軟件的開發(fā)。預制動作識別庫,主要作用是儲存軟件設計者預制的動作,用于完成用戶動作的識別和狀態(tài)判斷,并且與動作判斷模塊相互作用。預制動作識別庫是由數個預制動作組成的動作集合,可以實現(xiàn)按照動作的名稱查找動作并將它們以只讀返回的功能,此功能可以用絕大多數現(xiàn)代編程語言支持的Array或者List來實現(xiàn)。動作判斷模塊,又稱動作識別模塊,實現(xiàn)語言為C#。此模塊作用是將當前的體感控制器姿態(tài)信息與預制動作庫中的指定動作進行比對,一旦符合其中的某種動作姿勢便發(fā)出相應的通知事件,并將加入了動作姿勢細節(jié)的事件中的參數傳給接受者,事件接受者再對其進行處理。其實現(xiàn)方法主要是依靠檢測用戶開始做出指定動作時放棄對其他預制動作的檢測,并通過執(zhí)行動作進行時方法發(fā)出動作事件來通知用戶目前正在做出的動作名稱、動作狀態(tài)等。當動作識別模塊發(fā)現(xiàn)用戶的動作滿足動作結束條件,就不再運行該動作的動作運行時,轉而繼續(xù)從預制動作識別庫中檢測庫中動作的動作啟動條件,等待用戶做出下一個預制動作。通過上面的檢測方法,動作識別模塊就能夠將目前用戶的動作信息通過事件發(fā)送給模塊外部的事件監(jiān)聽者。只要在外部增加事件偵聽器,就能接收到目前用戶的動作。2.邏輯交互模塊邏輯交互模塊,包含虛擬現(xiàn)實軟件的主要邏輯場景,通過語言C#實現(xiàn)。此模塊主要用于控制整體邏輯,根據體感交互輸入模塊提供的用戶輸入進行運算,并通過虛擬現(xiàn)實視覺顯示模塊和虛擬現(xiàn)實音頻輸出模塊將交互結果反饋給用戶。具體實現(xiàn)方法為:使用有限狀態(tài)自動機的思想,將每個場景抽象成一個狀態(tài),通過設計好的用戶輸入來進行場景間的跳轉并實現(xiàn)預先設定好的邏輯。3.虛擬現(xiàn)實視覺顯示模塊虛擬現(xiàn)實視覺顯示模塊,用于運算處理虛擬現(xiàn)實中的視覺信息,并將結果通過顯示設備進行輸出。主要由虛擬現(xiàn)實軟件一DirectX或OpenGL進行開發(fā),在編鐘部分還使用了 C#。此模塊包括以下部分:三維渲染模塊,數字-曾侯乙編鐘三維實體,用戶界面顯示和管理模塊等。三維渲染模塊,用于向邏輯層提供三維渲染接口(API):當邏輯模塊根據指定邏輯調用渲染模塊時,三維渲染模塊執(zhí)行指定的渲染任務,這是呈現(xiàn)本系統(tǒng)虛擬現(xiàn)實視覺部分任務的主要完成者。數字-曾侯乙編鐘實體,是虛擬現(xiàn)實中展現(xiàn)的曾侯乙編鐘,通過三維建模技術,三維雕刻技術以及計算機圖形學技術數字化的三維素材而實現(xiàn),并且保證復原的精準;用戶界面顯示和管理模塊用于提供Π (用戶界面,User Interface)的顯示刷新接口(API),當邏輯模塊調用用戶界面顯示和管理模塊的接口時,該模塊顯示相應的Π信息。4.虛擬現(xiàn)實首頻輸出t旲塊虛擬現(xiàn)實首頻輸出t旲塊,用于運算處理虛擬現(xiàn)實中的首頻彳目息,并將結果通過音響設備進行輸出。它的主要實現(xiàn)方法與虛擬現(xiàn)實顯示模塊相同,均是靠虛擬現(xiàn)實軟件DirectX或OpenAL。此模塊中包含了曾侯乙編鐘的原音音軌,用于在用戶敲擊編鐘時模擬敲擊聲音。另外,這個音頻模塊輸出每一功能模塊所包含的Π交互音頻信號。一種數字曾侯乙編鐘虛擬現(xiàn)實體感交互方法,包括以下步驟:使用持握式體感控制器進行演奏虛擬編鐘的步驟。下面分別介紹每個步驟的具體實現(xiàn)方法。1.使用持握式體感控制器進行虛擬編鐘演奏使用持握式體感控制器進行虛擬編鐘演奏的示意圖如圖3所示,方法流程圖如圖4所示。軟件實現(xiàn)過程中執(zhí)行以下邏輯:虛擬現(xiàn)實視覺顯示模塊首先更新“鐘錘”在虛擬現(xiàn)實中的位置,邏輯交互模塊隨即從體感交互輸入模塊獲取持握式體感控制器的姿態(tài)數據,并進行Y軸(左手坐標系,Z軸為深度,Y軸垂直于地面,X軸垂直于YZ平面)加速度和旋轉加速度的計算。當這兩個數據達到各自的臨界值時,判定為正在“敲擊”編鐘。當軟件檢測至IJ“敲擊”時,邏輯交互模塊從指示物的位置向三維世界中發(fā)射一條射線進行碰撞檢測。一旦射線穿過某一個編鐘鐘體,則軟件識別為“敲響了編鐘”,并作出回應,如播放相應的音頻文件、播放動畫等操作。若沒有檢測到“敲擊”或沒有檢測到物體,則不作任何處理。此步驟需要在軟件中頻繁執(zhí)行才可以達到良好的使用效果。因此,本算法應該嵌入到虛擬現(xiàn)實軟件的主循環(huán)中,或單獨使用一條線程進行演算。循環(huán)的頻率必須大于60HZ以上,才能保證使用效果。Y軸加速度和旋轉加速度的計算方法如下:(I) Y軸加速度的計算每1/60秒獲取一次體感控制器的位置及姿態(tài)數值,用當前狀態(tài)數值(Y軸值)減去前1/60數值除以1/60得當前速度A,再用前1/60數值減去前1/30秒數值除以1/60得1/60之前的速度B。若A的絕對值大于B的絕對值,且A、B均大于一定速度,則證明目前體感控制器正在垂直方向向下做加速運動,A-B除以1/60的值就是物體的“Y軸加速度”。若該值大于“加速度臨界值”,則證明用戶“敲擊”了編鐘。由于體感控制器的種類繁多,A、B及“加速度臨界值”不固定,需要根據設備以及用戶的使用習慣作相應的調整。本實施例使用Sony的PSMove體感游戲控制器,若體感數據傳回的頻率為f=60Hz,傳回的位置信息單位為厘米,則A的絕值應大于0.7f,B的絕對值應大于0.3f,“加速度臨界值”約為
0.003f。(2)旋轉加速度的計算需要分別計算X和Y軸的角加速度值。將體感控制器傳來的數據轉換成四元數Q,使用Q中的χ與y值形成一個二維向量r。當體感控制器垂直向上時,r的模為O ;當體感控制器圍繞χ和I轉動時,r的值大于O小于I。首先通過測量r的模長計算體感控制器在X軸和Y軸上的旋轉程度,然后由固定時間段之間的數據差值推算物體在X軸和Y軸上的旋轉加速度。測算的方法與計算垂直方向的加速度類似,分別取1/60秒前的數據和1/30前的數據分別作差后相減,再除以時間差即可得到該值。2.使用固定式體感控制器和指定動作與虛擬按鈕進行交互使用固定式體感控制器和指定動作與虛擬按鈕進行交互示意圖如圖5所示,方法流程圖如圖6所不。用戶在走近本系統(tǒng)的時候,系統(tǒng)便會顯示相應內容引導用戶與之進行交互,這些功能模塊都是依靠按鈕進行導航和交互的。在本發(fā)明中,使用的是交互中常用的按鈕組件。體感按鈕與一般的鼠標用按鈕或觸摸屏按鈕類似,它們都是現(xiàn)實中按鈕的虛擬抽象,在按下時會執(zhí)行一定的功能。鼠標用按鈕與觸摸屏按鈕都設有一定的交互狀態(tài)來滿足程序設計人員的要求,例如:鼠標滑過狀態(tài),鼠標點下狀態(tài),鼠標彈起狀態(tài)等。類似的,本發(fā)明也給體感交互按鈕設計相應的狀態(tài):手懸浮狀態(tài),按下狀態(tài)。在本發(fā)明中,程序使用事件系統(tǒng)告訴程序某一個按鈕目前處于什么狀態(tài)或發(fā)生了什么事情。對于一個按鈕,需要設置如下事件:手移入事件(OnEnter)、懸浮事件(OnHover)、手移出事件(OnExit)、點擊事件(OnClick)、按下事件(OnPress)。每一個體感按鈕都有一個判定區(qū)域用作按鈕的主體,每一個按鈕用輪詢(以一定的頻率檢查按鈕的狀態(tài))的方法來判斷事件的發(fā)生。每個事件的實現(xiàn)方法如下:手移出事件(OnExit):用戶的一只手在屏幕上的映射從該按鈕的判定區(qū)域內移到判定區(qū)域外。由按鈕判斷事件是否觸發(fā),觸發(fā)時機就是在手移出去的那個時刻。這其中包含兩個參數:①用戶的骨骼信息ID號;②手的關節(jié)點名稱。該事件通??梢杂脕硗ㄖ⑦\行手移出按鈕時需要執(zhí)行的功能,例如播放一個音效等。點擊事件(OnClick):最后一次手移入按鈕后的懸浮時間達到了按下臨界時間。由按鈕判斷事件是否觸發(fā),觸發(fā)時機為達到按下臨界時間的那一刻。這其中包含兩個參數:①用戶的骨骼信息ID號;②手的關節(jié)點名稱。這個事件是該按鈕的一個主要事件,它可以用來執(zhí)行按鈕被按下時要執(zhí)行的功能,例如導航中的前進、后退或者執(zhí)行本系統(tǒng)軟件的某個功能等。按下事件(OnPress):按鈕最后一次觸發(fā)了點擊事件之后且手仍然在該按鈕的有效區(qū)域內。由按鈕判斷事件是否觸發(fā),觸發(fā)時機為輪詢時按鈕已經執(zhí)行了點擊事件且手仍在按鈕的有效區(qū)域內。這其中包含三個參數:①戶的骨骼信息ID號;②手的關節(jié)點名稱;
③按下時間。該按鈕用來執(zhí)行按下按鈕以后直到手離開按鈕為止需要做的事情,比如說改變按鈕的顏色等。每一個按鈕的輪詢需要在虛擬現(xiàn)實程序的主循環(huán)中運行。通過上述按鈕系統(tǒng)和相關的事件觸發(fā)機制,本系統(tǒng)就可以允許用戶使用體感按鈕進行交互了。為了讓這個組件變得通用,在設計類時可以將事件觸發(fā)時執(zhí)行的功能寫成虛函數(C++)或者寫成代理(C#)。使用時從外部傳入調用方法?;蛘呤褂糜^察者模式用事件通知外部對象執(zhí)行某功能。
權利要求
1.一種數字曾侯乙編鐘虛擬現(xiàn)實體感交互系統(tǒng),借助計算機、體感傳感器、顯示設備、音響設備和虛擬仿真軟件實現(xiàn);個人計算機運行系統(tǒng)軟件,并分別輸出視頻與音頻信號至顯示和音響設備;體感交互控制器將用戶(或觀覽者)的體感動作信息輸入至計算機,實現(xiàn)體感交互;顯示設備將計算機輸出的視頻信號轉換成圖像,展示曾侯乙編鐘;音響設備將計算機輸出的虛擬現(xiàn)實的音頻信號轉換成聲音;其特征在于,該系統(tǒng)還包括:體感交互輸入模塊,邏輯交互模塊,虛擬現(xiàn)實視覺顯示模塊和虛擬現(xiàn)實音頻輸出模塊;其中: 體感交互輸入模塊,用于接收體感控制器輸入的動作數據,根據一段時間內的動作數據和預制的動作數據判斷目前的動作內容,并將動作狀態(tài)與細節(jié)送至邏輯交互模塊; 邏輯交互模塊,接收來自體感交互輸入模塊的輸入數據,根據接收數據的特征和細節(jié)調用指定的功能,并根據指定的功能調用虛擬現(xiàn)實視覺顯示模塊和虛擬現(xiàn)實音頻輸出模塊,向用戶輸出不同的交互結果;它還管理當前運行時所處的功能模塊,根據輸入切換當前運行的功能模塊,加載不同的資源,以實現(xiàn)不同的功能和運算;功能模塊可以根據需求進行增減,以方便擴大本系統(tǒng)的需求; 虛擬現(xiàn)實視覺顯示模塊,用于處理虛擬現(xiàn)實中的視覺信息,包括:三維渲染模塊,數字曾侯乙編鐘三維實體,用戶界面顯示和管理模塊;其中, 三維渲染模塊,用于向 邏輯交互模塊提供三維渲染接口 ;當邏輯交互模塊根據指定邏輯調用渲染模塊時,三維渲染模塊執(zhí)行指定的渲染任務; 數字曾侯乙編鐘實體,是根據編鐘原物進行精確數字復原,利用三維建模技術、三維雕刻技術以及計算機圖形學技術得到的編鐘的數字化三維素材,所有的紋理細節(jié),材質細節(jié)均來自實物; 用戶界面顯示和管理模塊,用于提供UI (用戶界面,User Interface)的顯示刷新接口,當邏輯交互模塊調用用戶界面顯示和管理模塊時,該模塊顯示相應的UI信息; 虛擬現(xiàn)實音頻輸出模塊,用于處理虛擬現(xiàn)實中的音頻信息,包含曾侯乙編鐘的原音音軌和每個功能模塊所包含的UI交互音頻聲音。
2.根據權利要求1所述的一種數字曾侯乙編鐘虛擬現(xiàn)實體感交互系統(tǒng),其特征在于,所述體感交互輸入模塊還包括:輸入數據接口,預制動作識別庫,和動作判斷模塊;其中: 輸入數據接口,用于接收體感控制器的旋轉姿態(tài)、空間坐標,以及固定式體感控制器捕捉的用戶骨骼動作信息等輸入數據,并將它們轉換成與預制動作識別庫相匹配的數據結構; 預制動作識別庫,是一套事先設定好的動作特征庫,當軟件輸入數據接口將數據傳輸到動作判斷模塊時,動作判斷模塊將當前數據的特征與預制動作識別庫中的動作特征進行比對,以判斷當前用戶的動作是否與預先設置的動作吻合; 動作判斷模塊,用于判斷輸入數據與動作庫中的動作是否吻合,并將當前的動作狀態(tài)與動作細節(jié)發(fā)送到邏輯交互模塊。
3.一種數字曾侯乙編鐘虛擬現(xiàn)實體感交互方法,其特征在于包括以下步驟: 使用持握式體感控制器進行演奏虛擬編鐘的步驟; 使用固定式體感控制器和指定動作與虛擬按鈕進行交互的步驟。
4.根據權利要求3所述的一種數字曾侯乙編鐘虛擬現(xiàn)實體感交互方法,其特征在于,使用持握式體感控制器進行演奏虛擬編鐘的方法包括以下內容:①用戶將持握式體感控制器握在手中,系統(tǒng)將持握式體感控制器的位置映射到本系統(tǒng)的虛擬現(xiàn)實環(huán)境中,在虛擬現(xiàn)實中將會出現(xiàn)一個虛擬“鐘錘”,并通過顯示設備反饋給用戶; ②用戶移動持握式體感控制器,系統(tǒng)根據體感控制器的位置信息自動改變虛擬現(xiàn)實中的“鐘錘”位置; ③用戶通過移動體感控制器將虛擬“鐘錘”移動到虛擬化的曾侯乙編鐘實體上,若用戶向下?lián)]動手腕,使體感控制器的旋轉和位移達到預設水平,則視其為“敲響” 了編鐘,并進行一系列的交互反饋,如播放相應編鐘的實際響聲等。
5.根據權利要求3所述的一種數字曾侯乙編鐘虛擬現(xiàn)實體感交互方法,其特征在于,使用固定式體感控制器和指定動作與虛擬按鈕進行交互的方法包括以下內容: ①用戶站在固定式體感控制器的有效感應范圍內,抬起左手或右手,或做出其它指定動作,體感控制器感應并捕捉用戶的肢體動作; ②系統(tǒng)自動追蹤到用戶手的位置,并將手的位置映射到系統(tǒng)的虛擬現(xiàn)實環(huán)境中,在虛擬現(xiàn)實中出現(xiàn)一個手的指示光標(簡稱虛擬手),并通過顯示設備反饋給用戶,告知用戶虛擬手的位置; ③用戶通過移動手的位置改變虛擬現(xiàn)實中手的位置,并將這個虛擬手移動至虛擬現(xiàn)實中的按鈕(簡稱虛擬按鈕)上,視為進行了“進入按鈕”操作,并執(zhí)行與“進入按鈕”相應的命令; ④當虛擬手移至虛擬按鈕上時,系統(tǒng)開始計時,若虛擬手在虛擬按鈕上停留的時間超過了預設值(此值不固定,可根據需要改變),則視為進行了 “點擊按鈕”操作,執(zhí)行與“點擊按鈕”相應的命令; ⑤若停留時間未超過預設值,用戶就將虛擬手從虛擬按鈕上移開,則視為進行了“移出按鈕”操作,執(zhí)行與“移出按鈕”相應的命令。
全文摘要
本發(fā)明屬于計算機仿真技術領域,涉及一種數字曾侯乙編鐘虛擬現(xiàn)實體感交互系統(tǒng)與方法。該系統(tǒng)包括體感交互輸入模塊,邏輯交互模塊,虛擬現(xiàn)實視覺顯示模塊和虛擬現(xiàn)實音頻輸出模塊。所述體感交互方法包括使用持握式體感控制器進行演奏虛擬編鐘的步驟,使用固定式體感控制器和指定動作與虛擬按鈕進行交互的步驟。本發(fā)明利用多媒體技術與虛擬現(xiàn)實技術,從“形”和“聲”兩方面逼真地呈現(xiàn)數字-曾侯乙編鐘,解決了實物或贗品展出重量大、易損壞、搬運不便、儲藏條件要求苛刻、展覽環(huán)境要求高等問題。應用體感交互技術,用戶可通過使用持握式體感控制器體驗演奏編鐘,增加了觀覽的互動性與趣味性。
文檔編號G06F3/033GK103207677SQ20131014185
公開日2013年7月17日 申請日期2013年4月22日 優(yōu)先權日2013年4月22日
發(fā)明者楊宇辰, 朱青, 李蔚然, 車冠岐 申請人:北京工業(yè)大學