本發明涉及三維場景展示技術領域,具體涉及一種虛擬祭祀三維場景的生成方法及裝置。
背景技術:
隨著計算機網絡、軟件工程等技術的逐步發展,社會各行各業信息化程度也越來越普及,相應的對信息化系統的要求也越來越多高,信息化系統面向的用戶體驗也越來越豐富。直觀、真實、交互友好的用戶體驗也成為行業系統信息化、智能化的標志之一。隨著虛擬現實技術的成熟,三維場景展示技術日益受到關注,特別是網絡環境下,為倡導生態安葬、綠色低碳祭掃,網絡虛擬祭祀作為具體措施,能有效保護自然資源和生態環境,節約殯葬用地。
場景建模作為虛擬現實相關應用程序開發中重要的環節,是必須要面對的問題。為了將虛擬祭祀三維場景展示出來,一般是將祭祀的三維場景信息通過文本形式保存在文件中,再通過專門的商業引擎工具Unity3D、Unreal等對這些文件加以讀取和解析,并最后生成三維場景。但目前隨著個性化業務發展的需求,網絡上,祭祀的三維場景因人而異,場景需求也需要適應個性化需求。因此,需要解決虛擬祭祀三維場景的動態創建,實際上就是要解決虛擬祭祀場景建模,雖然目前已經存在了一些場景建模方法,但它們都存在著一定的局限性,具體表現在如下幾個方面:
1、難以應對虛擬祭祀場景對象:目前對虛擬祭祀的虛擬場景建模,主要采用方法是基于XML、VRML等現有文本格式,或者是自定義的文本格式對虛擬祭祀場景中的對象進行抽象建模。但隨著祭祀業務動態展示需求的復雜化,虛擬祭祀場景中場景對象的結構需要更加層次化,以支持虛擬場景對象的不同呈現。而目前存在的場景建模方法由于在設計時普遍與業務耦合緊密,應用只局限在某一個特定領域,難以應用于網絡祭祀環境下的各種場景對象的虛擬描述;
2、祭祀虛擬場景建模方法可擴展性不強:部分祭祀虛擬場景建模方法在設計時雖然考慮了可擴展性,能實現指定場景對象進行擴展,但是性能不足,在實際應用網絡祭祀中,一些常見的虛擬網絡祭祀場景對象的屬性并不支持;
3、虛擬祭祀界面生成自動化程度低:當前的虛擬祭祀場景建模方法是對祭祀場景所形成的結果以文本形式,通過管理人員以手工錄入方式保存在文件中。但隨著網絡祭祀場景的規模和動態變化,這種手工錄入方式不僅會導致工作效率下降,更重要的是,這種人為因素會引入錯誤,難以實現虛擬祭祀場景的自動生成。
技術實現要素:
本發明實施例提供一種虛擬祭祀三維場景的生成方法及裝置,用于解決現有的虛擬祭祀三維場景的生成方法對于場景對象和對象的屬性的擴展性較低的問題。
本發明實施例提供了一種虛擬祭祀三維場景的生成方法,包括:
對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展;
根據祭祀場景資源文件和擴展后的祭祀場景建模規則建立祭祀場景模型;
根據映射規則將所述祭祀場景模型轉換為XML文件;
根據所述XML文件生成虛擬的目標祭祀三維場景。
可選地,所述對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展,包括:
基于形式化模型對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展,將所述目標祭祀三維場景中的祭祀場景對象抽象為祭祀場景對象模板。
可選地,所述祭祀場景資源文件包括:
祭祀場景對象模板特化信息,所述祭祀場景對象模板特化信息包括貼圖信息和世界參數信息。
可選地,所述祭祀場景對象模板包括:
祭祀場景對象的屬性,所述祭祀場景對象的屬性包括鍵值屬性、序列屬性和結構體屬性。
可選地,所述根據所述XML文件生成虛擬的目標祭祀三維場景,包括:
根據所述XML文件定義所述祭祀場景對象的屬性,描述所述祭祀場景對象,將所述祭祀場景對象實例化,生成虛擬的目標祭祀三維場景。
本發明實施例提供了一種虛擬祭祀三維場景的生成裝置,包括:
建模規則擴展單元,用于對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展;
祭祀場景模型建立單元,用于根據祭祀場景資源文件和擴展后的祭祀場景建模規則建立祭祀場景模型;
文件獲取單元,用于根據映射規則將所述祭祀場景模型轉換為XML文件;
祭祀三維場景生成單元,用于根據所述XML文件生成虛擬的目標祭祀三維場景。
可選地,所述建模規則擴展單元進一步用于:
基于形式化模型對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展,將所述目標祭祀三維場景中的祭祀場景對象抽象為祭祀場景對象模板。
可選地,所述祭祀場景資源文件包括:
祭祀場景對象模板特化信息,所述祭祀場景對象模板特化信息包括貼圖信息和世界參數信息。
可選地,所述祭祀場景對象模板包括:
祭祀場景對象的屬性,所述祭祀場景對象的屬性包括鍵值屬性、序列屬性和結構體屬性。
可選地,所述祭祀三維場景生成單元進一步用于:
根據所述XML文件定義所述祭祀場景對象的屬性,描述所述祭祀場景對象,將所述祭祀場景對象實例化,生成虛擬的目標祭祀三維場景。
本發明實施例提供的虛擬祭祀三維場景的生成方法及裝置,對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展;根據祭祀場景資源文件和擴展后的祭祀場景建模規則建立祭祀場景模型;根據映射規則將所述祭祀場景模型轉換為XML文件;根據所述XML文件生成虛擬的目標祭祀三維場景。本發明實施例可通過對祭祀場景建模規則的擴展對不同祭祀場景對象通過模板進行實例化,并可對場景對象的屬性進行擴展,構建出新的祭祀場景對象。同時,采用文件轉換方法可以降低業務與渲染機的緊耦合,提升模型的可復用性。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明一個實施例的虛擬祭祀三維場景的生成方法的流程示意圖;
圖2是本發明一個實施例的虛擬祭祀三維場景模型的層次圖;
圖3是本發明一個實施例的虛擬祭祀三維場景的生成裝置的結構示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整的描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
圖1是本發明一個實施例的虛擬祭祀三維場景的生成方法的流程示意圖。如圖1所示,該實施例的方法包括:
S11:對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展;
需要說明的是,本發明實施例對根據目標祭祀三維場景的特征對祭祀場景建模規則進行擴展,可對祭祀場景對象和對象屬性進行擴展。
S12:根據祭祀場景資源文件和擴展后的祭祀場景建模規則建立祭祀場景模型;
在實際應用中,本發明實施例的場景建模環境為圖形化界面,將場景建模腳本中的編輯操作以圖形化顯示,支持對祭祀場景對象的增加、刪除、修改、查詢相關操作。
可理解的是,通過界面化的手段完成祭祀場景的建模操作,避免了因為人工直接編輯建模文件可能導致的人為錯誤,提升了建模速度。
S13:根據映射規則將所述祭祀場景模型轉換為XML文件;
需要說明的是,所述XML文件包括:變量區、場景對象模板區和祭祀場景腳本區;所述變量區用于定義所述祭祀場景對象的屬性;所述場景對象模板區用于描述祭祀場景對象;所述場景腳本區用于將所述祭祀場景對象實例化。
在實際應用中,可通過給定的映射規則將祭祀場景模型轉化為XML格式,這些映射規則基于以下6中操作符設計:
1)(終結符)VAL,表示終結符對應的值;
2)[非終結符]XML,表示非終結符對應的XML;
3)[非終結符<序號>]XML,表示特定序號的非終結符的XML;
4)%{符號序列或集合}=><XML Doc>,根據序列或集合生成XML文檔片段;
5)[非終結符]XML||[非終結符]XML,選擇生成非終結符的XML;
6)${字符串}=><XML Doc>,表示當不存在給定的字符串信息時,可添加后續字符串對應的XML文件。
S14:根據所述XML文件生成虛擬的目標祭祀三維場景。
本發明實施例提供的虛擬祭祀三維場景的生成方法可通過對祭祀場景建模規則的擴展對不同祭祀場景對象通過模板進行實例化,并可對場景對象的屬性進行擴展,構建出新的祭祀場景對象。同時,采用文件轉換方法可以降低業務與渲染機的緊耦合,提升模型的可復用性。
進一步地,在本發明實施例的一種可選的實施方式中,所述對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展,包括:
基于形式化模型對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展,將所述目標祭祀三維場景中的祭祀場景對象抽象為祭祀場景對象模板。
需要說明的是,形式化模型(formal methods model)的主要活動是生成計算機軟件形式化的數學規格說明。形式化方法使軟件開發人員可以應用嚴格的數學符號來說明、開發和驗證基于計算機的系統。
在實際應用中,祭祀三維場景比較復雜,主要是由于祭祀場景中各種祭祀場景對象的復雜化,因此本發明實施例首先將構成祭祀場景的祭祀場景對象進行抽象,給出祭祀場景中基本單位的通用描述,將具有相同特征的祭祀場景對象進行統一描述為祭祀場景對象模板。具體地,所述祭祀場景資源文件包括:
祭祀場景對象模板特化信息,所述祭祀場景對象模板特化信息包括貼圖信息和世界參數信息。
具體地,如圖2所示,所述祭祀場景對象模板包括:
祭祀場景對象的屬性,所述祭祀場景對象的屬性包括鍵值屬性、序列屬性和結構體屬性。
具體地,鍵值屬性指具有單值的屬性,例如場景對象名等,序列屬性指具有多值的屬性,如場景對象的狀態,結構體屬性指值具有多類型特點,例如場景對象坐標、場景空間矩陣等。這三種屬性涵蓋目前常見的祭祀場景對象特征。根據形式化三維模型定義,可直接按照需要在形式化模型上進行擴展不同的數據類型,以支持不同的場景對象屬性。
進一步地,所述根據所述XML文件生成虛擬的目標祭祀三維場景,包括:
根據所述XML文件定義所述祭祀場景對象的屬性,描述所述祭祀場景對象,將所述祭祀場景對象實例化,生成虛擬的目標祭祀三維場景。
需要說明的是,為了讓渲染機能自動解析腳步,需要將模型腳本轉換為XML文件格式。基于此,本發明給出映射規則,將祭祀場景模型自動映射為以XML格式,實現渲染程序的自動解析。
具體的場景對象是由祭祀場景對象模板實例化生成,在實例化時對場景對象的具體不同屬性值進行定義。因此在模板實例化之后,再賦予上對象模板特化信息就可以形成具體的場景對象。通過該方法就可將虛擬祭祀三維場景中的所有場景對象進行分類,給出祭祀場景對象的通用定義。
在實際應用中,本發明實施例的渲染程序是基于Unity引擎開發的,相關素材文件被打包為Asset Bundle包,保存在以該資源包名稱命名、擴展名為Manifest的文件中。場景建模環境啟動后,通過查找Manifest文件,提取相應的資源信息。通過這種方式,使用者在編輯屬性的值時,建模環境便可以向使用者提供素材提示信息,當使用者選擇完畢后,建模環境會將查找到的素材填充到對應的屬性語句中,完成將祭祀場景資源文件引入到了祭祀場景建模文件中。
圖3是本發明一個實施例的虛擬祭祀三維場景的生成裝置的結構示意圖。如圖3所示,本發明實施例的裝置包括建模規則擴展單元31、祭祀場景模型建立單元32、文件獲取單元33和祭祀三維場景生成單元34,具體地:
建模規則擴展單元31,用于對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展;
祭祀場景模型建立單元32,用于根據祭祀場景資源文件和擴展后的祭祀場景建模規則建立祭祀場景模型;
文件獲取單元33,用于根據映射規則將所述祭祀場景模型轉換為XML文件;
祭祀三維場景生成單元34,用于根據所述XML文件生成虛擬的目標祭祀三維場景。
建模規則擴展單元31進一步用于:
基于形式化模型對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展,將所述目標祭祀三維場景中的祭祀場景對象抽象為祭祀場景對象模板。
可選地,所述祭祀場景資源文件包括:
祭祀場景對象模板特化信息,所述祭祀場景對象模板特化信息包括貼圖信息和世界參數信息。
可選地,所述祭祀場景對象模板包括:
祭祀場景對象的屬性,所述祭祀場景對象的屬性包括鍵值屬性、序列屬性和結構體屬性。
祭祀三維場景生成單元34進一步用于:
根據所述XML文件定義所述祭祀場景對象的屬性,描述所述祭祀場景對象,將所述祭祀場景對象實例化,生成虛擬的目標祭祀三維場景。
本發明實施例的虛擬祭祀三維場景的生成裝置可以用于執行上述方法實施例,其原理和技術效果類似,此處不再贅述。
本發明實施例提供的虛擬祭祀三維場景的生成方法及裝置,對目標祭祀三維場景進行抽象分析,對祭祀場景建模規則進行擴展;根據祭祀場景資源文件和擴展后的祭祀場景建模規則建立祭祀場景模型;根據映射規則將所述祭祀場景模型轉換為XML文件;根據所述XML文件生成虛擬的目標祭祀三維場景。本發明實施例可通過對祭祀場景建模規則的擴展對不同祭祀場景對象通過模板進行實例化,并可對場景對象的屬性進行擴展,構建出新的祭祀場景對象。同時,采用文件轉換方法可以降低業務與渲染機的緊耦合,提升模型的可復用性。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
需要說明的是術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
本發明的說明書中,說明了大量具體細節。然而能夠理解的是,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。類似地,應當理解,為了精簡本發明公開并幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋呈反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。
以上實施例僅用于說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。