本發明屬于虛擬現實技術領域,具體涉及一種3D模型加載方法及其裝置。
背景技術:
虛擬現實技術綜合了計算機圖形技術、計算機仿真技術、傳感器技術、顯示技術等多種科學技術,它在多維信息空間上創建一個虛擬信息環境,能使用戶具有身臨其境的沉浸感,具有與環境完善的交互作用能力,并有助于啟發構思。
由于虛擬現實技術的上述優勢,其改進了現有音視頻設備的用戶體驗,它已涉及更廣的領域,如電視會議、網絡技術和分布計算技術,并向分布式虛擬現實發展。虛擬現實技術已成為新產品設計開發的重要手段。
但是在實現本發明過程中,發明人發現現有技術中至少存在如下問題:虛擬現實技術的模型建立后,由于模型的數據量龐大,模型的加載速度通常較慢,用戶需要等待很長時間方能觀看到顯示的模型。
因此,如何優化3D模型的加載,成為現有技術中亟需解決的技術問題。
技術實現要素:
本發明實施例解決的技術問題之一在于提供一種3D模型加載方法及其裝置,其能夠優化3D模型的加載,改善3D模型的顯示效果。
本發明實施例提供一種3D模型加載方法,包括:
將所述3D模型分割為至少一子數據塊;
按照預設規則顯示全部子數據塊,完成所述3D模型的加載。
在本發明一具體實施例中,所述將所述3D模型分割為至少一子數據塊為:
將所述3D模型分割為至少一區域,每個區域為一子數據塊。
在本發明一具體實施例中,所述預設規則為:
與3D平面焦點的距離越短的區域,越優先進行顯示;或者,
與視線相交次數越多的區域,越優先進行顯示;或者,
與視線相交的時間點越早的區域,越優先進行顯示。
在本發明一具體實施例中,所述將所述3D模型分割為至少一子數據塊為:
將所述3D模型分割為至少一層圖像,每層圖像為一子數據塊。
在本發明一具體實施例中,所述按照預設規則顯示全部子數據塊,完成所述3D模型的加載為:
逐層加載所述圖像,逐漸增加所述3D模型的顯示精度,完成所述3D模型的加載。
對應于上述方法,本發明另一實施例提供一種3D模型加載裝置,包括:
分割模塊,用于將所述3D模型分割為至少一子數據塊;
加載模塊,用于按照預設規則顯示全部子數據塊,完成所述3D模型的加載。
在本發明一具體實施例中,所述分割模塊具體用于將所述3D模型分割為至少一區域,每個區域為一子數據塊。
在本發明一具體實施例中,所述預設規則為:
與3D平面焦點的距離越短的區域,越優先進行顯示;或者,
與視線相交次數越多的區域,越優先進行顯示;或者,
與視線相交的時間點越早的區域,越優先進行顯示。
在本發明一具體實施例中,所述分割模塊具體用于將所述3D模型分割為至少一層圖像,每層圖像為一子數據塊。
在本發明一具體實施例中,所述加載模塊具體用于逐層加載所述圖像,逐漸增加所述3D模型的顯示精度,完成所述3D模型的加載。
本發明實施例將所述3D模型分割為至少一子數據塊,按照預設規則顯示全部子數據塊,完成所述3D模型的加載。因此,本發明實施例通過分割的子數據塊,逐漸完成3D模型的加載,能夠優化3D模型的加載,改善3D模型的顯示效果。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明中記載的一些實施例,對于本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖。
圖1是本發明提供的一種3D模型加載方法一實施例流程圖;
圖2是本發明提供的一種3D模型加載方法另一實施例流程圖;
圖3是本發明提供的一種3D模型加載方法再一實施例流程圖;
圖4是本發明提供的一種3D模型加載方法再一實施例流程圖;
圖5是本發明提供的一種3D模型加載裝置一實施例流程圖;
圖6是本發明一種3D模型加載的電子設備的硬件結構圖;
圖7是本發明一具體應用場景的流程圖。
具體實施方式
本發明實施例將所述3D模型分割為至少一子數據塊,按照預設規則顯示全部子數據塊,完成所述3D模型的加載。因此,本發明實施例通過分割的子數據塊,逐漸完成3D模型的加載,能夠優化3D模型的加載,改善3D模型的顯示效果。
盡管本發明能夠具有許多不同形式的實施例,但在附圖中顯示并且將在本文詳細描述的特定實施例,應該理解,這種實施例的公開應該被視為原理的示例,而非意圖把本發明限制于顯示和描述的特定實施例。在以下的描述中,相同的標號用于描述附圖的幾個示圖中的相同、相似或對應的部分。
如本文所使用,術語“一個”或“一種”被定義為一個(種)或超過一個(種)。如本文所使用,術語“多個”被定義為兩個或超過兩個。如本文所使用,術語“其他”被定義為至少再一個或更多個。如本文所使用,術語“包含”和/或“具有”被定義為包括(即,開放式語言)。如本文所使用,術語“耦合”被定義為連接,但未必是直接連接,并且未必是以機械方式連接。如本文所使用,術語“程序”或“計算機程序”或類似術語被定義為設計用于在計算機系統上執行的指令序列。“程序”或“計算機程序”可包括子程序、函數、過程、對象方法、對象實現、可執行應用、小應用程序、小服務程序、源代碼、目標代碼、共享庫/動態加載庫和/或設計用于在計算機系統上執行的其它指令序列。
在整個本文件中對“一個實施例”、“某些實施例”、“實施例”或類似術語的提及表示結合實施例描述的特定特征、結構或特性被包括在本發明的至少一個實施例中。因此,在整個本說明書的各種地方的這種詞語的出現不必全部表示相同的實施例。另外,所述特定特征、結構或特性可非限制性地在一個或多個實施例中以任何合適的方式組合。
如本文所使用,術語“或者”應該被解釋為是包括性的或者表示任何一種或任何組合。因此,“A、B或者C”表示“下面的任何一種:A;B;C;A和B;A和C;B和C;A,B和C”。僅當元件、功能、步驟或動作的組合以某種方式固有地相互排斥時,將會發生這種定義的例外。
如本文所使用,術語3D或三維旨在應用于立體三維視覺體驗。這種體驗能夠以許多方法創建,包括使用針對每只眼睛不同地偏振或針對每只眼睛濾色的圖像。具體地講,在本發明的上下文內,通過分開的左眼和右眼圖像的產生和顯示來創建三維視覺體驗。在呈現分開的用于每只眼睛的圖像的顯示裝置上觀看這種圖像,其中主動技術(諸如,由每只眼睛觀看的圖像的交替的同步的阻擋和通過)用于創建左眼和右眼圖像的分離,或者被動技術(諸如,偏振或有色眼鏡)用于分離左眼和右眼圖像,由此產生立體三維視覺體驗幻覺。
為了使本領域的人員更好地理解本發明中的技術方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都應當屬于本發明保護的范圍。
下面結合本發明附圖進一步說明本發明具體實現。
本發明一實施例提供一種3D模型加載方法,通常應用于計算機設備或便攜設備。
實施例一
參見圖1,所述方法包括:
S1、將所述3D模型分割為至少一子數據塊。
3D模型就是三維的、立體的模型,D是英文Dimensions的縮寫。
3D模型也可以說是用三維軟件建造的立體模型,包括各種建筑、人物、植被、機械等等,比如一個大樓的3D模型圖。3D模型也包括玩具和電腦模型領域。
3D模型的構建主要有三種:
①人工軟件構建3D模型:此種方式要求操作人員要具有豐富的專業知識,熟練使用建模軟件,而且操作復雜,周期較長,同時最終構件的3D模型真實感不強。
②三維掃描儀構建3D模型:此種方式需要價格昂貴的三維掃描儀等硬件設備。并且,三維掃描儀現今只能獲得物體的位置信息,對于物體表面的紋理特征多數仍然需要輔助大量的手工工作才能完成。整個過程成本高,周期長。
③基于圖像構建3D模型:此種方式只需要提供一組物體不同角度的序列照片,在計算機輔助下即可自動生成物體的3D模型。操作簡單,自動化程度高,成本低,真實感強。
3D模型由于數據量龐大,其顯示需要耗費大量的時間,本發明實施例將3D模型分割為至少一子數據塊,即將龐大的3D模型數據分割為較小的子數據塊。
S2、按照預設規則顯示全部子數據塊,完成所述3D模型的加載。
本發明實施例按照預設規則,將分割的較小的子數據塊全部進行顯示,用戶可以隨著較小的子數據塊的逐漸顯示,觀看到部分3D模型,直至全部子數據塊顯示,完成所述3D模型的加載,觀看到完整的3D模型。
因此,本發明實施例通過分割的子數據塊,逐漸完成3D模型的加載,能夠優化3D模型的加載,改善3D模型的顯示效果。
實施例二
本發明還提供另一實施例,參見圖2,所述步驟S1具體為:
將所述3D模型分割為至少一區域,每個區域為一子數據塊。
本發明實施例將3D模型按照不同區域進行劃分,分割成指少一個3D模型的區域,每個區域為一子數據塊。
S2、按照預設規則顯示全部子數據塊,完成所述3D模型的加載。
本發明實施例按照預設規則,將分割的3D模型的至少一區域全部進行顯示,用戶可以隨著每個區域的顯示,觀看到部分3D模型,直至全部區域的顯示,完成所述3D模型的加載,用戶觀看到整個3D模型。
因此,本發明實施例通過分割的3D模型的至少一區域,逐漸完成3D模型的加載,能夠優化3D模型的加載,改善3D模型的顯示效果。
實施例三
本發明還提供再一實施例,所述預設規則為:
與3D平面焦點的距離越短的區域,越優先進行顯示;或者,
與視線相交次數越多的區域,越優先進行顯示;或者,
與視線相交的時間點越早的區域,越優先進行顯示。
具體的,視點包括人眼或者照相機、攝像機等圖像捕獲裝置,視點投射光線至所述3D平面,與所述3D平面相交,獲得所述焦點。與3D平面焦點的距離越短的區域,越優先進行顯示,從而用戶可以優先獲得焦點所在及焦點附近的區域的3D模型圖像,進一步改善了3D模型的顯示效果。
具體的,與視線相交次數越多的區域為用戶經常觀看的3D模型的區域,優先顯示與視線相交次數越多的區域,也能夠進一步改善了3D模型的顯示效果。
具體的,與視線相交的時間點越早的區域為用戶最先觀看的3D模型的區域,優先顯示與視線相交的時間點越早的區域,也能夠進一步改善了3D模型的顯示效果。
本發明實施例按照上述預設規則顯示全部子數據塊,完成所述3D模型的加載,能夠進一步改善了3D模型的顯示效果。
實施例四
本發明還提供再一實施例,參見圖3,所述步驟S1具體為:
將所述3D模型分割為至少一層圖像,每層圖像為一子數據塊。
本發明實施例將3D模型進行分層,分割成指少一層圖像,每層圖像為一子數據塊。
S2、按照預設規則顯示全部子數據塊,完成所述3D模型的加載。
本發明實施例按照預設規則,將分層圖像全部進行顯示,用戶可以隨著每層圖像的顯示,觀看到精度增加的3D模型圖像,直至所有層的圖像進行顯示,完成所述3D模型的加載,用戶觀看到整個3D模型。
因此,本發明實施例通過分層的3D模型圖像,逐漸完成3D模型的加載,能夠優化3D模型的加載,改善3D模型的顯示效果。
實施例五
本發明還提供再一實施例,參見圖4,所述步驟S2具體為:
逐層加載所述圖像,逐漸增加所述3D模型的顯示精度,完成所述3D模型的加載。
因此,本發明實施例通過分層的3D模型圖像,逐漸增加所述3D模型的顯示精度,用戶逐漸獲得越發清晰的3D模型圖像,能夠進一步優化3D模型的加載,改善3D模型的顯示效果。
對應上述方法,本發明另一實施例提供一種3D模型加載裝置,通常應用于計算機設備或便攜設備。
實施例六
參見圖5,所述裝置包括:
分割模塊51,用于將所述3D模型分割為至少一子數據塊。
加載模塊52,用于按照預設規則逐個顯示所述子數據塊,完成所述3D模型的加載。
3D模型就是三維的、立體的模型,D是英文Dimensions的縮寫。
3D模型也可以說是用三維軟件建造的立體模型,包括各種建筑、人物、植被、機械等等,比如一個大樓的3D模型圖。3D模型也包括玩具和電腦模型領域。
3D模型的構建主要有三種:
①人工軟件構建3D模型:此種方式要求操作人員要具有豐富的專業知識,熟練使用建模軟件,而且操作復雜,周期較長,同時最終構件的3D模型真實感不強。
②三維掃描儀構建3D模型:此種方式需要價格昂貴的三維掃描儀等硬件設備。并且,三維掃描儀現今只能獲得物體的位置信息,對于物體表面的紋理特征多數仍然需要輔助大量的手工工作才能完成。整個過程成本高,周期長。
③基于圖像構建3D模型:此種方式只需要提供一組物體不同角度的序列照片,在計算機輔助下即可自動生成物體的3D模型。操作簡單,自動化程度高,成本低,真實感強。
3D模型由于數據量龐大,其顯示需要耗費大量的時間,本發明實施例將3D模型分割為至少一子數據塊,即將龐大的3D模型數據分割為較小的子數據塊。
本發明實施例按照預設規則,將分割的較小的子數據塊全部進行顯示,用戶可以隨著較小的子數據塊的逐漸顯示,觀看到部分3D模型,直至全部子數據塊顯示,完成所述3D模型的加載,觀看到完整的3D模型。
因此,本發明實施例通過分割的子數據塊,逐漸完成3D模型的加載,能夠優化3D模型的加載,改善3D模型的顯示效果。
實施例七
本發明還提供另一實施例,所述分割模塊51具體用于將所述3D模型分割為至少一區域,每個區域為一子數據塊。
本發明實施例將3D模型按照不同區域進行劃分,分割成指少一個3D模型的區域,每個區域為一子數據塊。
本發明實施例按照預設規則,將分割的3D模型的至少一區域全部進行顯示,用戶可以隨著每個區域的顯示,觀看到部分3D模型,直至全部區域的顯示,完成所述3D模型的加載,用戶觀看到整個3D模型。
因此,本發明實施例通過分割的3D模型的至少一區域,逐漸完成3D模型的加載,能夠優化3D模型的加載,改善3D模型的顯示效果。
實施例八
本發明還提供再一實施例,所述預設規則為:
與3D平面焦點的距離越短的區域,越優先進行顯示;或者,
與視線相交次數越多的區域,越優先進行顯示;或者,
與視線相交的時間點越早的區域,越優先進行顯示。
具體的,視點包括人眼或者照相機、攝像機等圖像捕獲裝置,視點投射光線至所述3D平面,與所述3D平面相交,獲得所述焦點。與3D平面焦點的距離越短的區域,越優先進行顯示,從而用戶可以優先獲得焦點所在及焦點附近的區域的3D模型圖像,進一步改善了3D模型的顯示效果。
具體的,與視線相交次數越多的區域為用戶經常觀看的3D模型的區域,優先顯示與視線相交次數越多的區域,也能夠進一步改善了3D模型的顯示效果。
具體的,與視線相交的時間點越早的區域為用戶最先觀看的3D模型的區域,優先顯示與視線相交的時間點越早的區域,也能夠進一步改善了3D模型的顯示效果。
本發明實施例按照上述預設規則顯示全部子數據塊,完成所述3D模型的加載,能夠進一步改善了3D模型的顯示效果。
實施例九
本發明還提供再一實施例,所述分割模塊51具體用于將所述3D模型分割為至少一層圖像,每層圖像為一子數據塊。
本發明實施例將3D模型進行分層,分割成指少一層圖像,每層圖像為一子數據塊。
本發明實施例按照預設規則,將分層圖像全部進行顯示,用戶可以隨著每層圖像的顯示,觀看到精度增加的3D模型圖像,直至所有層的圖像進行顯示,完成所述3D模型的加載,用戶觀看到整個3D模型。
因此,本發明實施例通過分層的3D模型圖像,逐漸完成3D模型的加載,能夠優化3D模型的加載,改善3D模型的顯示效果。
實施例十
本發明還提供再一實施例,所述加載模塊52具體用于逐層加載所述圖像,逐漸增加所述3D模型的顯示精度,完成所述3D模型的加載。
因此,本發明實施例通過分層的3D模型圖像,逐漸增加所述3D模型的顯示精度,用戶逐漸獲得越發清晰的3D模型圖像,能夠進一步優化3D模型的加載,改善3D模型的顯示效果。
實施例十一
圖6是本申請實施例提供的一種3D模型加載的電子設備的硬件結構示意圖,如圖6示,該設備包括:
一個或多個處理器610以及存儲器620,圖6中以一個處理器610為例。
執行3D模型加載的電子設備還可以包括:輸入裝置630和輸出裝置640。
處理器610、存儲器620、輸入裝置630和輸出裝置640可以通過總線或者其他方式連接,圖6中以通過總線連接為例。
存儲器620作為一種非易失性計算機可讀存儲介質,可用于存儲非易失性軟件程序、非易失性計算機可執行程序以及模塊,如本申請實施例中的3D模型加載方法對應的程序指令/模塊(例如,附圖5所示的分割模塊51、加載模塊52)。處理器610通過運行存儲在存儲器620中的非易失性軟件程序、指令以及模塊,從而執行服務器的各種功能應用以及數據處理,即實現上述方法實施例3D模型加載的方法。
存儲器620可以包括存儲程序區和存儲數據區,其中,存儲程序區可存儲操作系統、至少一個功能所需要的應用程序;存儲數據區可存儲根據3D模型加載電子設備的使用所創建的數據等。此外,存儲器620可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他非易失性固態存儲器件。在一些實施例中,存儲器620可選包括相對于處理器610遠程設置的存儲器,這些遠程存儲器可以通過網絡連接至3D模型加載的處理裝置。上述網絡的實例包括但不限于互聯網、企業內部網、局域網、移動通信網及其組合。
輸入裝置630可接收輸入的數字或字符信息,以及產生與3D模型加載電子設備的用戶設置以及功能控制有關的鍵信號輸入。輸出裝置640可包括顯示屏等顯示設備。
所述一個或者多個模塊存儲在所述存儲器620中,當被所述一個或者多個處理器610執行時,執行上述任意方法實施例中的3D模型加載的方法。
上述產品可執行本申請實施例所提供的方法,具備執行方法相應的功能模塊和有益效果。未在本實施例中詳盡描述的技術細節,可參見本申請實施例所提供的方法。
本申請實施例的電子設備以多種形式存在,包括但不限于:
(1)移動通信設備:這類設備的特點是具備移動通信功能,并且以提供話音、數據通信為主要目標。這類終端包括:智能手機(例如iPhone)、多媒體手機、功能性手機,以及低端手機等。
(2)超移動個人計算機設備:這類設備屬于個人計算機的范疇,有計算和處理功能,一般也具備移動上網特性。這類終端包括:PDA、MID和UMPC設備等,例如iPad。
(3)便攜式娛樂設備:這類設備可以顯示和播放多媒體內容。該類設備包括:音頻、視頻播放器(例如iPod),掌上游戲機,電子書,以及智能玩具和便攜式車載導航設備。
(4)服務器:提供計算服務的設備,服務器的構成包括處理器、硬盤、內存、系統總線等,服務器和通用的計算機架構類似,但是由于需要提供高可靠的服務,因此在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。
(5)其他具有數據交互功能的電子裝置。
下面通過本發明一具體應用場景來進一步說明本發明實現。
本發明應用于一計算機設備或便攜設備上,通過所述計算機設備或便攜設備加載3D模型。
參見圖7,所述方法包括:
701、將所述3D模型分割為至少一區域,每個區域為一子數據塊。
702、按照與3D平面焦點的距離越短的區域,越優先進行顯示的規則顯示全部子數據塊,完成所述3D模型的加載。
因此,本發明實施例用戶可以優先獲得焦點所在及焦點附近的區域的3D模型圖像,而后距離焦點越來越遠的區域逐漸被顯示出來,直至全部區域被顯示出來,從而觀看到用戶觀看到整個3D模型。
因此,本發明實施例通過分割的3D模型的至少一區域,逐漸完成3D模型的加載,能夠優化3D模型的加載,改善3D模型的顯示效果。。
本領域的技術人員應明白,本發明的實施例可提供為方法、裝置(設備)、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
本發明是參照實施例的方法、裝置(設備)和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。