国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于三維引擎實(shí)現(xiàn)三維場景構(gòu)建及渲染優(yōu)化的方法與流程

      文檔序號(hào):40007301發(fā)布日期:2024-11-19 13:36閱讀:15來源:國知局
      基于三維引擎實(shí)現(xiàn)三維場景構(gòu)建及渲染優(yōu)化的方法與流程

      本發(fā)明涉及虛擬現(xiàn)實(shí),具體涉及一種基于三維引擎實(shí)現(xiàn)三維場景構(gòu)建及渲染優(yōu)化的方法和系統(tǒng)。


      背景技術(shù):

      1、在傳統(tǒng)的三維場景設(shè)計(jì)中,地編設(shè)計(jì)師完全根據(jù)二維手繪進(jìn)行設(shè)計(jì)和制作。隨著虛擬現(xiàn)實(shí)技術(shù)的進(jìn)一步發(fā)展,三維軟件的普及和不斷完善,地編設(shè)計(jì)師在前期用手繪構(gòu)思的同時(shí),加入了一些三維軟件并開始利用其進(jìn)行渲染。

      2、虛擬現(xiàn)實(shí)技術(shù),是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)仿真系統(tǒng),它利用計(jì)算機(jī)生成一種模擬環(huán)境,使用戶沉浸到該環(huán)境中。三維引擎可以在編輯器中直接查看運(yùn)行效果,實(shí)時(shí)進(jìn)行調(diào)整和優(yōu)化,實(shí)時(shí)預(yù)覽的功能讓開發(fā)者能夠快速迭代和測試游戲內(nèi)容,節(jié)省了不必要的等待時(shí)間。

      3、目前,地編設(shè)計(jì)師們通常運(yùn)用某些三維軟件進(jìn)行設(shè)計(jì)制作三維場景,運(yùn)用arnold、v?ray軟件進(jìn)行進(jìn)一步的細(xì)化渲染,但這些軟件在運(yùn)用過程中存在如下問題:

      4、1.渲染器問題:渲染效率低下;切換環(huán)境、光線及攝像機(jī)后需要重新進(jìn)行渲染,無法實(shí)現(xiàn)所見即所得,所有參數(shù)需要進(jìn)行手動(dòng)調(diào)整,完成調(diào)整后還要進(jìn)行重新渲染,增加制作工作量和制作周期。

      5、2.普通三維場景軟件缺陷:制作精度不夠;貼圖分辨率低;無法實(shí)時(shí)預(yù)覽編輯;不能滿足地編設(shè)計(jì)師的制作需求;靈活性差,無法與引擎進(jìn)行橋接。


      技術(shù)實(shí)現(xiàn)思路

      1、為解決上述問題,本發(fā)明提供了一種基于三維引擎實(shí)現(xiàn)三維場景構(gòu)建及渲染優(yōu)化的方法和系統(tǒng),該方法及系統(tǒng)能夠整體提高三維場景的渲染速度和效果,同時(shí)提高軟件運(yùn)用互通的靈活性,滿足地編設(shè)計(jì)師的設(shè)計(jì)效果和設(shè)計(jì)需求,降低修改成本和制作周期。

      2、為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術(shù)方案:

      3、第一方面,本發(fā)明公開一種基于三維引擎實(shí)現(xiàn)三維場景構(gòu)建及渲染優(yōu)化的方法,包括以下步驟:

      4、步驟1:在三維場景軟件中進(jìn)行三維場景的編輯,得到三維場景模型;

      5、步驟2:導(dǎo)出三維場景的高度數(shù)據(jù)、網(wǎng)格頂點(diǎn)法線坐標(biāo)數(shù)據(jù)和紋理坐標(biāo)數(shù)據(jù),存儲(chǔ)為高度圖文件;

      6、步驟3:將高度圖文件導(dǎo)入三維引擎中,解析數(shù)據(jù)并構(gòu)建由頂點(diǎn)組成的三角形的三維網(wǎng)格;

      7、步驟4:計(jì)算法線紋理坐標(biāo),將整個(gè)法線紋理覆蓋整個(gè)三維網(wǎng)格,獲得高分辨率的貼圖;

      8、步驟5:將三維網(wǎng)格和高分辨率貼圖進(jìn)行結(jié)合,完成三維場景的快捷構(gòu)建及渲染。

      9、進(jìn)一步地,所述步驟2中,所述高度數(shù)據(jù)包括通過像素顏色所獲取的三維場景表面高度的最小值及最大值,也即高度閾值;以及與所述三維場景表面高度相關(guān)聯(lián)的貼圖的大小及位置信息;所述紋理坐標(biāo)數(shù)據(jù)包括材質(zhì)球?qū)傩孕畔?,以及基于高度圖圖像的各像素顏色計(jì)算出的頂點(diǎn)高度。

      10、進(jìn)一步地,所述步驟3中,解析數(shù)據(jù)的具體方法如下:

      11、步驟3-1:將文件中的高度圖數(shù)據(jù)讀入內(nèi)存中;

      12、步驟3-2:創(chuàng)建一個(gè)無符號(hào)字符類型的數(shù)組in,用于存儲(chǔ)讀取的高度圖數(shù)據(jù);所述數(shù)組in的大小等于高度圖的寬高尺寸的乘積;

      13、步驟3-3:創(chuàng)建一個(gè)輸入文件流對象?infile,并使用成員函數(shù)?open?以二進(jìn)制模式打開所述高度圖文件;

      14、步驟3-4:使用?read?函數(shù)從高度圖文件中讀取數(shù)據(jù)到in數(shù)組中,將in數(shù)組的起始地址轉(zhuǎn)換為字符指針,指定要讀取的字節(jié)數(shù)為in數(shù)組的大?。?/p>

      15、步驟3-5:讀取完成后,關(guān)閉文件;

      16、步驟3-6:通過循環(huán)將in數(shù)組中的數(shù)據(jù)復(fù)制到mheightmap數(shù)組中并進(jìn)行縮放處理;將無符號(hào)字符數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)數(shù),并乘以縮放比例得到紋理的高度值和寬度值。

      17、進(jìn)一步地,所述步驟3中,構(gòu)建由頂點(diǎn)組成的三角形的三維網(wǎng)格的具體方法如下:

      18、步驟31:創(chuàng)建紋理對象:創(chuàng)建一個(gè)與貼圖相關(guān)聯(lián)的紋理對象;

      19、步驟32:計(jì)算增量值:通過將紋理的寬度值除以實(shí)際寬度減?1,得到每個(gè)網(wǎng)格頂點(diǎn)坐標(biāo)在水平方向上的增量,以確保紋理在水平方向上正確映射到模型上;調(diào)整起始?z?坐標(biāo)的范圍,再除以實(shí)際高度值減?1,實(shí)現(xiàn)紋理在垂直方向上的均勻分布。

      20、步驟33:創(chuàng)建列表:創(chuàng)建positions?列表用以存儲(chǔ)模型的各個(gè)頂點(diǎn)位置信息并確認(rèn)模型在空間中的位置和形狀;創(chuàng)建textcoords列表用以存儲(chǔ)與紋理相關(guān)的坐標(biāo)信息,將紋理映射到模型上;創(chuàng)建indices列表將連接頂點(diǎn)形成三角形的索引信息進(jìn)行存儲(chǔ)。

      21、步驟34:列表轉(zhuǎn)換數(shù)組:將各頂點(diǎn)的位置信息posarr、紋理坐標(biāo)信息textcoordsarr、連接頂點(diǎn)形成三角形的索引信息indicesarr由列表形式轉(zhuǎn)換為數(shù)組形式。

      22、步驟35:創(chuàng)建網(wǎng)格:使用轉(zhuǎn)換后的posarr、extcoordsarr、indicesarr這三種數(shù)組創(chuàng)建更高精度三維網(wǎng)格。

      23、進(jìn)一步地,所述步驟4包括以下具體步驟:

      24、步驟41:創(chuàng)建一個(gè)?normal?列表來存儲(chǔ)相鄰頂點(diǎn)變量的位置數(shù)據(jù)信息;

      25、步驟42:索引獲取normals列表中相鄰頂點(diǎn)的位置數(shù)據(jù),通過計(jì)算相鄰頂點(diǎn)之間的差值得到頂點(diǎn)間的位移向量,設(shè)置位移向量為默認(rèn)的法線值,并將位移向量的法線值添加到normals列表中;

      26、步驟43:將normals列表轉(zhuǎn)換為數(shù)組,通過數(shù)組的轉(zhuǎn)換,得到每個(gè)相鄰頂點(diǎn)位置所對應(yīng)的法線坐標(biāo)值,將頂點(diǎn)位置的法線坐標(biāo)進(jìn)行排布并形成圖形矩陣,最終得到高分辨率的法線貼圖;

      27、步驟44:創(chuàng)建一個(gè)材質(zhì)對象material并將其應(yīng)用到三維網(wǎng)格上。

      28、進(jìn)一步地,所述步驟5具體步驟如下:

      29、在三維引擎中將步驟3和步驟4中的三維場景和高分辨率貼圖進(jìn)行結(jié)合,設(shè)置反射參數(shù),調(diào)整光的方向,利用三維引擎的光線追蹤技術(shù),查看真實(shí)的效果,根據(jù)調(diào)試的效果進(jìn)行場景的修改。

      30、第二方面,本發(fā)明公開一種基于三維引擎實(shí)現(xiàn)三維場景構(gòu)建及渲染優(yōu)化的系統(tǒng),包括以下功能模塊:

      31、模型編輯模塊,用以在三維場景軟件中進(jìn)行三維場景的編輯,得到三維場景模型;

      32、數(shù)據(jù)導(dǎo)出及存儲(chǔ)模塊,用以導(dǎo)出三維場景的高度數(shù)據(jù)、網(wǎng)格頂點(diǎn)法線坐標(biāo)數(shù)據(jù)和紋理坐標(biāo)數(shù)據(jù),存儲(chǔ)為高度圖文件;

      33、數(shù)據(jù)解析及網(wǎng)格構(gòu)建模塊,用以將高度圖文件導(dǎo)入三維引擎中,解析數(shù)據(jù)并構(gòu)建由頂點(diǎn)組成的三角形的三維網(wǎng)格;

      34、貼圖獲取模塊,用以計(jì)算法線紋理坐標(biāo),將整個(gè)法線紋理覆蓋整個(gè)三維網(wǎng)格,獲得高分辨率的貼圖;

      35、場景構(gòu)建及渲染模塊,用以將三維網(wǎng)格和高分辨率貼圖進(jìn)行結(jié)合,完成三維場景的快捷構(gòu)建及渲染。

      36、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:

      37、本發(fā)明通過三維軟件和三維引擎的結(jié)合使用,大大提高了軟件的靈活性,滿足了地編設(shè)計(jì)師的想象力,可以進(jìn)行更大膽和高數(shù)據(jù)量的創(chuàng)作,真正滿足地編設(shè)計(jì)師需要的設(shè)計(jì)效果及設(shè)計(jì)理念。制作出的三維場景,通過虛擬現(xiàn)實(shí)技術(shù),更大限度的還原出場景的真實(shí)效果,增加用戶對虛擬環(huán)境的沉浸感。三維引擎強(qiáng)大的實(shí)時(shí)渲染,以及光影追蹤功能,能夠讓虛擬的三維場景快速得到帶有材質(zhì)的效果。三維引擎的使用,可以使三維場景不用在切換環(huán)境、光線后進(jìn)行重新渲染,降低了時(shí)間和人力成本,提高了效率。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1