本申請涉及智慧家庭,具體而言,涉及一種模型渲染方法及裝置、存儲介質(zhì)及電子裝置。
背景技術(shù):
1、在三維場景中,業(yè)界對降低模型對內(nèi)存的占用這個問題常見的解決方案就是不斷降低質(zhì)量,直至被模型占用的內(nèi)存降低到可接受的范圍。降低質(zhì)量主要從兩個方面入手:精簡模型自身的結(jié)構(gòu)和壓縮模型表面的貼圖。其中,壓縮模型表面的貼圖是更為高效的。
2、相關(guān)技術(shù)中,降低貼圖對內(nèi)存的占用的方式是:降低模型的貼圖的分辨率。但存在貼圖的分辨率已經(jīng)降低到維持模型的渲染質(zhì)量所能接收到下限,還是無法降低模型的內(nèi)存占用的情況。
3、針對相關(guān)技術(shù)中,在三維場景中,如何優(yōu)化模型使得優(yōu)化后的模型在保證質(zhì)量的同時減少內(nèi)存占用等問題,尚未提出有效的解決方案。
4、因此,有必要對相關(guān)技術(shù)予以改良以克服相關(guān)技術(shù)中的所述缺陷。
技術(shù)實(shí)現(xiàn)思路
1、本申請實(shí)施例提供了一種模型渲染方法及裝置、存儲介質(zhì)及電子裝置,以至少解決相關(guān)技術(shù)中在三維場景中,如何優(yōu)化模型使得優(yōu)化后的模型在保證質(zhì)量的同時減少內(nèi)存占用的問題。
2、根據(jù)本申請實(shí)施例的一方面,提供一種模型渲染方法,包括:將第一模型拆解為多個區(qū)塊,并將所述多個區(qū)塊的三維空間坐標(biāo)分別映射到二維平面,得到所述第一模型對應(yīng)的貼圖紋理坐標(biāo),其中,所述貼圖紋理坐標(biāo)用于指示所述第一模型上的任一點(diǎn)的三維空間坐標(biāo)在所述二維平面上的映射坐標(biāo);通過所述貼圖紋理坐標(biāo)將用于渲染所述第一模型的多個第一貼圖合并為第二貼圖,其中,每個第一貼圖與所述第二貼圖的分辨率一致;通過所述第二貼圖對所述第一模型進(jìn)行渲染,得到第二模型。
3、在一個示例性的實(shí)施例中,將所述多個區(qū)塊的三維空間坐標(biāo)分別映射到二維平面,得到所述第一模型對應(yīng)的貼圖紋理坐標(biāo),包括:確定每個區(qū)塊內(nèi)的第一點(diǎn),其中,所述第一點(diǎn)是用于將所述每個區(qū)塊的三維空間坐標(biāo)映射到二維平面的參考點(diǎn);根據(jù)所述第一點(diǎn)提取所述每個區(qū)塊內(nèi)的第二點(diǎn)和第三點(diǎn);將所述第二點(diǎn)的三維坐標(biāo)和所述第三點(diǎn)的三維坐標(biāo)分別映射到所述二維平面上的第一區(qū)域和第二區(qū)域,得到所述貼圖紋理坐標(biāo),其中,所述第一區(qū)域與所述第二區(qū)域面積相同,所述二維平面的范圍為預(yù)設(shè)范圍。
4、在一個示例性的實(shí)施例中,根據(jù)所述第一點(diǎn)提取所述每個區(qū)塊內(nèi)的第二點(diǎn)和第三點(diǎn),包括:確定所述每個區(qū)塊內(nèi)中的第四點(diǎn)與所述第一點(diǎn)的角度,其中,所述第四點(diǎn)是所述每個區(qū)塊內(nèi)除了所述第一點(diǎn)之外的其余點(diǎn)中的任意一點(diǎn);將與所述第一點(diǎn)的所述角度大于預(yù)設(shè)角度的第四點(diǎn)確定為所述第二點(diǎn);將與所述第一點(diǎn)的所述角度小于或等于所述預(yù)設(shè)角度的第四點(diǎn)確定為所述第三點(diǎn)。
5、在一個示例性的實(shí)施例中,將所述第二點(diǎn)的三維坐標(biāo)和所述第三點(diǎn)的三維坐標(biāo)分別映射到所述二維平面上的第一區(qū)域和第二區(qū)域之前,所述方法還包括:確定所述每個區(qū)塊對應(yīng)的第三貼圖包括的信息量是否大于預(yù)設(shè)閾值,其中,所述第三貼圖是所述每個區(qū)塊在所述多個第一貼圖中對應(yīng)的貼圖;在所述信息量大于所述預(yù)設(shè)閾值的情況下,為所述每個區(qū)塊設(shè)置第一面積系數(shù);在所述信息量小于或等于所述預(yù)設(shè)閾值的情況下,為所述每個區(qū)塊設(shè)置第二面積系數(shù),其中,所述第一面積系數(shù)大于所述第二面積系數(shù),所述第一面積系數(shù)和所述第二面積系數(shù)均用于指示所述每個區(qū)塊投影到所述二維平面上允許占用的面積。
6、在一個示例性的實(shí)施例中,確定所述每個區(qū)塊對應(yīng)的第三貼圖包括的信息量是否大于預(yù)設(shè)閾值,包括:獲取所述第三貼圖的貼圖名稱;從所述貼圖名稱中提取第一字段;在所述第一字段與預(yù)設(shè)字段相同的情況下,確定所述第三貼圖包括的信息量大于預(yù)設(shè)閾值;在所述第一字段與所述預(yù)設(shè)字段不相同的情況下,確定所述第三貼圖包括的信息量小于或等于預(yù)設(shè)閾值。
7、在一個示例性的實(shí)施例中,通過所述貼圖紋理坐標(biāo)將用于渲染所述第一模型的多個第一貼圖合并為第二貼圖,包括:確定每個第一貼圖在所述多個區(qū)塊中對應(yīng)的目標(biāo)區(qū)塊;根據(jù)所述貼圖紋理坐標(biāo)將所述每個第一貼圖上的第五點(diǎn)中包括的貼圖信息輸出到所述目標(biāo)區(qū)塊在所述二維平面上對應(yīng)的第三區(qū)域,以得到所述第二貼圖。
8、在一個示例性的實(shí)施例中,通過所述第二貼圖對所述第一模型進(jìn)行渲染,得到第二模型,包括:通過所述貼圖紋理坐標(biāo)從所述第二貼圖中獲取所述第一模型的任一點(diǎn)的貼圖信息;通過所述任一點(diǎn)的貼圖信息對所述第一模型進(jìn)行渲染,得到所述第二模型。
9、根據(jù)本申請實(shí)施例的另一方面,還提供了一種模型渲染裝置,包括:拆解模塊,用于將第一模型拆解為多個區(qū)塊,并將所述多個區(qū)塊的三維空間坐標(biāo)分別映射到二維平面,得到所述第一模型對應(yīng)的貼圖紋理坐標(biāo),其中,所述貼圖紋理坐標(biāo)用于指示所述第一模型上的任一點(diǎn)的三維空間坐標(biāo)在所述二維平面上的映射坐標(biāo);合并模塊,用于通過所述貼圖紋理坐標(biāo)將用于渲染所述第一模型的多個第一貼圖合并為第二貼圖,其中,每個第一貼圖與所述第二貼圖的分辨率一致;渲染模塊,用于通過所述第二貼圖對所述第一模型進(jìn)行渲染,得到第二模型。
10、根據(jù)本申請實(shí)施例的又一方面,還提供了一種計算機(jī)可讀的存儲介質(zhì),該計算機(jī)可讀的存儲介質(zhì)中存儲有計算機(jī)程序,其中,該計算機(jī)程序被設(shè)置為運(yùn)行時執(zhí)行上述模型渲染方法。
11、根據(jù)本申請實(shí)施例的又一方面,還提供了一種電子裝置,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計算機(jī)程序,其中,上述處理器通過計算機(jī)程序執(zhí)行上述模型渲染方法。
12、根據(jù)本申請實(shí)施例的又一方面,還提供了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述模型渲染方法。
13、通過本申請,將第一模型拆解為多個區(qū)塊,并將所述多個區(qū)塊的三維空間坐標(biāo)分別映射到二維平面,得到所述第一模型對應(yīng)的貼圖紋理坐標(biāo),其中,所述貼圖紋理坐標(biāo)用于指示所述第一模型上的任一點(diǎn)的三維空間坐標(biāo)在所述二維平面上的映射坐標(biāo);進(jìn)而通過所述貼圖紋理坐標(biāo)將用于渲染所述第一模型的多個第一貼圖合并為與多個第一貼圖分辨率一致的第二貼圖;最后通過所述第二貼圖對所述第一模型進(jìn)行渲染,得到第二模型。也就是說,通過對三維模型的三維空間坐標(biāo)進(jìn)行映射得到貼圖紋理坐標(biāo),并根據(jù)貼圖紋理坐標(biāo)將多個第一貼圖合并為與多個第一貼圖分辨率一致的第二貼圖,可以直接降低模型的貼圖對內(nèi)存的占用,使得通過第二貼圖渲染得到的第二模型的內(nèi)存占用也降低。因此,采用上述技術(shù)方案,解決了相關(guān)技術(shù)中在三維場景中,如何優(yōu)化模型使得優(yōu)化后的模型在保證質(zhì)量的同時減少內(nèi)存占用的問題;實(shí)現(xiàn)了保證模型質(zhì)量的同時降低內(nèi)存占用的技術(shù)效果。
1.一種模型渲染方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的模型渲染方法,其特征在于,將所述多個區(qū)塊的三維空間坐標(biāo)分別映射到二維平面,得到所述第一模型對應(yīng)的貼圖紋理坐標(biāo),包括:
3.根據(jù)權(quán)利要求2所述的模型渲染方法,其特征在于,根據(jù)所述第一點(diǎn)提取所述每個區(qū)塊內(nèi)的第二點(diǎn)和第三點(diǎn),包括:
4.根據(jù)權(quán)利要求2所述的模型渲染方法,其特征在于,將所述第二點(diǎn)的三維坐標(biāo)和所述第三點(diǎn)的三維坐標(biāo)分別映射到所述二維平面上的第一區(qū)域和第二區(qū)域之前,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的模型渲染方法,其特征在于,確定所述每個區(qū)塊對應(yīng)的第三貼圖包括的信息量是否大于預(yù)設(shè)閾值,包括:
6.根據(jù)權(quán)利要求1所述的模型渲染方法,其特征在于,通過所述貼圖紋理坐標(biāo)將用于渲染所述第一模型的多個第一貼圖合并為第二貼圖,包括:
7.根據(jù)權(quán)利要求1所述的模型渲染方法,其特征在于,通過所述第二貼圖對所述第一模型進(jìn)行渲染,得到第二模型,包括:
8.一種模型渲染裝置,其特征在于,包括:
9.一種計算機(jī)可讀的存儲介質(zhì),其特征在于,所述計算機(jī)可讀的存儲介質(zhì)包括存儲的程序,其中,所述程序運(yùn)行時執(zhí)行權(quán)利要求1至7中任一項(xiàng)所述的方法。
10.一種電子裝置,包括存儲器和處理器,其特征在于,所述存儲器中存儲有計算機(jī)程序,所述處理器被設(shè)置為通過所述計算機(jī)程序執(zhí)行權(quán)利要求1至7中任一項(xiàng)所述的方法。