一種基于3d網頁游戲的渲染引擎、實現方法及制作工具的制作方法
【技術領域】
[0001]本發明涉及一種渲染引擎,尤其涉及一種基于3D網頁游戲的渲染引擎,并涉及該基于3D網頁游戲的渲染引擎實現方法及制作工具。
【背景技術】
[0002]現階段網頁游戲已步入3D高品質大型游戲時代,而基于原生Stage3D的游戲開發非常困難,開發人員學習與熟悉成本高,而且沒有一套高效、易用的開發流程,導致在開發過程中,過多關注底層技術和開發流程,而忽略了游戲本身的可玩性等。使得開發流程過長,對人員素質要求過高,以及項目結構混亂,代碼難以維護。
【發明內容】
[0003]本發明所要解決的技術問題是需要根據網頁游戲的技術特點和基本需求,進而提供一個高性能、封裝優良和結構模塊清晰良好的具有核心代碼庫的基于3D網頁游戲的渲染引擎,并涉及該基于3D網頁游戲的渲染引擎實現方法及制作工具。
[0004]對此,本發明提供一種基于3D網頁游戲的渲染引擎,包括:
解析及加載模塊,從工作流最終輸出的渲染引擎的自定義文件格式中讀取、解壓縮和解析出具體渲染所需要的信息,實現非阻塞解析;
場景管理模塊,用于實現視域剔除、場景物體遍歷分類、拾取和鼠標事件派發以及渲染流程管理;
攝像機及控制模塊,用于實現場景漫游和實現攝像機動畫,并對特效、關鍵幀動畫、模型動作、攝像機動畫和聲音進行組合,然后在時間軸上進行調整,進而得到最終的特效和技會K ;
渲染模塊,用于渲染一個物體所需要的所有信息,包含對幾何體、材質、動畫以及變換矩陣的渲染。
[0005]本發明的進一步改進在于,所述解析及加載模塊的具體過程包括:解壓縮,然后解析一個自定義文件,并檢查本次解析的時間;當本次解析時間在設定的閾值內則直接開始下一個解壓縮的過程,當本次解析時間超出設定的閾值則等待下一幀后開始解析。
[0006]本發明的進一步改進在于,所述場景管理模塊中,所述視域剔除根據可見性判斷物體是否在視野中可見,進而剔除被遮擋或者視野外的物體以降低實時渲染壓力;所述場景物體遍歷分類依據層級關系以及材質是否半透明對物體進行分類以及確定渲染順序;所述拾取和鼠標事件派發用于判斷相交和鼠標檢測,可以檢測游戲中指定物體的邊緣或包圍框,當兩個物體碰撞時,可以防止相互穿透;所述渲染流程管理用于負責管理整個渲染引擎渲染的過程。
[0007]本發明還提供一種基于3D網頁游戲的渲染引擎實現方法,所述渲染引擎實現方法用于實現如上所述的基于3D網頁游戲的渲染引擎,并包括以下步驟:
步驟SI,設置渲染引擎的自定義文件格式; 步驟S2,渲染引擎基于C++語言的3DMax導出插件;
步驟S3,通過3D編輯器對3D場景進行優化處理;
步驟S4,通過UI編輯器制作UI素材庫。
[0008]本發明的進一步改進在于,所述步驟SI中,所述自定義文件格式以塊為解析的基本單位,實現對圖片的分塊壓縮與非阻塞的解析,同時實現對場景數據的復用和壓縮。
[0009]本發明的進一步改進在于,所述步驟S2中,所述導出插件包括導出美術制作的場景、動畫、材質、燈光和模型中的至少一種插件。
[0010]本發明的進一步改進在于,所述步驟S3中,所述優化處理包括設置燈光、設置材質效果、刷地表、畫路徑、擺放特效、粒子動畫、關鍵幀動畫、條帶、震動和測試中的至少一種優化處理;優化處理之后將更改結果保存為所述步驟Si中的渲染引擎的自定義文件格式,在保存過程中,自動對所存儲的文件進行壓縮、刪減、同類識別合并和組合。
[0011]本發明的進一步改進在于,所述步驟S3中,所述3D編輯器為用戶與3D渲染引擎交互的接口,用戶通過3D編輯器對原始的三維場景、三維角色和三維特效分別進行制作、編輯、加工和優化,該過程中,用戶對原始文件的各種屬性的修改,最終會自動存儲到所述的自定義文件格式的文件中,并最終由渲染引擎進行解析、加載和渲染。
[0012]本發明的進一步改進在于,所述步驟S4中,所述UI素材庫用于實現素材的拖拽、縮放、調整和九宮格編輯,并將素材轉化為3D渲染引擎所使用的文件格式。
[0013]本發明還提供一種基于3D網頁游戲的渲染引擎制作工具,所述渲染引擎制作工具用于實現如上所述的基于3D網頁游戲的渲染引擎,并包括:
導出插件,所述導出插件安裝在3Dmax中,用于將美術制作好的原始模型和動作從3DMax轉化為所述渲染引擎可直接使用的自定義文件格式;
自定義文件格式,存儲所述渲染引擎渲染時所需要的場景信息;
3D編輯器,用于對所述自定義文件格式進行處理;
特效制作工具,集成于所述3D編輯器中,用于游戲中技能、動畫和場景物效的制作;
UI制作工具,用于為游戲制作專用的基于GPU渲染的3D UI,所述渲染引擎的核心代碼庫調用所述UI制作工具。
[0014]與現有技術相比,本發明的有益效果在于:具有良好的跨平臺性和可擴展性,同時采用各種先進的優化技術,具有非常好的渲染性能、資源壓縮率和運行速率等;同時在實現了渲染引擎的核心代碼庫基礎上,擴展開發出一系列配套的基于3D網頁游戲的渲染引擎制作工具,形成一套完成的游戲開發工作流程,使用簡單、直觀和易于上手,可供游戲開發中的各種人員角色協作使用,能夠大大縮短游戲開發周期,并降低開發門檻。
【附圖說明】
[0015]圖1是本發明一種實施例的系統結構示意圖;
圖2是本發明一種實施例的框架結構示意圖;
圖3是本發明另一種實施例的工作流程示意圖;
圖4是本發明另一種實施例制作3D網頁游戲的工作流程示意圖;
圖5是本發明另一種實施例的3D編輯器的框架結構示意圖;
圖6是本發明另一種實施例的動畫與技能編輯的框架結構示意圖; 圖7是本發明再一種實施例的系統工作流示意圖。
【具體實施方式】
[0016]下面結合附圖,對本發明的較優的實施例作進一步的詳細說明:
實施例1:
如圖1所示,本例提供一種基于3D網頁游戲的渲染引擎,包括:
解析及加載模塊,從工作流最終輸出的渲染引擎的自定義文件格式中讀取、解壓縮和解析出具體渲染所需要的信息,實現非阻塞解析;
場景管理模塊,用于實現視域剔除、場景物體遍歷分類、拾取和鼠標事件派發以及渲染流程管理;
攝像機及控制模塊,用于實現場景漫游和實現攝像機動畫,并對特效、關鍵幀動畫、模型動作、攝像機動畫和聲音進行組合,然后在時間軸上進行調整,進而得到最終的特效和技會K ;
渲染模塊,用于渲染一個物體所需要的所有信息,包含對幾何體、材質、動畫以