欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種虛擬場景與模型的快速渲染方法與流程

文檔序號:11433484閱讀:625來源:國知局
一種虛擬場景與模型的快速渲染方法與流程

本發(fā)明涉及虛擬現(xiàn)實技術(shù)領(lǐng)域,涉及一種虛擬場景與模型的快速渲染方法,尤其涉及在虛擬場景中,提高仿真環(huán)境與三維模型的綜合渲染速度與效率的方法。

技術(shù)背景

虛擬現(xiàn)實(virtualreality,簡稱vr)是一種構(gòu)建并可體驗、交互的虛擬仿真系統(tǒng),綜合計算機(jī)圖形學(xué)、實時圖像處理、精密傳感器及人機(jī)接口等多項學(xué)科。逼真的場景與模型給人以身臨其境的體驗。目前多應(yīng)用于游戲、影視、動畫、軍事等領(lǐng)域。

當(dāng)前,模型的渲染一般基于獨立軟件處理,如autodesk公司的3dmax、maya,maxoncomputer公司的cinema4d等。渲染開發(fā)人員除了豐富的軟件應(yīng)用經(jīng)驗,還需具備圖形學(xué)、計算幾何等多門學(xué)科知識。因此,渲染相關(guān)技術(shù)人員的知識領(lǐng)域廣、培訓(xùn)周期長、技術(shù)水平良莠不齊。

在企業(yè)技術(shù)與產(chǎn)品的開發(fā)中,美術(shù)(負(fù)責(zé)渲染)和技術(shù)(負(fù)責(zé)開發(fā)程序)一般分為兩個部門。由于客觀條件和個人能力的情況,兩個部門難以實現(xiàn)相互交叉的協(xié)同開發(fā)模式。同時,在不同項目的開發(fā)過程中,多項目之間的渲染素材不能及時共享與利用,造成重復(fù)工作。

目前的模型渲染,多數(shù)以照片作為主圖材料。因此每個項目均需要現(xiàn)場拍攝、實物拆解、照片處理等多個環(huán)節(jié),占據(jù)項目開發(fā)周期的大段時間。尤以后期的烘焙效率較低,耗時較長。

在虛擬現(xiàn)實軟件產(chǎn)品完成之后,會對項目進(jìn)行定期更新或在出現(xiàn)較為明顯的渲染方面缺陷的時候,需要進(jìn)行局部的修改。當(dāng)前的常規(guī)處理情況是針對源工程進(jìn)行改動后重新發(fā)布。因此,項目方需要招聘專門人員進(jìn)行更新,增加運維成本。

渲染效果是虛擬現(xiàn)實產(chǎn)品用戶體驗的第一感觀;渲染效率是加快產(chǎn)品開發(fā)進(jìn)度的重要因素。在保證良好渲染效果的基礎(chǔ)上,提高渲染效率是必不可少的內(nèi)容。上述問題也是虛擬現(xiàn)實產(chǎn)品在開發(fā)過程中遇到的亟待解決的共性問題。



技術(shù)實現(xiàn)要素:

針對現(xiàn)有虛擬現(xiàn)實產(chǎn)品開發(fā)的技術(shù)難點與不足,本發(fā)明實現(xiàn)了一種虛擬場景及模型快速渲染的方法。

本發(fā)明的虛擬場景與模型的快速渲染方法包括以下步驟:

獲得待渲染虛擬場景與模型的渲染要求以及預(yù)先建立的標(biāo)準(zhǔn)材質(zhì)庫,其中,標(biāo)準(zhǔn)材質(zhì)庫保存有基于不同材料、不同渲染效果、不同構(gòu)件的材質(zhì)以及貼圖素材;

根據(jù)所述渲染要求和標(biāo)準(zhǔn)材質(zhì)庫,創(chuàng)建包含場景參數(shù)、模型與材質(zhì)對應(yīng)關(guān)系的可讀寫文件,加載后從所述的標(biāo)準(zhǔn)材質(zhì)庫中選擇與待渲染模型相對應(yīng)的材質(zhì);

根據(jù)渲染要求設(shè)置并調(diào)整場景參數(shù),根據(jù)所選材質(zhì)對模型進(jìn)行渲染和材質(zhì)參數(shù)調(diào)節(jié),完成滿足既定渲染要求的場景與模型渲染;

根據(jù)所述待渲染模型的渲染要求,在單個模型對應(yīng)多個材質(zhì)時,對多個材質(zhì)在三維模型表面直接進(jìn)行三維在場uv貼圖;

根據(jù)所述待渲染模型的渲染要求,通過手繪軌跡生成高光效果及其對應(yīng)材質(zhì),并進(jìn)行模型的高光效果渲染。

優(yōu)選的,本發(fā)明通過以下方法構(gòu)建標(biāo)準(zhǔn)材質(zhì)庫:

根據(jù)材料屬性,構(gòu)建基于不同材料類型的貼圖與材質(zhì)庫,可根據(jù)材料名稱檢索材質(zhì),并可修改材質(zhì)參數(shù);

根據(jù)同一模型的不同渲染要求,構(gòu)建常見、已有和特定三種渲染效果的材質(zhì)庫,可根據(jù)渲染效果檢索材質(zhì),并可修改材質(zhì)參數(shù);

根據(jù)常用構(gòu)件模型,創(chuàng)建預(yù)制物體,并綁定貼圖與材質(zhì),可根據(jù)預(yù)制物體名稱檢索材質(zhì)。

進(jìn)一步的,所述的標(biāo)準(zhǔn)材質(zhì)庫中材質(zhì)的參數(shù)可采用標(biāo)準(zhǔn)模板著色器調(diào)整,調(diào)整參數(shù)后創(chuàng)造的材質(zhì)根據(jù)用戶需求保存為標(biāo)準(zhǔn)材質(zhì)或個性材質(zhì):具體步驟為:

根據(jù)模型材料和渲染效果,從標(biāo)準(zhǔn)材質(zhì)庫中選取合適的材質(zhì)貼圖;

對于標(biāo)準(zhǔn)材質(zhì)庫所未包含的特定的渲染需求或者優(yōu)化渲染效果,通過標(biāo)準(zhǔn)模板著色器的參數(shù)調(diào)節(jié)面板對所選取的材質(zhì)貼圖進(jìn)行參數(shù)修改,創(chuàng)建對應(yīng)于渲染需求或者渲染效果的材質(zhì),根據(jù)用戶需求將所創(chuàng)建的材質(zhì)貼圖保存為標(biāo)準(zhǔn)材質(zhì)或個性材質(zhì);所述的由用戶創(chuàng)建或修改的標(biāo)準(zhǔn)材質(zhì)和個性材質(zhì)可由所創(chuàng)建的用戶設(shè)置訪問權(quán)限。

優(yōu)選的,所述的標(biāo)準(zhǔn)材質(zhì)庫設(shè)有訪問權(quán)限,使用者的權(quán)限類別包括:

公有權(quán)限,可訪問、使用標(biāo)準(zhǔn)材質(zhì)庫中除私有材質(zhì)庫的材質(zhì),對標(biāo)準(zhǔn)材質(zhì)庫的所有使用者開放;

私有權(quán)限,在公有權(quán)限的基礎(chǔ)上,擁有私有權(quán)限者可訪問、使用私有材質(zhì)庫內(nèi)的材質(zhì),對標(biāo)準(zhǔn)材質(zhì)庫的個人、具體項目和特定集體開放。

優(yōu)選的,所述的創(chuàng)建并加載包含場景參數(shù)、模型與材質(zhì)對應(yīng)關(guān)系的可讀寫文件,從所述的標(biāo)準(zhǔn)材質(zhì)庫中選擇與待渲染模型相對應(yīng)的材質(zhì)的步驟為:

創(chuàng)建可讀寫文件,根據(jù)所述待渲染模型的渲染要求編輯待渲染場景參數(shù)、待渲染模型與材質(zhì)的對應(yīng)關(guān)系;

加載并解析填有所述包含主要場景參數(shù)與對應(yīng)關(guān)系的可讀寫文件,并從標(biāo)準(zhǔn)材質(zhì)庫中檢索到待渲染模型相對應(yīng)的材質(zhì)。

優(yōu)選的,所述的對多個材質(zhì)在三維模型表面直接進(jìn)行三維在場uv貼圖包括以下步驟:

獲取待渲染模型的三維表面mesh網(wǎng)格;

根據(jù)所述待渲染模型的渲染要求,選擇其中一個對應(yīng)材質(zhì);

通過在場的即時拖拽、位置捕捉、邊界變形方式完成所選材質(zhì)在三維模型表面mesh網(wǎng)格上的區(qū)域定位;

通過在場的縮放、平鋪、旋轉(zhuǎn)方式針對所選材質(zhì)在三維模型表面mesh網(wǎng)格上的渲染區(qū)域進(jìn)行適應(yīng)性調(diào)整;

根據(jù)所述待渲染模型的渲染要求,完成所選材質(zhì)在指定渲染區(qū)域中的表面映射;

根據(jù)所述待渲染模型的渲染要求,依次完成所有材質(zhì)的區(qū)域定位、適應(yīng)調(diào)整和表面映射;

將所有待渲染模型對應(yīng)的材質(zhì)合并為一個材質(zhì),并完成待渲染模型的渲染。

優(yōu)選的,所述的通過手繪軌跡生成高光效果及其對應(yīng)材質(zhì),并進(jìn)行模型的高光效果渲染包括以下步驟:

根據(jù)所述待渲染模型的渲染需求,設(shè)置繪筆的填充顏色、漸變方向、邊界柔和度參數(shù);

實時獲得用戶輸入的手繪軌跡,并通過區(qū)域填充和插值擬合算法進(jìn)行軌跡參數(shù)處理;

根據(jù)繪筆參數(shù)和處理后的軌跡參數(shù),生成滿足渲染要求的高光材質(zhì);

將所述生成的高光材質(zhì)賦予模型,完成手工添加高光和陰影,處理單色非高光物體模型表面的非均勻光效、模型表面大面積的斑點分布式光效、多光源重疊陰影光效;

所述的高光效果包括高光和通過調(diào)整繪筆參數(shù)不同而所得的陰影、光斑、漸變色及其組合光效。

本發(fā)明還公開了一種虛擬場景與模型的快速渲染裝置,所述裝置包括:

標(biāo)準(zhǔn)材質(zhì)庫,用于獲得待渲染虛擬場景與模型的渲染要求以及待渲染模型的材質(zhì);所述的標(biāo)準(zhǔn)材質(zhì)庫保存有基于不同材料、不同渲染效果、不同構(gòu)件的材質(zhì)以及貼圖素材;

材質(zhì)選擇模塊,用于根據(jù)所述待渲染模型的材質(zhì),通過加載記載有待渲染模型與材質(zhì)對應(yīng)關(guān)系的可讀寫文件,從預(yù)先建立的標(biāo)準(zhǔn)材質(zhì)庫中選擇與渲染要求相對應(yīng)的材質(zhì),

渲染模塊,用于根據(jù)待渲染場景與模型的渲染要求,利用所選材質(zhì)對待渲染模型進(jìn)行渲染;

標(biāo)準(zhǔn)模板著色器及其參數(shù)調(diào)節(jié)面板,用于創(chuàng)建標(biāo)準(zhǔn)材質(zhì)庫內(nèi)的材質(zhì),以及根據(jù)當(dāng)前渲染效果和渲染要求通過參數(shù)調(diào)節(jié)面板對材質(zhì)參數(shù)進(jìn)行調(diào)整,以滿足渲染效果;

三維在場uv貼圖模塊,用于在單個模型對應(yīng)多個材質(zhì)的情況時,對多個材質(zhì)在三維模型表面直接進(jìn)行在場uv貼圖,以完成滿足既定渲染要求的渲染;

手繪特效模塊,用于根據(jù)渲染要求通過手繪軌跡生成高光效果及其對應(yīng)材質(zhì),并進(jìn)行模型的高光效果渲染。

優(yōu)選的,所述標(biāo)準(zhǔn)材質(zhì)庫包括標(biāo)準(zhǔn)材質(zhì)庫創(chuàng)建子模塊、材質(zhì)創(chuàng)建子模塊和權(quán)限訪問子模塊,所述的標(biāo)準(zhǔn)材質(zhì)庫創(chuàng)建子模塊包括基于材料屬性材質(zhì)創(chuàng)建子模塊、基于渲染要求材質(zhì)創(chuàng)建子模塊和基于預(yù)制物體材質(zhì)創(chuàng)建子模塊;

所述的基于材料屬性材質(zhì)創(chuàng)建子模塊,根據(jù)材料屬性,構(gòu)建基于不同材料類型的貼圖與材質(zhì)庫,可根據(jù)材料名稱檢索材質(zhì),并可修改材質(zhì)參數(shù);

所述的基于渲染要求材質(zhì)創(chuàng)建子模塊,根據(jù)同一模型的不同渲染要求,構(gòu)建常見、已有和特定三種渲染效果的材質(zhì)庫,可根據(jù)渲染效果檢索材質(zhì),并可修改材質(zhì)參數(shù);

所述的基于預(yù)制物體材質(zhì)創(chuàng)建子模塊,根據(jù)常用構(gòu)件模型,創(chuàng)建預(yù)制物體,并綁定貼圖與材質(zhì),可根據(jù)預(yù)制物體名稱檢索材質(zhì);

所述的材質(zhì)創(chuàng)建子模塊采用基于標(biāo)準(zhǔn)模板著色器創(chuàng)建標(biāo)準(zhǔn)材質(zhì)或個性材質(zhì),包括:

材質(zhì)貼圖選擇子單元,根據(jù)模型材料和渲染效果,選取合適的材質(zhì)貼圖;

材質(zhì)創(chuàng)建子單元,用于創(chuàng)建標(biāo)準(zhǔn)材質(zhì),還包括對于標(biāo)準(zhǔn)材質(zhì)庫所未包含的渲染需求或者優(yōu)化渲染效果,通過標(biāo)準(zhǔn)模板著色器的參數(shù)調(diào)節(jié)面板對所選取的材質(zhì)進(jìn)行參數(shù)修改,創(chuàng)建對應(yīng)于渲染需求或者渲染效果的材質(zhì),根據(jù)用戶需求將所創(chuàng)建的材質(zhì)貼圖保存為標(biāo)準(zhǔn)材質(zhì)或個性材質(zhì);

所述的權(quán)限訪問子模塊用于根據(jù)權(quán)限等級管理標(biāo)準(zhǔn)材質(zhì)庫的訪問與使用。

優(yōu)選的,所述的材質(zhì)選擇模塊包括:

可讀寫文件(材質(zhì)功能表)創(chuàng)建模塊,根據(jù)渲染要求創(chuàng)建待渲染模型與所需材質(zhì)的對應(yīng)關(guān)系,并由可讀寫文件(材質(zhì)功能表)記載材質(zhì)信息與主要參數(shù);

可讀寫文件(材質(zhì)功能表)加載模塊,加載填有所述對應(yīng)關(guān)系的可讀寫文件;

可讀寫文件(材質(zhì)功能表)解析模塊,解析所述可讀文件并檢索到相應(yīng)的材質(zhì),將材質(zhì)選擇結(jié)果發(fā)送給渲染模塊;

可讀寫文件(材質(zhì)功能表)編輯模塊,用于根據(jù)初步渲染效果或用戶需求編輯可讀寫文件中的信息,并由可讀寫文件加載模塊重新加載。

所述的材質(zhì)選擇模塊還包括虛擬場景的參數(shù)設(shè)定。通過可讀寫文件記載的參數(shù)設(shè)置場景內(nèi)對象的參數(shù),完成場景渲染。

優(yōu)選的,所述的三維在場uv貼圖模塊包括:

區(qū)域定位單元,通過在場的即時拖拽、位置捕捉、邊界變形方式完成所選材質(zhì)在三維模型表面mesh網(wǎng)格上的區(qū)域定位;

貼圖調(diào)整單元,通過在場的縮放、平鋪、旋轉(zhuǎn)方式針對所選材質(zhì)在三維模型表面mesh網(wǎng)格上的渲染區(qū)域進(jìn)行適應(yīng)性調(diào)整;

表面映射單元,根據(jù)所述待渲染模型的渲染要求,完成所選材質(zhì)在指定渲染區(qū)域中的表面映射;

材質(zhì)合并單元,將所有待渲染模型對應(yīng)的材質(zhì)合并為一個材質(zhì),并完成待渲染模型的渲染。

優(yōu)選的,所述的手繪高光模塊包括:

參數(shù)設(shè)置單元,根據(jù)所述待渲染模型的渲染需求,設(shè)置繪筆的填充顏色、漸變方向、邊界柔和度參數(shù);

手繪軌跡獲取和處理單元,實時獲得用戶輸入的手繪軌跡,并通過區(qū)域填充和插值擬合算法進(jìn)行軌跡參數(shù)處理;

高光材質(zhì)生成單元,根據(jù)繪筆參數(shù)和處理后的軌跡參數(shù),生成滿足渲染要求的高光材質(zhì);

高光材質(zhì)渲染單元,將所述生成的高光材質(zhì)賦予模型,完成手工添加高光和陰影,處理單色非高光物體模型表面的非均勻光效、模型表面大面積的斑點分布式光效、多光源重疊陰影光效。

與已有的技術(shù)方法相比,在大幅提高虛擬場景及模型渲染效率的基礎(chǔ)上,本發(fā)明的其他優(yōu)越性如下:

高效性。本發(fā)明提出創(chuàng)建一個基于不同材料、不同渲染效果、不同預(yù)制構(gòu)件的標(biāo)準(zhǔn)材質(zhì)庫,即使用即訪問,以及通過標(biāo)準(zhǔn)模板著色器的參數(shù)調(diào)節(jié)優(yōu)化渲染效果,提高虛擬場景與模型渲染的材質(zhì)庫的豐富度與方便性,從而提高渲染效率。

開放性。本發(fā)明可支持外部編輯文本(可讀寫文件形式的材質(zhì)功能表)實現(xiàn)并完成渲染,加強(qiáng)了渲染過程中的可操作性,能及時進(jìn)行調(diào)整和修改;非腳本交互的渲染素材可從源程序中分離,可實現(xiàn)在程序發(fā)布之后進(jìn)行渲染效果的調(diào)整和修改。本發(fā)明由用戶所創(chuàng)建的標(biāo)準(zhǔn)材質(zhì)和個性材質(zhì)根據(jù)用戶需求添加進(jìn)入標(biāo)準(zhǔn)材質(zhì)庫,并可設(shè)置訪問權(quán)限。

自動化。渲染主程序可根據(jù)加載后的材質(zhì)功能表進(jìn)行自動快速渲染,能對可讀寫文件形式的材質(zhì)功能表內(nèi)容進(jìn)行加載、解析、編輯并可通過標(biāo)準(zhǔn)模板著色器參數(shù)調(diào)節(jié)面板進(jìn)行參數(shù)調(diào)節(jié)已獲得更好的渲染效果。

工具集成。本發(fā)明在vr開發(fā)平臺(如unity3d,unrealengine4等)內(nèi)實現(xiàn)三維在場uv貼圖以及手繪高光的渲染方法,實現(xiàn)開發(fā)工具的單一集成,提高開發(fā)效率。

輕量化。渲染素材及材質(zhì)等資源可存放在云端服務(wù)器,減少軟件開發(fā)包與安裝包的空間容量。在使用過程中,即時使用即時加載,檢測未使用時立即銷毀。

可持續(xù)性。在虛擬現(xiàn)實產(chǎn)品開發(fā)項目積累中,保留、改進(jìn)良好的渲染素材并納入基礎(chǔ)材質(zhì)庫,淘汰劣質(zhì)素材,可加快后期項目進(jìn)度并提高產(chǎn)品質(zhì)量。

附圖說明

圖1為個性材質(zhì)庫創(chuàng)建示意圖。

圖2為材質(zhì)功能表示例圖。

圖3為模板化渲染流程示例圖。

圖4為三維在場uv貼圖實現(xiàn)流程圖。

圖5為邊界變形示意圖。

圖6為非均勻縮放示意圖。

圖7為手繪特效實現(xiàn)流程圖。

圖8為圓形基本形狀參數(shù)示意圖。

圖9為繪筆直線軌跡插值示意圖。

圖10為繪筆轉(zhuǎn)折軌跡插值示意圖。

具體實施方式

下面結(jié)合說明書附圖對本發(fā)明作進(jìn)一步說明。

本發(fā)明的技術(shù)方案主要分為模板化渲染、三維在場uv貼圖和手繪特效三個發(fā)明內(nèi)容。

1.1模板化渲染

模板化渲染由標(biāo)準(zhǔn)材質(zhì)庫、材質(zhì)選擇模塊和渲染模塊組成。

所述標(biāo)準(zhǔn)材質(zhì)庫包括標(biāo)準(zhǔn)材質(zhì)庫創(chuàng)建子模塊、材質(zhì)創(chuàng)建子模塊和權(quán)限訪問子模塊等功能模塊。標(biāo)準(zhǔn)材質(zhì)庫(以下簡稱材質(zhì)庫)是由不同材料類型、不同渲染要求和不同預(yù)制構(gòu)件的渲染素材以及材質(zhì)組成,可進(jìn)行查詢、檢索以及參數(shù)調(diào)節(jié)。也可以此庫素材為基礎(chǔ),經(jīng)參數(shù)調(diào)節(jié)創(chuàng)建個性材質(zhì)。

所述的標(biāo)準(zhǔn)材質(zhì)庫創(chuàng)建子模塊,包括基于材料屬性材質(zhì)創(chuàng)建子模塊、基于渲染要求材質(zhì)創(chuàng)建子模塊和基于預(yù)制物體材質(zhì)創(chuàng)建子模塊。標(biāo)準(zhǔn)材質(zhì)庫內(nèi)的材質(zhì)從材質(zhì)參數(shù)是否可調(diào)的角度可分為通用材質(zhì)和特殊材質(zhì),其中材料屬性創(chuàng)建子模塊、渲染要求創(chuàng)建子模塊用于創(chuàng)建通用材質(zhì),預(yù)制物體創(chuàng)建子模塊用于創(chuàng)建特殊材質(zhì)。通用材質(zhì)參數(shù)內(nèi)容包括高光、反射、透明等。特殊材質(zhì)一般是無需參數(shù)化或固定參數(shù)化的材質(zhì),可直接應(yīng)用于某一類物體,例如常用螺栓、全透玻璃等。也就是說,通用材質(zhì)可以在渲染模塊中根據(jù)渲染要求通過標(biāo)準(zhǔn)模板著色器參數(shù)調(diào)節(jié)面板進(jìn)行參數(shù)調(diào)節(jié)。標(biāo)準(zhǔn)模板著色器參數(shù)有材質(zhì)貼圖,法向貼圖,含高光、反射、透明、折射等光效參數(shù)和含顯隱、遮擋、描邊、霧化、濾鏡等其他參數(shù)。標(biāo)準(zhǔn)材質(zhì)庫內(nèi)的材質(zhì)從是否由用戶編輯所得的角度可分為標(biāo)準(zhǔn)材質(zhì)和個性材質(zhì)。其中,由標(biāo)準(zhǔn)材質(zhì)經(jīng)參數(shù)調(diào)節(jié)所得的材質(zhì)。標(biāo)準(zhǔn)材質(zhì)庫內(nèi)的材質(zhì)從訪問權(quán)限的角度可分為公有權(quán)限材質(zhì)和私有權(quán)限材質(zhì)。公有權(quán)限材質(zhì)面向所有用戶支持訪問與使用,私有權(quán)限材質(zhì)僅對擁有私有權(quán)限者支持訪問與使用。也包括,私有權(quán)限者可訪問與使用公有權(quán)限材質(zhì)。

所述的基于材料屬性材質(zhì)創(chuàng)建子模塊,根據(jù)材料屬性,構(gòu)建基于不同材料類型的貼圖與材質(zhì)庫,可根據(jù)材料名稱檢索材質(zhì),并可修改材質(zhì)參數(shù);

所述的基于渲染要求材質(zhì)創(chuàng)建子模塊,根據(jù)同一模型的不同渲染要求,構(gòu)建常見和特定渲染效果的材質(zhì)庫,可根據(jù)渲染效果檢索材質(zhì),并可修改材質(zhì)參數(shù);

所述的基于預(yù)制物體材質(zhì)創(chuàng)建子模塊,根據(jù)常用構(gòu)件模型,創(chuàng)建預(yù)制物體,并綁定貼圖與材質(zhì),可根據(jù)預(yù)制物體名稱檢索材質(zhì);

所述的材質(zhì)創(chuàng)建子模塊采用基于標(biāo)準(zhǔn)模板著色器創(chuàng)建標(biāo)準(zhǔn)材質(zhì)(除基于預(yù)制構(gòu)件的特殊材質(zhì)),包括:

材質(zhì)貼圖選擇子單元,根據(jù)模型材料和渲染效果,選取合適的材質(zhì)貼圖;

材質(zhì)創(chuàng)建子單元,根據(jù)標(biāo)準(zhǔn)材質(zhì)庫所未包含的特定的渲染需求或者優(yōu)化渲染效果,通過標(biāo)準(zhǔn)模板著色器的統(tǒng)一光效參數(shù)調(diào)節(jié)面板(與標(biāo)準(zhǔn)模板著色器的內(nèi)容一一對應(yīng),包含主圖、主色、高光、反射等參數(shù))進(jìn)行參數(shù)修改,并將最優(yōu)參數(shù)對應(yīng)的材質(zhì)保存在標(biāo)準(zhǔn)材質(zhì)或個性材質(zhì)。個性材質(zhì)由所創(chuàng)建的用戶設(shè)置訪問權(quán)限。如圖1所示,當(dāng)數(shù)量不止一個的同一類物體公用同一個材質(zhì)時,一個或其中若干個的該類物體的渲染效果要求為a效果,而剩余其他該類物體的渲染效果要求為b效果,則b效果下的材質(zhì)為個性材質(zhì)。由這些材質(zhì)組成的材質(zhì)庫描述為個性材質(zhì)庫。個性材質(zhì)一般僅在某一個特定項目中或某一用戶使用,可根據(jù)創(chuàng)建個性材質(zhì)的用戶設(shè)置訪問權(quán)限決定是否可以用于其他項目或者其他用戶。個性材質(zhì)庫的建立是面向模型渲染多樣性的一個中間過程,由標(biāo)準(zhǔn)材質(zhì)庫內(nèi)的標(biāo)準(zhǔn)材質(zhì)經(jīng)標(biāo)準(zhǔn)模板著色器的參數(shù)調(diào)節(jié)面板調(diào)節(jié)參數(shù)所得。所述的權(quán)限訪問子模塊用于根據(jù)權(quán)限等級管理標(biāo)準(zhǔn)材質(zhì)庫的使用。公有權(quán)限面向所有用戶支持訪問與使用公有權(quán)限材質(zhì),私有權(quán)限僅對擁有私有權(quán)限者支持訪問與使用私有權(quán)限材質(zhì)。也包括,私有權(quán)限者可訪問與使用公有權(quán)限材質(zhì)。

材質(zhì)選擇模塊是基礎(chǔ)材質(zhì)庫與渲染模塊之間的銜接橋梁,其實現(xiàn)功能的可讀寫文件為材質(zhì)功能表(以下簡稱材質(zhì)表),材質(zhì)表是一種可讀寫文件,以一種固定格式的規(guī)范語言實現(xiàn)虛擬場景內(nèi)3d模型及其場景與材質(zhì)庫內(nèi)材質(zhì)之間的匹配關(guān)系及參數(shù)接口,其格式可以為txt、excel等。其主要實現(xiàn)兩個功能:一是標(biāo)的對象及其材料屬性;二是材質(zhì)檢索,多種檢索方式并存。檢索方式以基于材料類型檢索為主。在其他特殊情況下,可以以預(yù)制構(gòu)件的標(biāo)準(zhǔn)材質(zhì)或直接指定材質(zhì)實現(xiàn)基礎(chǔ)材質(zhì)庫的檢索。實現(xiàn)材質(zhì)檢索功能的語言規(guī)范的思想如圖2所示:功能表obj_00所在行,可根據(jù)材料類型檢索;obj_01所在行,在當(dāng)前物體材料未能知曉、不可描述和常規(guī)通用物體的情況下,可根據(jù)預(yù)制構(gòu)件直接檢索;obj_03所在,當(dāng)采用特殊材質(zhì)的情況下,可直接檢索該名字的材質(zhì)進(jìn)行渲染。上述示例中,對象名稱是指待渲染的模型對象;對象類型以該對象在虛擬場景的作用劃分,可大致分為對象(obj)、燈光(lgt,見圖4中l(wèi)gt_01所在行)、天空(sky)、地形(pla)、人物(actor)等;材料類型即為對象的材料種類,諸如不銹鋼金屬m、光滑塑料p等(可通過基礎(chǔ)材質(zhì)庫查看);預(yù)制構(gòu)件是指材質(zhì)可用于待渲染對象的對應(yīng)的模型,即待渲染物體與預(yù)制構(gòu)件的材質(zhì)相同;材質(zhì)名稱是指待渲染對象指定的材質(zhì)名稱;配置參數(shù)是通用材質(zhì)模板中各項參數(shù)設(shè)定值(圖2中配置參數(shù)列數(shù)據(jù)僅為示意,非實際參數(shù)值)。

材質(zhì)選擇模塊由四個子模塊組成,分別為:可讀寫文件(材質(zhì)功能表)創(chuàng)建模塊、加載模塊、解析模塊和編輯模塊;

可讀寫文件創(chuàng)建模塊,根據(jù)渲染要求創(chuàng)建待渲染模型與材質(zhì)的對應(yīng)關(guān)系,并由可讀寫文件記載材質(zhì)信息與主要參數(shù);

可讀寫文件加載模塊,加載填有所述對應(yīng)關(guān)系的可讀寫文件;

可讀寫文件解析模塊,解析所述可讀文件并檢索到相應(yīng)的材質(zhì),將材質(zhì)選擇結(jié)果發(fā)送給渲染模塊;

可讀寫文件編輯模塊,用于根據(jù)初步渲染效果或用戶需求編輯可讀寫文件中的信息,并由可讀寫文件加載模塊重新加載。

所述的材質(zhì)選擇模塊還包括虛擬場景的參數(shù)設(shè)定。通過可讀寫文件記載的參數(shù)設(shè)置場景內(nèi)對象(如燈光、天空、地形等)的參數(shù),完成場景渲染。例如燈光及其陰影參數(shù),有燈光類型(如方向光、點光、區(qū)域光等)、強(qiáng)度、顏色、方向等;陰影參數(shù)有色強(qiáng)、偏移量、邊界柔和度、陰影開關(guān)等。

渲染模塊有三部分內(nèi)容,分別是通用操作函數(shù)庫、通用材質(zhì)模板、參數(shù)調(diào)節(jié)面板。通用操作函數(shù)庫主要有材質(zhì)表的加載、用戶基本操作、項目參數(shù)、材質(zhì)處理(加載、復(fù)制、調(diào)參、銷毀等)等信息;通用材質(zhì)模板是標(biāo)準(zhǔn)材質(zhì)庫對應(yīng)標(biāo)準(zhǔn)模板著色器的程序描述,使得用戶可通過參數(shù)化接口調(diào)節(jié)材質(zhì)特征;參數(shù)調(diào)節(jié)面板是調(diào)節(jié)與通用材質(zhì)模板之間的交互,包含主色、高光、反射等參數(shù)的面板。

模板化渲染解決方案的實現(xiàn)流程首先構(gòu)建完備的標(biāo)準(zhǔn)材質(zhì)庫,保證標(biāo)準(zhǔn)材質(zhì)使用的著色器均相同。然后在項目開發(fā)中,過程可細(xì)分為以下步驟。

1)根據(jù)項目需求創(chuàng)建材質(zhì)功能表。根據(jù)材質(zhì)功能表的語言規(guī)范編輯待渲染場景的對象參數(shù)和待渲染模型與材質(zhì)的對應(yīng)關(guān)系。

2)加載材質(zhì)功能表。首先,根據(jù)材質(zhì)表中的內(nèi)容,設(shè)置場景參數(shù),并檢索指定的物體并快速添加對應(yīng)材質(zhì)。在完成所有場景與模型的渲染后,對場景內(nèi)多個對象或整個虛擬場景中的材質(zhì)進(jìn)行自動合并以及存在光影關(guān)系(高亮、倒影、反射等)模型的材質(zhì)進(jìn)行烘焙。當(dāng)虛擬場景中多個物體均為靜態(tài)物體,即項目中全過程未對這些物體進(jìn)行操作,如墻體、頂燈、支座等,則可對這些物體的網(wǎng)格和材質(zhì)進(jìn)行合并,以減少材質(zhì)數(shù)量。

3)調(diào)節(jié)材質(zhì)參數(shù)。該過程包含有場景參數(shù)調(diào)節(jié)和材質(zhì)參數(shù)調(diào)節(jié)。場景參數(shù)調(diào)節(jié)主要包括有陰影、倒影、燈光(環(huán)境光)等參數(shù)調(diào)節(jié)。以陰影為例,當(dāng)快速自動渲染效果中的陰影邊界輪廓不夠清晰時,可通過該項參數(shù)進(jìn)行定向調(diào)節(jié),以期達(dá)到更為清晰輪廓的陰影。在完成調(diào)節(jié)后,渲染模塊對該項參數(shù)調(diào)整后影響的光影關(guān)系對應(yīng)模型的材質(zhì)重新進(jìn)行烘焙。材質(zhì)參數(shù)調(diào)節(jié)的基礎(chǔ)是采用統(tǒng)一的標(biāo)準(zhǔn)模板著色器,因此可以針對渲染參數(shù)進(jìn)行統(tǒng)一的修改與優(yōu)化。標(biāo)準(zhǔn)模板著色器包含有高光、反射、顯影、法向凹凸等參數(shù)。以法向凹凸為例,用戶可以調(diào)節(jié)法向z方向的系數(shù)來表現(xiàn)模型表面凹凸的程度。

如圖3的示例中的步驟①、②、③所示,快速渲染的流程依次是:①待渲染模型(渲染狀態(tài)記錄為狀態(tài)0)和相應(yīng)材質(zhì)功能表;②加載待渲染模型材質(zhì)功能表,自動生成快速渲染(記錄為狀態(tài)1);③用戶針對局部或單個模型進(jìn)行優(yōu)化與改進(jìn)材質(zhì)調(diào)整并獲得最終渲染效果(記錄為狀態(tài)2)。

1.2三維在場uv貼圖

該技術(shù)旨在實現(xiàn)基于uv貼圖原理的三維模型在場uv貼圖。uv是紋理貼圖的坐標(biāo),可精確定位到3d模型表面。目前,uv貼圖過程多以將三維模型進(jìn)行二維展平成平面圖(內(nèi)含三維表面與平面坐標(biāo)對應(yīng)關(guān)系),然后在該平面圖的繪制圖片信息,最后將該平面圖貼于三維物體表面。已有技術(shù)過程專業(yè)、界面復(fù)雜、操作流程多。本發(fā)明該技術(shù)直接將特征貼圖作為對象在三維模型表面進(jìn)行定位、調(diào)整、映射以及渲染。

三維在場uv貼圖的具體流程如圖4所示:先獲取模型表面的mesh網(wǎng)格;在場選擇指定渲染區(qū)域;在場調(diào)整指定渲染區(qū)域內(nèi)的材質(zhì)貼圖;材質(zhì)貼圖在指定渲染區(qū)域的表面映射;所有材質(zhì)貼圖進(jìn)行合并。

獲取模型表面的mesh網(wǎng)格。模型表面的mesh網(wǎng)格包括頂點和多個三角形數(shù)組。三角形數(shù)組僅僅是頂點的索引數(shù)組。每個頂點可以有一條法線,兩個紋理坐標(biāo),以及顏色和切線。其中紋理坐標(biāo)即為uv,提供曲面網(wǎng)格與如何將圖像紋理貼圖到曲面網(wǎng)格之間的連接。

在場選擇指定渲染區(qū)域。其方式有即時拖拽、位置捕捉、邊界變形三種方式。即時拖拽方式是指將貼圖拖拽至模型表面后,通過多次拖拽之后移動到滿意的位置的過程。位置捕捉方式是對貼圖區(qū)域的邊界和定點進(jìn)行智能捕捉,有頂點捕捉、邊界捕捉、垂直捕捉、水平捕捉四種形式。頂點捕捉為可優(yōu)先選擇離定位點最近的uv坐標(biāo);邊界捕捉為可優(yōu)先選擇明顯特征邊界,如立方體平面邊界;垂直(水平)捕捉是可快速選擇相對于當(dāng)前定位界面的垂直(水平)。位置捕捉還包括基于模型特征的局部選擇,例如選擇五角星模型的一個角,一個桌面模型的桌面,一個葫蘆模型的下半個較大球體。一個邊界變形是在基礎(chǔ)圖形的基礎(chǔ)上,將邊界設(shè)為多線段,每個線段定點和中線線條都可進(jìn)行拖拽變形,從而獲得新的圖形。如圖5(a)所示,一個圓形變形為“0”形,①圖為基礎(chǔ)圖形;②圖為變形過程,圖示中左右兩點分別向內(nèi)移動小段距離,此時圓形對應(yīng)的圓弧也發(fā)生相應(yīng)的形變;③圖為變形后的圖形。圖5(b)為一個基礎(chǔ)正方形圖形,經(jīng)過邊界變形后變成“e”形。

在場調(diào)整指定渲染區(qū)域內(nèi)的材質(zhì)貼圖,其方式有縮放、平鋪、旋轉(zhuǎn)三種方式。其中縮放有均勻縮放和非均勻縮放。均勻縮放是指材質(zhì)貼圖進(jìn)行二維拉伸與壓縮。非均勻縮放尤其應(yīng)用于真實物體的材質(zhì)區(qū)域具有不規(guī)則性,如相對邊界平行但長度不相等、相對邊界不平行等情況,如圖6所示,由原abcd組成的區(qū)域α通過縮放頂點的移動調(diào)整為新的由a’b’c’d’區(qū)域β。平鋪是以材質(zhì)貼圖的像素為標(biāo)準(zhǔn),完全平鋪在指定渲染區(qū)域。當(dāng)出現(xiàn)材質(zhì)貼圖的形狀與指定渲染區(qū)域的形狀不一致或未完全填充(如材質(zhì)貼圖只是指定渲染區(qū)域中的一個較小區(qū)域),需要多張材質(zhì)貼圖進(jìn)行渲染。當(dāng)材質(zhì)貼圖的區(qū)域大于指定渲染區(qū)域時,在表面映射時不會渲染指定區(qū)域以外的區(qū)域。旋轉(zhuǎn)是實現(xiàn)調(diào)整材質(zhì)貼圖在指定渲染區(qū)域中的角度。

材質(zhì)貼圖在指定渲染區(qū)域的表面映射。映射方法有標(biāo)準(zhǔn)映射、投影映射和立方體映射和其他標(biāo)準(zhǔn)體映射,如球、圓柱等。標(biāo)準(zhǔn)映射是指根據(jù)紋理貼圖的與模型上的紋理坐標(biāo)進(jìn)行一一對應(yīng),且不能放大和縮小;投影映射是根據(jù)投影原理將紋理貼圖投射到選擇區(qū)域,具有自適應(yīng)性,能進(jìn)行拉伸、壓縮、放大和縮小等操作。立方體映射可拆解為六個二維平面,利用六面體的朝向確定映射坐標(biāo)。其他標(biāo)準(zhǔn)體映射和立方體映射類似,原理均為根據(jù)標(biāo)準(zhǔn)體的位置與姿態(tài)確定映射坐標(biāo)。

所有材質(zhì)貼圖進(jìn)行合并。步驟可分為三步:一是創(chuàng)建新的材質(zhì);二是根據(jù)網(wǎng)格uv確定各個合并貼圖的位置;三是把新的材質(zhì)載體賦予給物體。合并的好處有兩點:利于之后材質(zhì)的烘焙,提高烘焙效率;減少渲染函數(shù)的調(diào)用,drawcall的數(shù)量降低至1。該方法也適用于多個近距離靜態(tài)物體之間的材質(zhì)合并,能有效提高渲染效率。通常,該方法進(jìn)行貼圖合并的時候要求具有相同的著色器,不同著色器的情況需要進(jìn)行分類處理。而基于模板化渲染的標(biāo)準(zhǔn)材質(zhì)庫(已具有相同著色器),則無須考慮標(biāo)準(zhǔn)材質(zhì)合并的這個問題。

1.3手繪高光

該技術(shù)的基礎(chǔ)是假特效處理,尤其是高光光效。實時高光要求占用更多運行設(shè)備的顯卡資源。一般在不影響用戶體驗的情況下,尤其在高光要求不高,無光源,實時光效復(fù)雜,烘焙效率低等情況,采用假高光烘焙。目前,假高光的做法是在實時高光的基礎(chǔ)上進(jìn)行烘焙,從而保存為靜態(tài)高光。本發(fā)明的手繪高光可完全遵循開發(fā)者意圖自定義繪制,對渲染效果起到“畫龍點睛”的效果,完成手工添加高光、陰影,處理模型表面不平整處的斑點式分布的光效,單色非高光物體模型表面的非均勻光效,多光源重疊陰影光效。

模型表面不平整處的斑點式分布的光效主要出現(xiàn)在大型虛擬鑄造件設(shè)備模型,如水電站、飛機(jī)等。該類模型表面粗糙度較大,顏色單一,但觀察者視角離模型或部分模型較遠(yuǎn),所見的模型表面往往出現(xiàn)大面積高光或無反光,難以體現(xiàn)現(xiàn)實中的表面不平整所引起的斑點式光效。單色非高光物體模型(如白色墻面)表面在虛擬模型上一般呈現(xiàn)出黯淡無光的“死寂”現(xiàn)象,使得模型缺少立體感,逼真感。多光源重疊陰影光效一般發(fā)生在具有多個光源設(shè)置并不能確定主光源的虛擬場景。一個模型具有多種陰影,且陰影的邊界輪廓較為模糊。通過手繪高光的方法可以在虛擬場景和模型中優(yōu)化渲染效果,營造高度逼真的環(huán)境。

手繪高光的實現(xiàn)技術(shù)步驟(如圖7所示)為繪筆參數(shù)設(shè)置、實時獲得手繪軌跡并修正、根據(jù)軌跡參數(shù)生成高光材質(zhì)、手繪高光渲染。因此手繪高光方法還能通過設(shè)置顏色實現(xiàn)陰影效果。

繪筆參數(shù)設(shè)置。繪筆參數(shù)是指繪制高光時,繪筆填充顏色、漸變方向和邊界柔和度。漸變方向有由中心向四周漸變、自上而下自右而左、扇形漸變等形式;邊界柔和度是指邊界上漸變程度。繪筆形狀為圓形,基本形狀參數(shù)為圓心位置p、直徑d、衰減寬度w,如圖8所示。直徑p支持函數(shù)變化,表示為漸變方向為由中心向四周漸變,漸變寬度支持在徑向?qū)挾壬系囊?guī)律ω(w)。圓形內(nèi)部的填充顏色為τ(c)。所以,形狀參數(shù)(表示為φ)可以表示為

實時獲得手繪軌跡并進(jìn)行處理。用戶通過鼠標(biāo)或觸摸操進(jìn)行軌跡繪制。手繪特征記錄為軌跡,表示為ψ。獲得方法為逐幀獲取鼠標(biāo)在貼圖上的位置。該位置可以在uv、像素和模型表面mesh之間相互轉(zhuǎn)換。在逐幀獲取的情況下,并不能完整地獲取軌跡上的每一點。因此,需要對貼圖上的位置進(jìn)行插值計算。需要進(jìn)行插值計算的情況有以下兩種:一是逐幀獲取的位置點,尤其在像素點較大的時候更為明顯,如圖9所示;二是關(guān)鍵幀所在的位置點間距過大,如當(dāng)關(guān)鍵位置點丟失或者移動速度過快未及時采集到關(guān)鍵位置點,如圖10所示。情況一,在圖9中可見,當(dāng)繪筆像素點數(shù)較低時并不明顯,當(dāng)隨著像素點數(shù)逐漸增大,其空白區(qū)域逐漸增大。其解決辦法為針對每一段非直線轉(zhuǎn)折點中間軌跡所對應(yīng)的區(qū)域填充為矩形,直線轉(zhuǎn)折點兩端保持原始形狀;圓弧或直線轉(zhuǎn)折點處,則根據(jù)軌跡內(nèi)半徑和外半徑組成的環(huán)形區(qū)域填充。情況二,在圖10中可見,同樣的關(guān)鍵位置點樣本,可能存在真實軌跡情況有多種。其解決辦法根據(jù)軌跡上下段信息擬合真實軌跡。定義軌跡ψ=ψm(p,n,v),其中m為軌跡的關(guān)鍵位置點數(shù),p為關(guān)鍵位置點uv坐標(biāo),n該點的運行矢量方向(指向下一個位置點),v為該點的運行速度,計算公式為(不考慮跨越多幀的情況,正常t=1,單位為幀)。那么在第i(1<i≤m)點的情況下,從第i-1點到第i點,標(biāo)準(zhǔn)軌跡長度為li-1=(vi-1+vi)/2,實際軌跡長度為li-1=t*q*(vi-1+vi)/2,其中q為補(bǔ)償系數(shù),為兩個特定的值,較小的記為qmin,較大的記為qmax。當(dāng)li-1滿足小于qmin計算所得長度,則按照圖10(a)進(jìn)行插值;當(dāng)li-1在qmin與qmax計算所得長度之間,則進(jìn)行圖10(b)的圓弧插值;當(dāng)li-1大于qmax計算所得長度,則采用圖10(c)的插值。當(dāng)因速度過大則按照圖10(a)進(jìn)行插值。

根據(jù)繪筆參數(shù)和軌跡參數(shù)生成高光材質(zhì)。生成高光材質(zhì)的過程是根據(jù)手繪軌跡對合適大小的透明圖片依照繪筆參數(shù)進(jìn)行處理,從而獲得滿足渲染要求的高光材質(zhì)貼圖,并生成高光材質(zhì)。

手繪高光渲染。將由手繪輸入生成的高光材質(zhì)賦予待渲染模型,完成手繪高光渲染。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
吉安县| 荆州市| 茂名市| 富蕴县| 张家口市| 锡林浩特市| 绥中县| 兴山县| 卢氏县| 巴南区| 贞丰县| 龙川县| 忻城县| 阳朔县| 南丰县| 临城县| 上蔡县| 集贤县| 永登县| 定兴县| 溧水县| 信丰县| 金溪县| 新泰市| 望城县| 鄱阳县| 卓尼县| 增城市| 桦川县| 文山县| 潮州市| 通辽市| 犍为县| 丹江口市| 辽源市| 启东市| 西乌珠穆沁旗| 澄江县| 青岛市| 阜康市| 虞城县|