TWI657263B - 虛擬實境中人體的模擬方法和裝置、儲存介質和電子裝置 - Google Patents

虛擬實境中人體的模擬方法和裝置、儲存介質和電子裝置 Download PDF

Info

Publication number
TWI657263B
TWI657263B TW107109892A TW107109892A TWI657263B TW I657263 B TWI657263 B TW I657263B TW 107109892 A TW107109892 A TW 107109892A TW 107109892 A TW107109892 A TW 107109892A TW I657263 B TWI657263 B TW I657263B
Authority
TW
Taiwan
Prior art keywords
target
node
human body
tracker
head
Prior art date
Application number
TW107109892A
Other languages
English (en)
Other versions
TW201830090A (zh
Inventor
程東哲
Original Assignee
大陸商騰訊科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商騰訊科技(深圳)有限公司 filed Critical 大陸商騰訊科技(深圳)有限公司
Publication of TW201830090A publication Critical patent/TW201830090A/zh
Application granted granted Critical
Publication of TWI657263B publication Critical patent/TWI657263B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申請公開了一種虛擬實境中人體的模擬方法和裝置、儲存介質和電子裝置。其中,該方法包括:獲取在虛擬實境中顯示的人體模型,其中,人體模型用於對真實環境中的目標人體進行模擬;獲取目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,追蹤器集合包括至少一個設置在目標人體的預定身體部分上的追蹤器;根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動,以使人體模型模擬目標人體的動作。本申請解决了虛擬實境中無法對人體動作進行真實模擬的技術問題。

Description

虛擬實境中人體的模擬方法和裝置、儲存介質和電子裝置
本申請係關於虛擬實境領域,特別有關一種虛擬實境中人體的模擬方法和裝置、儲存介質和電子裝置。
隨著虛擬實境的技術被一點點的突破,民用家庭設備逐漸出現,成為娛樂生活重要的組成部分,讓人們體驗到前所未有的感覺。為了讓人們更加好的在場景裏面更好的互動,已經更加接近真實的感覺,在虛擬環境中的人與人的真實互動就顯得尤為重要,而真實互動的第一步就是要求形象動作與人類接近。
現有的虛擬實境互動遊戲中,大多用非真實的人類來表示人物形象,但模擬出的人物形象要麽是身體不能動,要麽是透過播放動畫的形式以假亂真,還有一些直接取消掉胳膊和腿部,只有頭部、身體和手,無法真實的模擬出人物動作,影響用戶體驗。
針對上述的問題,目前尚未提出有效的解决方案。
本申請實施例提供了一種虛擬實境中人體的模擬方法和裝置、儲存介質和電子裝置,以至少解决虛擬實境中無法對人體動作進行真實模擬的技術問題。
根據本申請實施例的一個方面,提供了一種虛擬實境中人體的模擬方法,包括:獲取在虛擬實境中顯示的人體模型,其中,所述人體模型用於對真實環境中的目標人體進行模擬;獲取所述目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,所述追蹤器集合包括至少一個設置在所述目標人體的預定身體部分上的追蹤器;以及根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動,以使所述人體模型模擬所述目標人體的動作。
根據本申請實施例的另一方面,還提供了一種虛擬實境中人體的模擬裝置,包括:第一獲取單元,用於獲取在虛擬實境中顯示的人體模型,其中,所述人體模型用於對真實環境中的目標人體進行模擬;第二獲取單元,用於獲取所述目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,所述追蹤器集合包括至少一個設置在所述目標人體的預定身體部分上的追蹤器;以及控制單元,用於根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動,以使所述人體模型模擬所述目標人體的動作。
在本申請實施例中,採用獲取在虛擬實境中顯示的人體模型,其中,所述人體模型用於對真實環境中的目標人體進行模擬;獲取所述目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,所述追蹤器集合包括至少一個設置在所述目標人體的預定身體部位上的追蹤器;以及根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動,以使所述人體模型模擬所述目標人體的動作,透過根據目標人體的預定身體部位上的追蹤器的位置訊息,控制虛擬實境中的人體模型進行移動,達到了控制人體模型模擬目標人體動作的目的,從而實現了根據目標人體的預定身體部位的位置訊息,控制人體模型對目標人體的動作進行模擬的技術效果,進而解决了虛擬實境中無法對人體動作進行真實模擬 的技術問題。
S202~S206‧‧‧步驟
此處所說明的圖式用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用於解釋本申請,並不構成對本申請的不當限定。在圖式中:第1圖是根據本申請實施例的一種可選的虛擬實境中人體的模擬方法的場景佈局的示意圖;第2圖是根據本申請實施例的一種可選的虛擬實境中人體的模擬方法的流程圖;第3圖是根據本申請實施例的標準人體骨架的示意圖;第4圖是根據本申請實施例的控制目標節點與目標節點的父節點進行移動的過程示意圖;第5圖是根據本申請實施例的包括頭部、身體和雙腿的部分骨架示意圖;第6圖是根據本申請實施例的包括雙手和雙臂的部分骨架示意圖;第7圖是根據本申請實施例的對腿部骨架進行簡化後的部分骨架示意圖;第8圖是根據本申請實施例的一種可選的虛擬實境中人體的模擬裝置的示意圖;第9圖是根據本申請實施例的終端的示意圖。
為了使所屬技術領域具有通常知識者更好地理解本申請方案,下面將結合本申請實施例中的圖式,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分的實施例,而不是全部的實施例。基於本申請中 的實施例,所屬技術領域具有通常知識者在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬本申請保護的範圍。
需要說明的是,本申請的說明書和申請專利範圍及上述圖式中的術語“第一”、“第二”等是用於區別類似的對象,而不必用於描述特定的順序或先後次序。應該理解這樣使用的資料在適當情况下可以互換,以便這裡描述的本申請的實施例能够以除了在這裡圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
根據本申請實施例,提供了一種可以透過本申請裝置實施例執行的方法實施例,需要說明的是,在圖式的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,並且,雖然在流程圖中示出了邏輯順序,但是在某些情况下,可以以不同於此處的順序執行所示出或描述的步驟。
根據本申請實施例,提供了一種虛擬實境中人體的模擬方法。
該方法可以應用於各種虛擬實境設備上,透過在目標人體上設置追蹤器,以獲取目標人體的預定身體部位的位置訊息,並根據獲取到的位置訊息,控制虛擬實境中人體模型進行移動,以使人體模型對目標人體的各種動作進行模擬。第1圖是根據本申請實施例的一種可選的虛擬實境中人體的模擬方法的場景佈局的示意圖,如第1圖所示,目標人體的預定身體部位上配置有追蹤器,其中,目標人體的頭部佩帶有可視頭盔(相當於頭部追蹤器), 目標人體的左手和右手分別持有一個手柄(相當於手部追蹤器),當目標人體在預定的區域內做出任意動作時,第1圖中示出的虛擬實境設備透過位置訊息接收裝置獲取可視頭盔和兩個手柄的位置訊息,進而獲取目標人體頭部和手部的位置訊息,並根據獲取到的位置訊息,控制虛擬實境中的人體模型進行相應的移動,以對目標人體做出的各種動作進行模擬,從而實現了根據目標人體的預定身體部位的位置訊息,控制人體模型對目標人體的動作進行模擬的技術效果,進而解决了虛擬實境中無法對人體動作進行真實模擬的技術問題,使人們在虛擬實境中的互動更加接近真實的感覺。
需要說明的是,本申請實施例所提供的虛擬實境中人體的模擬方法在應用於各種虛擬實境設備時,該虛擬實境設備應當包括有必要的追蹤器,以獲取目標人體預定身體部位的位置訊息,如:頭部追蹤器、手部追蹤器、腳部追蹤器等,其中,頭部追蹤器主要用於獲取目標人體的頭部位置訊息,進而根據頭部位置訊息,控制人體模型對目標人體的頭部、頸部以及軀幹的動作進行模擬,手部追蹤器用於獲取目標人體的雙手的位置訊息,進而根據雙手的位置訊息,控制人體模型對目標人體的雙手及手臂動作進行模擬,腳部追蹤器用於獲了以目標人體的雙腳的位置訊息,進而根據雙腳的位置訊息,控制人體模型對目標人體的雙腳及雙腿動作進行模擬。虛擬實境設備所包括的追蹤器應當至少包括頭部追蹤器,以至少透過目標人體的頭部位置訊息控制人體模型對目標人體的身體動作進行模擬。如第1圖示出的虛擬實境設備則包括頭部追蹤器和手部追蹤器,則該虛擬實境設備可以透過手部追蹤器對目標人體的雙手及手臂動作進行模擬,從而使人體模型對目標人體的模擬更加接近真實。同樣的,虛擬實境設備可以 同時包括頭部追蹤器、手部追蹤器和腳部追蹤器,以控制人體模型模擬目標人體的身體動作,雙手和雙臂動作以及雙腳和雙腿動作。
第2圖是根據本申請實施例的一種可選的虛擬實境中人體的模擬方法的流程圖,以下結合第2圖對本申請實施例所提供的虛擬實境中人體的模擬方法做具體介紹,如第2圖所示,該虛擬實境中人體的模擬方法主要包括如下步驟S202至步驟S206:
步驟S202,獲取在虛擬實境中顯示的人體模型,其中,人體模型用於對真實環境中的目標人體進行模擬。
虛擬實境技術是一種可以創建虛擬世界的計算機仿真系統,它利用計算機生成一種多源訊息融合的、互動式的三維動態視景的模擬環境,透過在該環境中對用戶的實體行為進行仿真使用戶沉浸到該環境中。在虛擬實境中顯示的人體模型用於對用戶的實體行為進行模擬,透過控制人體模型對用戶進行的模擬,並使人體模型模擬出的動作更加接近用戶的實體行為,從而使用戶在虛擬實境中的互動更加真實,提高用戶體驗。
步驟S204,獲取目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,追蹤器集合包括至少一個設置在目標人體的預定身體部分上的追蹤器。
在本申請實施例中,追蹤器配置在目標人體的預定身體部位上,在目標人體的預定身體部位做出動作時,追蹤器的位置也相應的發生變化,因此,追蹤器的位置訊息即目標人體的預定身體部位的位置訊息。如第1圖所示,當目標人體轉頭時,目標人體所佩帶的頭盔(相當於頭部追蹤器)的朝向也發生變化,而根據頭盔的朝向,即可獲取目標人體的頭部朝向;當目標人體抬高手臂時,目標人體所持的手柄(相當於手部追蹤器)的位置也會 發生變化,而根據目標人體所持的手柄的位置,即可獲取目標人體的手部及手臂的位置。
步驟S206,根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動,以使人體模型模擬目標人體的動作。
根據逆向動力學的原理,可以透過先確定子骨骼的位置,然後反求推導出其所在的骨骼鏈上n級父骨骼的位置,從而確定整條骨骼鏈的位置。在本申請實施例中,在控制人體模型對目標人體進行模擬時,根據獲取到的追蹤器的位置訊息,確定人體模型各部位的位置訊息,進而根據逆向動力學反求推導出其他部位的位置訊息,從而確定出整個人體模型的所有部位的位置訊息,以使人體模型對目標人體的動作進行真實的模擬。
在本申請實施例中,採用獲取在虛擬實境中顯示的人體模型,其中,人體模型用於對真實環境中的目標人體進行模擬;獲取目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,追蹤器集合包括至少一個設置在目標人體的預定身體部位上的追蹤器;根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動,以使人體模型模擬目標人體的動作,透過根據目標人體的預定身體部位上的追蹤器的位置訊息,控制虛擬實境中的人體模型進行移動,達到了控制人體模型模擬目標人體動作的目的,從而實現了根據目標人體的預定身體部位的位置訊息,控制人體模型對目標人體的動作進行模擬的技術效果,進而解决了虛擬實境中無法對人體動作進行真實模擬的技術問題。
可選地,位置訊息包括追蹤器的位置,根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動包括:將獲取到的位置訊息中的任意一個位置訊息所表示的位置作為目標位置;判斷人體模型的目標節點的當前位置與目標位置之間的距離是否大於 第一預設閾值,其中,目標節點與目標位置對應的目標人體的預定身體部位相關聯;如果目標節點的當前位置與目標位置之間的距離大於第一預設閾值,則控制目標節點和目標節點的所有父節點進行移動,其中,目標節點與父節點用於模擬目標人體中一個骨骼鏈的多個骨骼。
作為本申請實施例的一種可選的實施方式,追蹤器的位置訊息包括追蹤器的位置,將追蹤器位置為作目標位置,將用於對目標人體進行模擬的人體模型的相應部位作為目標節點,則控制人體模型對目標人體進行模擬需要控制目標節點移動到目標位置。在本申請實施例中,設置一個預設閾值,如果目標節點與目標位置的距離大於該預設閾值,則需要控制目標節點移動到目標位置,在控制目標節點移動到目標位置是過程中,還要同時控制目標節點的父節點隨目標節點為的移動而移動,從而達到對目標人體進行真實模擬的目的。如果目標節點與目標位置的距離小於或者等於預設閾值,則認為目標節點近似位於目標位置,無需再移動目標節點。在本申請實施例中,目標節點為處於目標位置的目標人體的預定身體部位所對應的人體模型節點。目標節點的父節點同樣對應的目標人體身體部位,該身體部位為與目標人體的預定身體部位處於同一骨骼鏈上,且為目標人體的預定身體部位的父骨骼。
第3圖是標準人體骨架的示意圖,如第3圖所示,第3圖中每一個骨骼對應於人體模型中的一個節點,其中,頸骨和脊柱為頭骨的父骨骼,頸骨和脊柱在人體模型中對應的節點為頭骨骼所對應的節點的父節點。同樣地,胳膊和鎖骨為手的父骨骼,上腿骨和腿骨為腳的父骨骼,則胳膊和鎖骨在人體模型中對應的節點為手對應的節點的父節點,上腿骨和腿骨在人體模型中對應的 節點為腳對應的節點的父節點。
可選地,控制目標節點和目標節點的所有父節點進行移動包括:獲取目標節點的所有父節點與目標位置的位置關係;根據位置關係選擇與目標節點相鄰的父節點作為旋轉節點;保持旋轉節點與旋轉節點的所有子節點的距離不變,旋轉該旋轉節點的所有子節點,以使目標節點移動到旋轉節點與目標位置的連線上;重新選擇與旋轉節點相鄰的父節點作為旋轉節點,直到目標節點的所有父節點全部選擇完畢。
作為本申請實施例的一種可選的實施方式,在目標節點與目標位置的距離大於預設閾值時,控制目標節點和目標節點的父節點進行移動,以使人體模型對目標人體進行模擬,具體的控制移動方式如第4圖所示,在第4圖中,N1,N2,N3,N4為人體模型中的4個節點,N1,N2,N3,N4對應的目標人體的身體部位處於同一骨骼鏈上,且N1,N2,N3對應的身體部位為N4對應的身體部位的父骨骼,則N1,N2,N3為N4的父節點。在控制人體模型對目標人體進行模擬時,N4為目標節點,N4對應的目標人體的預定身體部位上配置有追蹤器,T為獲取到的追蹤器的位置,即目標位置。在控制目標節點N4和目標節點N4的所有父節點移動之前,首先獲取目標節點N4的所有父節點N1,N2,N3與目標位置T的位置關係,可選的,可以透過將父節點N1,N2,N3與目標位置T進行連線以確定其位置關係。首次移動,首先選擇與目標節點N4相鄰的父節點N3作為旋轉節點,保持旋轉節點N3與其所有子節點(節點N4)的距離不變,即保持N3N4長度不變,旋轉移動節點N4,將N4移動至節點N3和目標位置T的連線上。可選的,在旋轉移動過程中,節點N4所移動的角度為可能移動的最小角度,在上述首次移動過程中,節點N4移動的角度為a1。第二次移動,選擇當前旋 轉節點N3相鄰的父節點(N2)作為新的旋轉節點,保持旋轉節點N2與其所有子節點(節點N3,N4)的距離不變,即保持N2N3、N2N4和N3N4的長度不變,旋轉移動節點N3和節點N4,將N4移動至節點N2和目標位置T的連線上,在上述第二次移動過程中,節點N3和節點N4移動的角度為a2。按上述移動方法,直到目標節點N4的所有父節點全部被選擇完畢。在第4圖中,第三次移動過程選擇目標節點N4的父節點N1作為旋轉節點,並保持節點N1,N2,N3,N4之間的距離不變,旋轉移動節點N2,N3,N4,使節點N4移動到節點N1與目標位置的連線上。至此,完成一次人體模型對目標人體動作的模擬。需要說明的是,如果在完成上述移動之後,目標節點N4與目標位置T之間的距離小於等於預設閾值,則人體模型對目標人體的模擬完畢,如果目標節點N4與目標位置T之前的距離大於預設閾值,則需要再一次控制人體模型按上述移動過程進行移動,直到目標節點N4與目標位置T之間的距離小於等於預設閾值。
可選地,位置訊息包括追蹤器的朝向,根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動包括:將獲取到的位置訊息中的任意一個位置訊息所表示的朝向作為目標朝向;判斷人體模型的目標節點的當前朝向與目標朝向之間的目標角度是否大於第二預設閾值;如果目標角度大於第二預設閾值,則控制目標節點和目標節點的所有父節點按照第一預設角度進行旋轉,其中,目標節點旋轉的角度等於第二預設閾值,目標節點的所有父節點的旋轉角度小於或者等於目標節點的旋轉角度;如果目標角度小於或者等於第二預設閾值,則控制目標節點按照目標角度進行旋轉,並控制目標節點的父節點按照第二預設角度進行旋轉,其中,第二預設角度小於或者等於目標角度。
作為本申請實施例的一種可選的實施方式,根據獲取到的追蹤器的角度,控制人體模型的身體部位進行轉動,以對目標人體進行模擬。由於目標人體身體部位的轉動角度是有限制的,在控制人體模型模擬目標人體進行轉動時,設置第二閾值,在根據獲取到的追蹤器的角度訊息確定的需要轉動的目標角度大於第二閾值時,控制目標節點與目標節點的父節點按照第一預設角度進行旋轉,可選地,控制目標節點與目標節點的父節點按照第一預設角度進行旋轉時,控制目標節點按照第二閾值進行轉動,同時控制目標節點的父節點按照小於等於第二閾值的角度進行旋轉,如果根據獲取到的追蹤器的角度訊息確定的需要轉動的目標角度小於或者等於第二閾值時,控制目標節點與目標節點的父節點按照第二預設角度進行旋轉,具體地,控制目標節點按照目標角度進行旋轉,控制目標節點的父節點按照小於等於目標角度的旋轉角度進行旋轉。可選地,在目標節點有多個父節點時,目標節點的多個父節點轉動的角度均小於等於目標節點的轉動角度,並且所有節點中,父節點的轉動角度小於等於其子節點的轉動角度。
例如:目標節點為頭部節點,第二預設閾值為90度,則在人體模型對目標人體進行模擬時,當根據追蹤器的角度訊息確定的需要轉動的目標角度大於90度時,控制人體模型按照90度轉動頭部,可選地,可以控制頸部按同一方向轉動70度,控制脊柱按同一方向轉動50度。如果根據追蹤器的角度訊息確定的需要轉動的目標角度為60度時,控制人體模型按照60度轉動頭部,可選地,可以控制頸部按同一方向轉動30度,控制脊柱按同一方向轉動15度。
可選地,追蹤器集合至少包括頭部追蹤器,獲取目標人 體的追蹤器集合中所有追蹤器的位置訊息包括:獲取頭部追蹤器的頭部位置訊息;根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動包括:根據頭部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲和身體移動。
在本申請實施例中,追蹤器集合中至少包括頭部追蹤器,根據頭部追蹤器的位置訊息,控制人體模型對目標人體的動作進行模擬,其中,人體模型可以對目標人體的頭部轉動、身體彎曲和身體移動進行模擬。
可選地,在根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動之前,方法包括:將人體模型的左手節點和右手節點合併為手部節點;和/或將人體模型的左腿節點和右腿節點合併為腿部節點,其中,合併得到的手部節點和腿部節點為人體模型頭部節點的父節點。
作為本申請實施例的一種可選的實施方式,獲取頭部追蹤器的位置訊息,並根據該位置訊息控制人體模型對目標人體的動作進行模擬之前,可以將人體模型的節點進行簡化,並以頭部節點作為目標節點,控制頭部節點和頭部節點的父節點進行移動,以使人體模型對目標人體的動作進行模擬。具體地,可以將左手節點和右手節點合併為手部節點,將左腿節點和右腿節點合併為腿部節點,將合併得到的手部節點和/或腿部節點作為頭部節點的父節點,在頭部節點移動時,控制手部節點和/或腿部節點進行相應的移動。
以追蹤器集合包括頭部追蹤器和手部追蹤器為例,控制人體模型模擬目標人體時,透過頭部節點模擬目標人體的頭部及身體動作,透過手部節點模擬目標人體的雙手和雙臂動作,第3圖所示的人體骨架可以拆分為第5圖和第6圖所示的兩個部分,其 中,第5圖示出了頭部、身體、雙腿的骨架部分,第6圖示出了雙手和雙臂的骨架部分,如第7圖所示,可以對第6圖所示的骨架部分進行簡化。將左腿骨與右腿骨進行合併,以左腿骨和右腿骨的中點作為合併後的腿骨所在的位置,將左腳與右腳進行合併,以左腳和右腳的中點作為合併後的腳所在的位置,合併得到的腿骨與腳作為頭部的父節點。
可選地,追蹤器集合至少包括頭部追蹤器和手部追蹤器,獲取目標人體的追蹤器集合中所有追蹤器的位置訊息包括:獲取頭部追蹤器的頭部位置訊息和手部追蹤器的手部位置訊息;根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動包括:根據頭部位置訊息和手部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲和手臂旋轉。
作為本申請實施例的一種可選的實施方式,追蹤器集合包括頭部追蹤器和手部追蹤器時,透過頭部追蹤器獲取目標人體的頭部位置訊息,透過手部追蹤器獲取目標人體的手部位置訊息,根據頭部位置訊息對目標人體的頭部及身體動作進行模擬,根據手部位置訊息對目標人體的手部及手臂動作進行模擬。
可選地,追蹤器集合至少包括頭部追蹤器、手部追蹤器和腳部追蹤器,獲取目標人體的追蹤器集合中所有追蹤器的位置訊息包括:獲取頭部追蹤器的頭部位置訊息、手部追蹤器的手部位置訊息和腳部追蹤器的腳部位置訊息;根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動包括:根據頭部位置訊息、手部位置訊息和腳部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲、手臂旋轉、腿部移動、腿部彎曲和腿部旋轉。
作為本申請實施例的一種可選的實施方式,追蹤器集合包括頭部追蹤器、手部追蹤器和腳部追蹤器時,透過頭部追蹤器獲取目標人體的頭部位置訊息,透過手部追蹤器獲取目標人體的手部位置訊息,透過腳部追蹤器獲取目標人體的腳部位置訊息,根據頭部位置訊息對目標人體的頭部及身體動作進行模擬,根據手部位置訊息對目標人體的手部及手臂動作進行模擬,根據腳部位置訊息對目標人體的雙腳及雙腿動作進行模擬。
可選地,在獲取在虛擬實境中顯示的人體模型之前,方法還包括:建立具有預設身體比例的人體模型;根據追蹤器的位置訊息獲取目標人體的實際身體比例;根據實際身體比例縮放人體模型,以使人體模型的身體比例與目標人體的身體比例一致。
作為本申請實施例的一種可選的實施方式,為了提高人體模型與目標人體的相似度,建立一個與目標人體的實際身體比例一致的人體模型。具體地,先建立一個具有標準身體比例的人體模型,然後根據配置在目標人體上的追蹤器的位置訊息,獲取目標人體的實際身體比例關係,如:根據目標人體頭部追蹤器的位置訊息可以得知目標人體的身高,再根據目標人體的手部的位置訊息,得知目標人體的手臂長度。最後,按照目標人體的實際身體比例關係,對上述具有標準身體比例的人體模型進行縮放,以使人體模型的身體比例關係與目標人體的實際身體比例一致。
需要說明的是,對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是所屬技術領域具有通常知識者應該知悉,本申請並不受所描述的動作順序的限制,因為依據本申請,某些步驟可以採用其他順序或者同時進行。其次,所屬技術領域具有通常知識者也應該知悉,說明書中所描述的實施例均屬優選實施例,所涉及的動作和模組並不一定是本申 請所必須的。
透過以上的實施方式的描述,所屬技術領域具有通常知識者可以清楚地瞭解到根據上述實施例的方法可藉助軟體加必需的通用硬體平台的方式來實現,當然也可以透過硬體,但很多情况下前者是更佳的實施方式。基於這樣的理解,本申請的技術方案本質上或者說對相關技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品儲存在一個儲存介質(如ROM/RAM、磁碟、光碟)中,包括複數指令用以使得一台終端設備(可以是手機,計算機,伺服器,或者網路設備等)執行本申請各個實施例所述的方法。
根據本申請實施例,還提供了一種用於實施上述虛擬實境中人體的模擬方法的虛擬實境中人體的模擬裝置,該虛擬實境中人體的模擬裝置主要用於執行本申請實施例上述內容所提供的虛擬實境中人體的模擬方法,以下對本申請實施例所提供的虛擬實境中人體的模擬裝置做具體介紹:第8圖是根據本申請實施例的一種可選的虛擬實境中人體的模擬裝置的示意圖,如第8圖所示,該虛擬實境中人體的模擬裝置主要包括:第一獲取單元810,用於獲取在虛擬實境中顯示的人體模型,其中,人體模型用於對真實環境中的目標人體進行模擬。
虛擬實境技術是一種可以創建虛擬世界的計算機仿真系統,它利用計算機生成一種多源訊息融合的、互動式的三維動態視景的模擬環境,透過在該環境中對用戶的實體行為進行仿真使用戶沉浸到該環境中。在虛擬實境中顯示的人體模型用於對用戶的實體行為進行模擬,透過控制人體模型對用戶進行的模擬,並使人體模型模擬出的動作更加接近用戶的實體行為,從而使用 戶在虛擬實境中的互動更加真實,提高用戶體驗。
第二獲取單元820,用於獲取目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,追蹤器集合包括至少一個設置在目標人體的預定身體部分上的追蹤器。
在本申請實施例中,追蹤器配置在目標人體的預定身體部位上,在目標人體的預定身體部位做出動作時,追蹤器的位置也相應的發生變化,因此,追蹤器的位置訊息即目標人體的預定身體部位的位置訊息。如第1圖所示,當目標人體轉頭時,目標人體所佩帶的頭盔(相當於頭部追蹤器)的朝向也發生變化,而根據頭盔的朝向,即可獲取目標人體的頭部朝向;當目標人體抬高手臂時,目標人體所持的手柄(相當於手部追蹤器)的位置也會發生變化,而根據目標人體所持的手柄的位置,即可獲取目標人體的手部及手臂的位置。
控制單元830,用於根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動,以使人體模型模擬目標人體的動作。
根據逆向動力學的原理,可以透過先確定子骨骼的位置,然後反求推導出其所在的骨骼鏈上n級父骨骼的位置,從而確定整條骨骼鏈的位置。在本申請實施例中,在控制人體模型對目標人體進行模擬時,根據獲取到的追蹤器的位置訊息,確定人體模型各部位的位置訊息,進而根據逆向動力學反求推導出其他部位的位置訊息,從而確定出整個人體模型的所有部位的位置訊息,以使人體模型對目標人體的動作進行真實的模擬。
在本申請實施例中,採用獲取在虛擬實境中顯示的人體模型,其中,人體模型用於對真實環境中的目標人體進行模擬;獲取目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,追蹤器集合包括至少一個設置在目標人體的預定身體部位上的追蹤 器;根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動,以使人體模型模擬目標人體的動作,透過根據目標人體的預定身體部位上的追蹤器的位置訊息,控制虛擬實境中的人體模型進行移動,達到了控制人體模型模擬目標人體動作的目的,從而實現了根據目標人體的預定身體部位的位置訊息,控制人體模型對目標人體的動作進行模擬的技術效果,進而解决了虛擬實境中無法對人體動作進行真實模擬的技術問題。
可選地,位置訊息包括追蹤器的位置,控制單元包括:位置模組,用於將獲取到的位置訊息中的任意一個位置訊息所表示的位置作為目標位置;第一判斷模組,用於判斷人體模型的目標節點的當前位置與目標位置之間的距離是否大於第一預設閾值,其中,目標節點與目標位置對應的目標人體的預定身體部位相關聯;第一控制模組,用於在如果目標節點的當前位置與目標位置之間的距離大於第一預設閾值時,控制目標節點和目標節點的所有父節點進行移動,其中,目標節點與父節點用於模擬目標人體中一個骨骼鏈的多個骨骼。
作為本申請實施例的一種可選的實施方式,追蹤器的位置訊息包括追蹤器的位置,將追蹤器位置為作目標位置,將用於對目標人體進行模擬的人體模型的相應部位作為目標節點,則控制人體模型對目標人體進行模擬需要控制目標節點移動到目標位置。在本申請實施例中,設置一個預設閾值,如果目標節點與目標位置的距離大於該預設閾值,則需要控制目標節點移動到目標位置,在控制目標節點移動到目標位置是過程中,還要同時控制目標節點的父節點隨目標節點的移動而移動,從而達到對目標人體進行真實模擬的目的。如果目標節點與目標位置的距離小於或者等於預設閾值,則認為目標節點近似位於目標位置,無需再移 動目標節點。在本申請實施例中,目標節點為處於目標位置的目標人體的預定身體部位所對應的人體模型節點。目標節點的父節點同樣對應的目標人體身體部位,該身體部位為與目標人體的預定身體部位處於同一骨骼鏈上,且為目標人體的預定身體部位的父骨骼。
第3圖是標準人體骨架的示意圖,如第3圖所示,第3圖中每一個骨骼對應於人體模型中的一個節點,其中,頸骨和脊柱為頭骨的父骨骼,頸骨和脊柱在人體模型中對應的節點為頭骨骼所對應的節點的父節點。同樣地,胳膊和鎖骨為手的父骨骼,上腿骨和腿骨為腳的父骨骼,則胳膊和鎖骨在人體模型中對應的節點為手對應的節點的父節點,上腿骨和腿骨在人體模型中對應的節點為腳對應的節點的父節點。
可選地,第一控制模組包括:獲取子模組,用於獲取目標節點的所有父節點與目標位置的位置關係;旋轉節點子模組,用於根據位置關係選擇與目標節點相鄰的父節點作為旋轉節點;旋轉子模組,用於保持旋轉節點與旋轉節點的所有子節點的距離不變,旋轉該旋轉節點的所有子節點,以使目標節點移動到旋轉節點與目標位置的連線上;重複子模組,用於重新選擇與旋轉節點相鄰的父節點作為旋轉節點,直到目標節點的所有父節點全部選擇完畢。
作為本申請實施例的一種可選的實施方式,在目標節點與目標位置的距離大於預設閾值時,控制目標節點和目標節點的父節點進行移動,以使人體模型對目標人體進行模擬,具體的控制移動方式如第4圖所示,在第4圖中,N1,N2,N3,N4為人體模型中的4個節點,N1,N2,N3,N4對應的目標人體的身體部位處於同一骨骼鏈上,且N1,N2,N3對應的身體部位為N4對應的身體 部位的父骨骼,則N1,N2,N3為N4的父節點。在控制人體模型對目標人體進行模擬時,N4為目標節點,N4對應的目標人體的預定身體部位上配置有追蹤器,T為獲取到的追蹤器的位置,即目標位置。在控制目標節點N4和目標節點N4的所有父節點移動之前,首先獲取目標節點N4的所有父節點N1,N2,N3與目標位置T的位置關係,可選的,可以透過將父節點N1,N2,N3與目標位置T進行連線以確定其位置關係。首次移動,首先選擇與目標節點N4相鄰的父節點N3作為旋轉節點,保持旋轉節點N3與其所有子節點(節點N4)的距離不變,即保持N3N4長度不變,旋轉移動節點N4,將N4移動至節點N3和目標位置T的連線上。可選的,在旋轉移動過程中,節點N4所移動的角度為可能移動的最小角度,在上述首次移動過程中,節點N4移動的角度為a1。第二次移動,選擇當前旋轉節點N3相鄰的父節點(N2)作為新的旋轉節點,保持旋轉節點N2與其所有子節點(節點N3,N4)的距離不變,即保持N2N3、N2N4和N3N4的長度不變,旋轉移動節點N3和節點N4,將N4移動至節點N2和目標位置T的連線上,在上述第二次移動過程中,節點N3和節點N4移動的角度為a2。按上述移動方法,直到目標節點N4的所有父節點全部被選擇完畢。在第4圖中,第三次移動過程選擇目標節點N4的父節點N1作為旋轉節點,並保持節點N1,N2,N3,N4之間的距離不變,旋轉移動節點N2,N3,N4,使節點N4移動到節點N1與目標位置的連線上。至此,完成一次人體模型對目標人體動作的模擬。需要說明的是,如果在完成上述移動之後,目標節點N4與目標位置T之間的距離小於等於預設閾值,則人體模型對目標人體的模擬完畢,如果目標節點N4與目標位置T之前的距離大於預設閾值,則需要再一次控制人體模型按上述移動過程進行移動,直到目標節點N4與目標位置T之間的距離小於等於預設閾 值。
可選地,位置訊息包括追蹤器的朝向,控制單元包括:朝向模組,用於將獲取到的位置訊息中的任意一個位置訊息所表示的朝向作為目標朝向;第二判斷模組,用於判斷人體模型的目標節點的當前朝向與目標朝向之間的目標角度是否大於第二預設閾值;第二控制模組,用於在目標角度大於第二預設閾值時,控制目標節點和目標節點的所有父節點按照第一預設角度進行旋轉,其中,目標節點旋轉的角度等於第二預設閾值,目標節點的所有父節點的旋轉角度小於或者等於目標節點的旋轉角度;第三控制模組,用於在目標角度小於或者等於第二預設閾值時,控制目標節點按照目標角度進行旋轉,並控制目標節點的父節點按照第二預設角度進行旋轉,其中,第二預設角度小於或者等於目標角度。
作為本申請實施例的一種可選的實施方式,根據獲取到的追蹤器的角度,控制人體模型的身體部位進行轉動,以對目標人體進行模擬。由於目標人體身體部位的轉動角度是有限制的,在控制人體模型模擬目標人體進行轉動時,設置第二閾值,在根據獲取到的追蹤器的角度訊息確定的需要轉動的目標角度大於第二閾值時,控制目標節點與目標節點的父節點按照第一預設角度進行旋轉,可選地,控制目標節點與目標節點的父節點按照第一預設角度進行旋轉時,控制目標節點按照第二閾值進行轉動,同時控制目標節點的父節點按照小於等於第二閾值的角度進行旋轉,如果根據獲取到的追蹤器的角度訊息確定的需要轉動的目標角度小於或者等於第二閾值時,控制目標節點與目標節點的父節點按照第二預設角度進行旋轉,具體地,控制目標節點按照目標角度進行旋轉,控制目標節點的父節點按照小於等於目標角度的 旋轉角度進行旋轉。可選地,在目標節點有多個父節點時,目標節點的多個父節點轉動的角度均小於等於目標節點的轉動角度,並且所有節點中,父節點的轉動角度小於等於其子節點的轉動角度。
例如:目標節點為頭部節點,第二預設閾值為90度,則在人體模型對目標人體進行模擬時,當根據追蹤器的角度訊息確定的需要轉動的目標角度大於90度時,控制人體模型按照90度轉動頭部,可選地,可以控制頸部按同一方向轉動70度,控制脊柱按同一方向轉動50度。如果根據追蹤器的角度訊息確定的需要轉動的目標角度為60度時,控制人體模型按照60度轉動頭部,可選地,可以控制頸部按同一方向轉動30度,控制脊柱按同一方向轉動15度。
可選地,追蹤器集合至少包括頭部追蹤器,第二獲取單元包括:第一獲取模組,用於獲取頭部追蹤器的頭部位置訊息;控制單元包括:第四控制模組,用於根據頭部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲和身體移動。
在本申請實施例中,追蹤器集合中至少包括頭部追蹤器,根據頭部追蹤器的位置訊息,控制人體模型對目標人體的動作進行模擬,其中,人體模型可以對目標人體的頭部轉動、身體彎曲和身體移動進行模擬。
可選地,裝置包括:第一合併單元,用於在根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動之前,將人體模型的左手節點和右手節點合併為手部節點;和/或第二合併單元,用於在根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動之前,將人體模型的左腿節點和右腿節點合併為腿部節點,其中,合併得到的手部節點和腿部節點為人體模型頭部節點的父節 點。
作為本申請實施例的一種可選的實施方式,獲取頭部追蹤器的位置訊息,並根據該位置訊息控制人體模型對目標人體的動作進行模擬之前,可以將人體模型的節點進行簡化,並以頭部節點作為目標節點,控制頭部節點和頭部節點的父節點進行移動,以使人體模型對目標人體的動作進行模擬。具體地,可以將左手節點和右手節點合併為手部節點,將左腿節點和右腿節點合併為腿部節點,將合併得到的手部節點和/或腿部節點作為頭部節點的父節點,在頭部節點移動時,控制手部節點和/或腿部節點進行相應的移動。
以追蹤器集合包括頭部追蹤器和手部追蹤器為例,控制人體模型模擬目標人體時,透過頭部節點模擬目標人體的頭部及身體動作,透過手部節點模擬目標人體的雙手和雙臂動作,第3圖所示的人體骨架可以拆分為第5圖和第6圖所示的兩個部分,其中,第5圖示出了頭部、身體、雙腿的骨架部分,第6圖示出了雙手和雙臂的骨架部分,如第7圖所示,可以對第6圖所示的骨架部分進行簡化。將左腿骨與右腿骨進行合併,以左腿骨和右腿骨的中點作為合併後腿骨,將左腳與右腳進行合併,以左腳和右腳的中點作為合併後的腳,合併得到的腿骨與腳作為頭部的父節點。
可選地,追蹤器集合至少包括頭部追蹤器和手部追蹤器,第二獲取單元包括:第二獲取模組,用於獲取頭部追蹤器的頭部位置訊息和手部追蹤器的手部位置訊息;控制單元包括:第五控制模組,用於根據頭部位置訊息和手部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲和手臂旋轉。
作為本申請實施例的一種可選的實施方式,追蹤器集合 包括頭部追蹤器和手部追蹤器時,透過頭部追蹤器獲取目標人體的頭部位置訊息,透過手部追蹤器獲取目標人體的手部位置訊息,根據頭部位置訊息對目標人體的頭部及身體動作進行模擬,根據手部位置訊息對目標人體的手部及手臂動作進行模擬。
可選地,追蹤器集合至少包括頭部追蹤器、手部追蹤器和腳部追蹤器,第二獲取單元包括:第三獲取模組,用於獲取頭部追蹤器的頭部位置訊息、手部追蹤器的手部位置訊息和腳部追蹤器的腳部位置訊息;控制單元包括:第六控制模組,用於根據頭部位置訊息、手部位置訊息和腳部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲、手臂旋轉、腿部移動、腿部彎曲和腿部旋轉。
作為本申請實施例的一種可選的實施方式,追蹤器集合包括頭部追蹤器、手部追蹤器和腳部追蹤器時,透過頭部追蹤器獲取目標人體的頭部位置訊息,透過手部追蹤器獲取目標人體的手部位置訊息,透過腳部追蹤器獲取目標人體的腳部位置訊息,根據頭部位置訊息對目標人體的頭部及身體動作進行模擬,根據手部位置訊息對目標人體的手部及手臂動作進行模擬,根據腳部位置訊息對目標人體的雙腳及雙腿動作進行模擬。
可選地,裝置還包括:建立單元,用於在獲取在虛擬實境中顯示的人體模型之前,建立具有預設身體比例的人體模型;第三獲取單元,用於根據追蹤器的位置訊息獲取目標人體的實際身體比例;縮放單元,用於根據實際身體比例縮放人體模型,以使人體模型的身體比例與目標人體的身體比例一致。
作為本申請實施例的一種可選的實施方式,為了提高人體模型與目標人體的相似度,建立一個與目標人體的實際身體比例一致的人體模型。具體地,先建立一個具有標準身體比例的人 體模型,然後根據配置在目標人體上的追蹤器的位置訊息,獲取目標人體的實際身體比例關係,如:根據目標人體頭部追蹤器的位置訊息可以得知目標人體的身高,再根據目標人體的手部的位置訊息,得知目標人體的手臂長度。最後,按照目標人體的實際身體比例關係,對上述具有標準身體比例的人體模型進行縮放,以使人體模型的身體比例關係與目標人體的實際身體比例一致。
根據本申請實施例,還提供了一種電子裝置,包括儲存器和處理器,所述儲存器中儲存有計算機程式,所述處理器被設置為透過所述計算機程式執行上述的方法。
根據本申請實施例,還提供了一種用於實施上述虛擬實境中人體的模擬方法的終端,該終端可以作為上述電子裝置,如第9圖所示,該終端主要包括處理器901、顯示器902和網路連接埠903,其中:網路連接埠903主要用於與追蹤器進行網路通訊,以獲取追蹤器的位置訊息。
顯示器902主要用於顯示用於模擬目標人體的人體模型。
處理器901主要用於執行如下操作:獲取在虛擬實境中顯示的人體模型,其中,人體模型用於對真實環境中的目標人體進行模擬;獲取目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,追蹤器集合包括至少一個設置在目標人體的預定身體部分上的追蹤器;根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動,以使人體模型模擬目標人體的動作。
處理器901還用於將獲取到的位置訊息中的任意一個位置訊息所表示的位置作為目標位置;判斷人體模型的目標節點的 當前位置與目標位置之間的距離是否大於第一預設閾值,其中,目標節點與目標位置對應的目標人體的預定身體部位相關聯;如果目標節點的當前位置與目標位置之間的距離大於第一預設閾值,則控制目標節點和目標節點的所有父節點進行移動,其中,目標節點與父節點用於模擬目標人體中一個骨骼鏈的多個骨骼。
處理器901還用於獲取目標節點的所有父節點與目標位置的位置關係;根據位置關係選擇與目標節點相鄰的父節點作為旋轉節點;保持旋轉節點與旋轉節點的所有子節點的距離不變,旋轉該旋轉節點的所有子節點,以使目標節點移動到旋轉節點與目標位置的連線上;重新選擇與旋轉節點相鄰的父節點作為旋轉節點,直到目標節點的所有父節點全部選擇完畢。
處理器901還用於將獲取到的位置訊息中的任意一個位置訊息所表示的朝向作為目標朝向;判斷人體模型的目標節點的當前朝向與目標朝向之間的目標角度是否大於第二預設閾值;如果目標角度大於第二預設閾值,則控制目標節點和目標節點的所有父節點按照第一預設角度進行旋轉,其中,目標節點旋轉的角度等於第二預設閾值,目標節點的所有父節點的旋轉角度小於或者等於目標節點的旋轉角度;如果目標角度小於或者等於第二預設閾值,則控制目標節點按照目標角度進行旋轉,並控制目標節點的父節點按照第二預設角度進行旋轉,其中,第二預設角度小於或者等於目標角度。
處理器901還用於獲取頭部追蹤器的頭部位置訊息;根據頭部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲和身體移動。
處理器901還用於將人體模型的左手節點和右手節點合併為手部節點;和/或將人體模型的左腿節點和右腿節點合併為腿 部節點,其中,合併得到的手部節點和腿部節點為人體模型頭部節點的父節點。
處理器901還用於獲取頭部追蹤器的頭部位置訊息和手部追蹤器的手部位置訊息;根據頭部位置訊息和手部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲和手臂旋轉。
處理器901還用於獲取頭部追蹤器的頭部位置訊息、手部追蹤器的手部位置訊息和腳部追蹤器的腳部位置訊息;根據頭部位置訊息、手部位置訊息和腳部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲、手臂旋轉、腿部移動、腿部彎曲和腿部旋轉。
處理器901還用於建立具有預設身體比例的人體模型;根據追蹤器的位置訊息獲取目標人體的實際身體比例;根據實際身體比例縮放人體模型,以使人體模型的身體比例與目標人體的身體比例一致。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
本申請的實施例還提供了一種儲存介質。所述儲存介質中儲存有計算機程式,其中,所述計算機程式被設置為運行時執行上述的方法。
可選地,在本實施例中,上述儲存介質可以用於儲存本申請實施例的虛擬實境中人體的模擬方法的程式碼。
可選地,在本實施例中,上述儲存介質可以位於行動通訊網路、廣域網、都會網或區域網路的網路中的多個網路設備中的至少一個網路設備。
可選地,在本實施例中,儲存介質被設置為儲存用於執 行以下步驟的程式碼:S1,獲取在虛擬實境中顯示的人體模型,其中,人體模型用於對真實環境中的目標人體進行模擬;S2,獲取目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,追蹤器集合包括至少一個設置在目標人體的預定身體部分上的追蹤器;S3,根據獲取到的位置訊息控制虛擬實境中的人體模型進行移動,以使人體模型模擬目標人體的動作。
可選地,在本實施例中,上述儲存介質可以包括但不限於:隨身碟、唯讀記憶體(ROM,Read-Only Memory)、隨機存取記憶體(RAM,Random Access Memory)、可攜式硬碟、磁碟或者光碟等各種可以儲存程式碼的介質。
可選地,在本實施例中,處理器根據儲存介質中已儲存的程式碼執行將獲取到的位置訊息中的任意一個位置訊息所表示的位置作為目標位置;判斷人體模型的目標節點的當前位置與目標位置之間的距離是否大於第一預設閾值,其中,目標節點與目標位置對應的目標人體的預定身體部位相關聯;如果目標節點的當前位置與目標位置之間的距離大於第一預設閾值,則控制目標節點和目標節點的所有父節點進行移動,其中,目標節點與父節點用於模擬目標人體中一個骨骼鏈的多個骨骼。
可選地,在本實施例中,處理器根據儲存介質中已儲存的程式碼執行獲取目標節點的所有父節點與目標位置的位置關係;根據位置關係選擇與目標節點相鄰的父節點作為旋轉節點;保持旋轉節點與旋轉節點的所有子節點的距離不變,旋轉節點的所有子節點,以使目標節點移動到旋轉節點與目標位置的連線上;重新選擇與旋轉節點相鄰的父節點作為旋轉節點,直到目標 節點的所有父節點全部選擇完畢。
可選地,在本實施例中,處理器根據儲存介質中已儲存的程式碼執行將獲取到的位置訊息中的任意一個位置訊息所表示的朝向作為目標朝向;判斷人體模型的目標節點的當前朝向與目標朝向之間的目標角度是否大於第二預設閾值;如果目標角度大於第二預設閾值,則控制目標節點和目標節點的所有父節點按照第一預設角度進行旋轉,其中,目標節點旋轉的角度等於第二預設閾值,目標節點的所有父節點的旋轉角度小於或者等於目標節點的旋轉角度;如果目標角度小於或者等於第二預設閾值,則控制目標節點按照目標角度進行旋轉,並控制目標節點的父節點按照第二預設角度進行旋轉,其中,第二預設角度小於或者等於目標角度。
可選地,在本實施例中,處理器根據儲存介質中已儲存的程式碼執行獲取頭部追蹤器的頭部位置訊息;根據頭部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲和身體移動。
可選地,在本實施例中,處理器根據儲存介質中已儲存的程式碼執行將人體模型的左手節點和右手節點合併為手部節點;和/或將人體模型的左腿節點和右腿節點合併為腿部節點,其中,合併得到的手部節點和腿部節點為人體模型頭部節點的父節點。
可選地,在本實施例中,處理器根據儲存介質中已儲存的程式碼執行獲取頭部追蹤器的頭部位置訊息和手部追蹤器的手部位置訊息;根據頭部位置訊息和手部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲和手臂旋轉。
可選地,在本實施例中,處理器根據儲存介質中已儲存的程式碼執行獲取頭部追蹤器的頭部位置訊息、手部追蹤器的手部位置訊息和腳部追蹤器的腳部位置訊息;根據頭部位置訊息、手部位置訊息和腳部位置訊息控制人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲、手臂旋轉、腿部移動、腿部彎曲和腿部旋轉。
可選地,在本實施例中,處理器根據儲存介質中已儲存的程式碼執行建立具有預設身體比例的人體模型;根據追蹤器的位置訊息獲取目標人體的實際身體比例;根據實際身體比例縮放人體模型,以使人體模型的身體比例與目標人體的身體比例一致。
上述實施例中的集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在上述計算機可讀取的儲存介質中。基於這樣的理解,本申請的技術方案本質上或者說對相關技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品儲存在儲存介質中,包括複數指令用以使得一台或多台計算機設備(可為個人電腦、伺服器或者網路設備等)執行本申請各個實施例所述方法的全部或部分步驟。
在本申請的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的客戶端,可透過其它的方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略, 或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是透過一些連接埠,單元或模組的間接耦合或通訊連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
以上所述僅是本申請的優選實施方式,應當指出,對於所屬技術領域具有通常知識者來說,在不脫離本申請原理的前提下,還可以做出各種改進和潤飾,這些改進和潤飾也應視為本申請的保護範圍。

Claims (16)

  1. 一種虛擬實境中人體的模擬方法,包括:獲取在虛擬實境中顯示的人體模型,其中,所述人體模型用於對真實環境中的目標人體進行模擬;獲取所述目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,所述追蹤器集合包括至少一個設置在所述目標人體的預定身體部分上的追蹤器;以及根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動,以使所述人體模型模擬所述目標人體的動作,其中所述位置訊息包括所述追蹤器的位置,根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動包括:將獲取到的位置訊息中的任意一個位置訊息所表示的位置作為目標位置;判斷所述人體模型的目標節點的當前位置與所述目標位置之間的距離是否大於第一預設閾值,其中,所述目標節點與所述目標位置對應的所述目標人體的預定身體部位相關聯;以及如果所述目標節點的當前位置與所述目標位置之間的距離大於所述第一預設閾值,則控制所述目標節點和所述目標節點的所有父節點進行移動,其中,所述目標節點與所述父節點用於模擬所述目標人體中一個骨骼鏈的多個骨骼,其中控制所述目標節點和所述目標節點的所有父節點進行移動包括:獲取所述目標節點的所有父節點與所述目標位置的位置關係;根據所述位置關係選擇與所述目標節點相鄰的父節點作 為旋轉節點;保持所述旋轉節點與所述旋轉節點的所有子節點的距離不變,旋轉所述旋轉節點的所有子節點,以使所述目標節點移動到所述旋轉節點與所述目標位置的連線上;以及重新選擇與所述旋轉節點相鄰的父節點作為所述旋轉節點,直到所述目標節點的所有父節點全部選擇完畢。
  2. 根據申請專利範圍第1項所述之方法,其中所述位置訊息包括所述追蹤器的朝向,根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動包括:將獲取到的位置訊息中的任意一個位置訊息所表示的朝向作為目標朝向;判斷所述人體模型的目標節點的當前朝向與所述目標朝向之間的目標角度是否大於第二預設閾值;如果所述目標角度大於所述第二預設閾值,則控制所述目標節點和所述目標節點的所有父節點按照第一預設角度進行旋轉,其中,所述目標節點旋轉的角度等於所述第二預設閾值,所述目標節點的所有父節點的旋轉角度小於或者等於所述目標節點的旋轉角度;以及如果所述目標角度小於或者等於第二預設閾值,則控制所述目標節點按照所述目標角度進行旋轉,並控制所述目標節點的父節點按照第二預設角度進行旋轉,其中,所述第二預設角度小於或者等於所述目標角度。
  3. 根據申請專利範圍第1至2項任一項所述之方法,其中所述追蹤器集合至少包括頭部追蹤器,獲取所述目標人體的追蹤器集合中所有追蹤器的位置訊息包括:獲取所述頭部追蹤器的頭部位置訊息;以及 根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動包括:根據所述頭部位置訊息控制所述人體模型進行以下至少一個動作:頭部轉動、身體彎曲和身體移動。
  4. 根據申請專利範圍第3項所述之方法,其中在根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動之前,所述方法包括:將所述人體模型的左手節點和右手節點合併為手部節點;和/或將所述人體模型的左腿節點和右腿節點合併為腿部節點,其中,合併得到的所述手部節點和所述腿部節點為所述人體模型頭部節點的父節點。
  5. 根據申請專利範圍第1至2項任一項所述之方法,其中所述追蹤器集合至少包括頭部追蹤器和手部追蹤器,獲取所述目標人體的追蹤器集合中所有追蹤器的位置訊息包括:獲取所述頭部追蹤器的頭部位置訊息和所述手部追蹤器的手部位置訊息;以及根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動包括:根據所述頭部位置訊息和所述手部位置訊息控制所述人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲和手臂旋轉。
  6. 根據申請專利範圍第1至2項任一項所述之方法,其中所述追蹤器集合至少包括頭部追蹤器、手部追蹤器和腳部追蹤器,獲取所述目標人體的追蹤器集合中所有追蹤器的位置訊息包括:獲取所述頭部追蹤器的頭部位置訊息、所述手部追蹤器的手部位置訊息和所述腳部追蹤器的腳部位置訊息;以及根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行 移動包括:根據所述頭部位置訊息、所述手部位置訊息和所述腳部位置訊息控制所述人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲、手臂旋轉、腿部移動、腿部彎曲和腿部旋轉。
  7. 根據申請專利範圍第1項所述之方法,其中在獲取在虛擬實境中顯示的人體模型之前,所述方法還包括:建立具有預設身體比例的人體模型;根據所述追蹤器的位置訊息獲取所述目標人體的實際身體比例;根據所述實際身體比例縮放所述人體模型,以使所述人體模型的身體比例與所述目標人體的身體比例一致。
  8. 一種虛擬實境中人體的模擬裝置,包括:第一獲取單元,用於獲取在虛擬實境中顯示的人體模型,其中,所述人體模型用於對真實環境中的目標人體進行模擬;第二獲取單元,用於獲取所述目標人體的追蹤器集合中所有追蹤器的位置訊息,其中,所述追蹤器集合包括至少一個設置在所述目標人體的預定身體部分上的追蹤器;以及控制單元,用於根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動,以使所述人體模型模擬所述目標人體的動作,其中所述位置訊息包括所述追蹤器的位置,所述控制單元包括:位置模組,用於將獲取到的位置訊息中的任意一個位置訊息所表示的位置作為目標位置;第一判斷模組,用於判斷所述人體模型的目標節點的當前位置與所述目標位置之間的距離是否大於第一預設閾值,其 中,所述目標節點與所述目標位置對應的所述目標人體的預定身體部位相關聯;以及第一控制模組,用於在如果所述目標節點的當前位置與所述目標位置之間的距離大於所述第一預設閾值時,控制所述目標節點和所述目標節點的所有父節點進行移動,其中,所述目標節點與所述父節點用於模擬所述目標人體中一個骨骼鏈的多個骨骼,其中所述第一控制模組包括:獲取子模組,用於獲取所述目標節點的所有父節點與所述目標位置的位置關係;旋轉節點子模組,用於根據所述位置關係選擇與所述目標節點相鄰的父節點作為旋轉節點;旋轉子模組,用於保持所述旋轉節點與所述旋轉節點的所有子節點的距離不變,旋轉所述旋轉節點的所有子節點,以使所述目標節點移動到所述旋轉節點與所述目標位置的連線上;以及重複子模組,用於重新選擇與所述旋轉節點相鄰的父節點作為所述旋轉節點,直到所述目標節點的所有父節點全部選擇完畢。
  9. 根據申請專利範圍第8項所述之裝置,其中所述位置訊息包括所述追蹤器的朝向,所述控制單元包括:朝向模組,用於將獲取到的位置訊息中的任意一個位置訊息所表示的朝向作為目標朝向;第二判斷模組,用於判斷所述人體模型的目標節點的當前朝向與所述目標朝向之間的目標角度是否大於第二預設閾值;第二控制模組,用於在所述目標角度大於所述第二預設閾值 時,控制所述目標節點和所述目標節點的所有父節點按照第一預設角度進行旋轉,其中,所述目標節點旋轉的角度等於所述第二預設閾值,所述目標節點的所有父節點的旋轉角度小於或者等於所述目標節點的旋轉角度;以及第三控制模組,用於在所述目標角度小於或者等於第二預設閾值時,控制所述目標節點按照所述目標角度進行旋轉,並控制所述目標節點的父節點按照第二預設角度進行旋轉,其中,所述第二預設角度小於或者等於所述目標角度。
  10. 根據申請專利範圍第8至9項任一項所述之裝置,其中所述追蹤器集合至少包括頭部追蹤器,所述第二獲取單元包括:第一獲取模組,用於獲取所述頭部追蹤器的頭部位置訊息;以及所述控制單元包括:第四控制模組,用於根據所述頭部位置訊息控制所述人體模型進行以下至少一個動作:頭部轉動、身體彎曲和身體移動。
  11. 根據申請專利範圍第8項所述之裝置,更包括:第一合併單元,用於在根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動之前,將所述人體模型的左手節點和右手節點合併為手部節點;和/或第二合併單元,用於在根據獲取到的位置訊息控制虛擬實境中的所述人體模型進行移動之前,將所述人體模型的左腿節點和右腿節點合併為腿部節點,其中,合併得到的所述手部節點和所述腿部節點為所述人體模型頭部節點的父節點。
  12. 根據申請專利範圍第8至9項任一項所述之裝置,其中所述追蹤器集合至少包括頭部追蹤器和手部追蹤器,所述第二獲取單元包括:第二獲取模組,用於獲取所述頭部 追蹤器的頭部位置訊息和所述手部追蹤器的手部位置訊息;以及所述控制單元包括:第五控制模組,用於根據所述頭部位置訊息和所述手部位置訊息控制所述人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲和手臂旋轉。
  13. 根據申請專利範圍第8至9項任一項所述之裝置,其中所述追蹤器集合至少包括頭部追蹤器、手部追蹤器和腳部追蹤器,所述第二獲取單元包括:第三獲取模組,用於獲取所述頭部追蹤器的頭部位置訊息、所述手部追蹤器的手部位置訊息和所述腳部追蹤器的腳部位置訊息;以及所述控制單元包括:第六控制模組,用於根據所述頭部位置訊息、所述手部位置訊息和所述腳部位置訊息控制所述人體模型進行以下至少一個動作:頭部轉動、身體彎曲、身體移動、手臂移動、手臂彎曲、手臂旋轉、腿部移動、腿部彎曲和腿部旋轉。
  14. 根據申請專利範圍第8項所述之裝置,更包括:建立單元,用於在獲取在虛擬實境中顯示的人體模型之前,建立具有預設身體比例的人體模型;第三獲取單元,用於根據所述追蹤器的位置訊息獲取所述目標人體的實際身體比例;以及縮放單元,用於根據所述實際身體比例縮放所述人體模型,以使所述人體模型的身體比例與所述目標人體的身體比例一致。
  15. 一種儲存介質,所述儲存介質中儲存有計算機程式,其中,所述計算機程式被設置為運行時執行申請專利範圍第1至7項任一項中所述的方法。
  16. 一種電子裝置,包括儲存器和處理器,所述儲存器中儲存有計算機程式,所述處理器被設置為透過所述計算機程式執行 申請專利範圍第1至7項任一項中所述的方法。
TW107109892A 2017-03-31 2018-03-22 虛擬實境中人體的模擬方法和裝置、儲存介質和電子裝置 TWI657263B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
??201710209562.0 2017-03-31
CN201710209562.0A CN107122043B (zh) 2017-03-31 2017-03-31 虚拟现实中人体的模拟方法和装置

Publications (2)

Publication Number Publication Date
TW201830090A TW201830090A (zh) 2018-08-16
TWI657263B true TWI657263B (zh) 2019-04-21

Family

ID=59724585

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107109892A TWI657263B (zh) 2017-03-31 2018-03-22 虛擬實境中人體的模擬方法和裝置、儲存介質和電子裝置

Country Status (3)

Country Link
CN (1) CN107122043B (zh)
TW (1) TWI657263B (zh)
WO (1) WO2018177075A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122043B (zh) * 2017-03-31 2019-01-08 腾讯科技(深圳)有限公司 虚拟现实中人体的模拟方法和装置
CN109542225B (zh) * 2018-11-21 2022-01-25 英华达(上海)科技有限公司 重定向虚拟实境空间系统及其方法
CN111190826B (zh) * 2019-12-30 2024-01-23 上海曼恒数字技术股份有限公司 一种虚拟现实沉浸式追踪环境的测试方法、装置、存储介质及设备
CN112379771A (zh) * 2020-10-10 2021-02-19 杭州翔毅科技有限公司 基于虚拟现实的实时交互方法、装置、设备及存储介质
CN116977501A (zh) * 2022-04-22 2023-10-31 北京字跳网络技术有限公司 虚拟形象的控制方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101579238A (zh) * 2009-06-15 2009-11-18 吴健康 人体运动捕获三维再现系统及其方法
CN103488291A (zh) * 2013-09-09 2014-01-01 北京诺亦腾科技有限公司 一种基于运动捕捉的浸入式虚拟现实系统
CN106484110A (zh) * 2016-09-30 2017-03-08 珠海市魅族科技有限公司 一种模拟躯体动作的方法及虚拟现实设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9536338B2 (en) * 2012-07-31 2017-01-03 Microsoft Technology Licensing, Llc Animating objects using the human body
CN203405772U (zh) * 2013-09-09 2014-01-22 北京诺亦腾科技有限公司 一种基于运动捕捉的浸入式虚拟现实系统
CN105225262B (zh) * 2015-10-23 2018-09-21 深圳华侨城文化旅游科技股份有限公司 一种动态捕捉3d数据处理方法
CN106251387A (zh) * 2016-07-29 2016-12-21 武汉光之谷文化科技股份有限公司 一种基于动作捕捉的成像系统
CN107122043B (zh) * 2017-03-31 2019-01-08 腾讯科技(深圳)有限公司 虚拟现实中人体的模拟方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101579238A (zh) * 2009-06-15 2009-11-18 吴健康 人体运动捕获三维再现系统及其方法
CN103488291A (zh) * 2013-09-09 2014-01-01 北京诺亦腾科技有限公司 一种基于运动捕捉的浸入式虚拟现实系统
CN106484110A (zh) * 2016-09-30 2017-03-08 珠海市魅族科技有限公司 一种模拟躯体动作的方法及虚拟现实设备

Also Published As

Publication number Publication date
WO2018177075A1 (zh) 2018-10-04
CN107122043A (zh) 2017-09-01
TW201830090A (zh) 2018-08-16
CN107122043B (zh) 2019-01-08

Similar Documents

Publication Publication Date Title
TWI657263B (zh) 虛擬實境中人體的模擬方法和裝置、儲存介質和電子裝置
Balakrishnan et al. Interaction of Spatial Computing In Augmented Reality
Latoschik et al. FakeMi: A fake mirror system for avatar embodiment studies
KR102103939B1 (ko) 머리 회전을 갖는 아바타 얼굴 표정 애니메이션
TWI752502B (zh) 一種分鏡效果的實現方法、電子設備及電腦可讀儲存介質
Marks et al. Evaluation of game engines for simulated surgical training
US20140078144A1 (en) Systems and methods for avatar creation
US20230334744A1 (en) Method and apparatus for generating walk animation of virtual role, device and storage medium
Kiourt et al. THE ‘SYNTHESIS’VIRTUAL MUSEUM
WO2022051460A1 (en) 3d asset generation from 2d images
Zhang et al. Exploring virtual environments by visually impaired using a mixed reality cane without visual feedback
Cadi Yazli et al. Modeling craftspeople for cultural heritage: A case study
US7388580B2 (en) Generating eyes for a character in a virtual environment
Hughes et al. Augmenting museum experiences with mixed reality
US20230120883A1 (en) Inferred skeletal structure for practical 3d assets
Cavallaro et al. Virtual Tours to Promote the Remote Customer Experience
Skulimowski et al. Design and optimisation methods for interactive mobile VR visualisation
Pranith et al. Real‐Time Applications of Virtual Reality
CN113041616A (zh) 游戏中控制跳字显示的方法、装置、电子设备及存储介质
Montusiewicz et al. The concept of low-cost interactive and gamified virtual exposition
Gobira et al. Expansion of uses and applications of virtual reality
Lin et al. Space connection: a new 3D tele-immersion platform for web-based gesture-collaborative games and services
US11769297B2 (en) Simulation of rigid bodies
EP4280226A1 (en) Remote reproduction method, system, and apparatus, device, medium, and program product
Wang et al. Automatic generation of game content customized by players: Generate 3D game character based on pictures