本發(fā)明涉及圖像處理領域,具體而言,涉及一種圖片的生成方法和裝置。
背景技術:
在現(xiàn)有的3d游戲中,3d游戲引擎主要針對單機游戲或是客戶端開發(fā)。從1992年第一款3d游戲問世以來,已經經過了20多年的發(fā)展,技術發(fā)展已經比較成熟,有大量的商業(yè)化引擎涌現(xiàn),比如bigworld、gamebryo、虛幻、cryengine等等。在經驗豐富的美術團隊推動下,當前各種單機游戲更基于客戶端無壓力的原因,無限增加角色模型面數(shù)及貼圖大小來實現(xiàn)高品質美術效果,以實現(xiàn)了更加生動真實的3d美術效果。然而,國內的傳統(tǒng)網絡游戲起步較晚,并且國內互聯(lián)網環(huán)境復雜,容易受到玩家硬件水品偏低和網絡流量等的限制、以及在線人數(shù)過于超負荷、開發(fā)成本低、制作團隊基礎不扎實等客觀因素均能導致普遍的端游美術效果偏低,例如,游戲中布料材質效果不真實,動物毛皮效果不真實,人物的皮膚質感不真實等。
現(xiàn)有技術中針對端游中布料材質和動物毛皮效果不真實的問題,可以通過手繪的方式繪制端游中人物的毛發(fā)。手繪的方式為集中在一張colormap上面表現(xiàn)高光、質感效果上,就是“假”的高光效果。但是,傳統(tǒng)手繪模型面數(shù)低、貼圖像素低,缺乏法線貼圖的凸凹細節(jié)表現(xiàn),并且高光顏色是固定畫死在diffusemap上,所有的凸凹細節(jié)不會隨著光照位置和顏色變化而變化,在布料材質(例如,綢緞)和動物毛皮的真實性和精度表現(xiàn)上皆有欠缺。
為了追求更加高品質的美術效果,可以在傳統(tǒng)手繪貼圖的基礎上,另 外添加其他的貼圖,用于描繪更多物體表面凸凹細節(jié)及組織關系。但是,通過該方法繪制出的綢緞凹面部分不會有反射高光的效果,高光只能呈現(xiàn)在法線的凸面,這與真實世界中存在的綢緞質感有所出入,真實的綢緞只要受光,凹面也會有精致的高光效果,所以不完全符合光學的各項異性原理,不能模擬真實綢緞質感。
在插片效果的基礎上,還可以結合各項異性(anisotropic)繪制游戲中布料(例如,綢緞)和動物的皮毛。但是,各向異性材質的運算過多,對游戲性能必然造成負擔,嚴重超出了游戲負荷載量。
針對上述的問題,目前尚未提出有效的解決方案。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種圖片的生成方法和裝置,以至少解決現(xiàn)有技術的游戲中圖片顯示效果真實性較差的技術問題。
根據本發(fā)明實施例的一個方面,提供了一種圖片的生成方法,包括:獲取第一圖片的第一模型的第一坐標和第一貼圖的第二坐標,其中,所述第一模型用于顯示光線信息,所述第一貼圖用于對所述第一模型進行貼圖,所述第一坐標為所述第一模型的三維坐標,所述第二坐標為所述第一模型的二維坐標,所述第二坐標在所述第一貼圖上的排列方向與所述第一貼圖所表現(xiàn)的紋理的方向一致,所述第一坐標和所述第二坐標具有映射關系;根據所述映射關系將所述第二坐標在所述第一貼圖上的位置所攜帶的顯示元素信息顯示在與所述第二坐標對應的第一坐標在所述第一模型的位置上,得到貼圖后的第一模型;將第二模型的凸凹細節(jié)信息應用在所述貼圖后的第一模型上,生成所述第一圖片,其中,所述第二模型為所述第一圖片的模型,用于表現(xiàn)凹凸結構的所述凸凹細節(jié)信息,所述第二模型的面數(shù)高于所述第一模型的面數(shù)。
根據本發(fā)明實施例的另一方面,還提供了一種圖片的生成裝置,包括:獲取單元,用于獲取第一圖片的第一模型的第一坐標和第一貼圖的第二坐 標,其中,所述第一模型用于顯示光線信息,所述第一貼圖用于對所述第一模型進行貼圖,所述第一坐標為所述第一模型的三維坐標,所述第二坐標為所述第一模型的二維坐標,所述第二坐標在所述第一貼圖上的排列方向與所述第一貼圖所表現(xiàn)的紋理的方向一致,所述第一坐標和所述第二坐標具有映射關系;顯示單元,用于根據所述映射關系將所述第二坐標在所述第一貼圖上的位置所攜帶的顯示元素信息顯示在與所述第二坐標對應的第一坐標在所述第一模型的位置上,得到貼圖后的第一模型;生成單元,用于將第二模型的所述凸凹細節(jié)信息應用在所述貼圖后的第一模型上,生成所述第一圖片,其中,所述第二模型為所述第一圖片的模型,用于表現(xiàn)凹凸結構的凸凹細節(jié)信息,所述第二模型的面數(shù)高于所述第一模型的面數(shù)。
在本發(fā)明實施例中,采用獲取第一圖片的第一模型的第一坐標和第一貼圖的第二坐標;根據映射關系將第二坐標在第一貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上,得到貼圖后的第一模型;將第二模型的凸凹細節(jié)信息應用在貼圖后的第一模型上,生成第一圖片方式。通過第一坐標和第二坐標的映射關系,將第二坐標在第一貼圖上的位置所攜帶的顯示元素顯示在第一模型中與第二坐標對應的第一坐標中,然后,將第二模型的凹凸細節(jié)信息應用到貼圖后的第一模型中,得到貼圖后的第一模型,其中,由于第一貼圖中第二坐標的排列方向與第一貼圖所表現(xiàn)的紋理方向一致,達到了提高該圖片的真實度的目的,從而實現(xiàn)了繪制逼真效果的圖片的技術效果,進而解決了現(xiàn)有技術的游戲中圖片顯示效果真實性較差的技術問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
圖1是根據本發(fā)明實施例的硬件結構的架構圖;
圖2是根據本發(fā)明實施例的圖片的生成方法的流程圖;
圖3是根據本發(fā)明實施例的一種可選的第二坐標排列方向和紋理方向的示意圖;
圖4是根據本發(fā)明實施例的一種可選的第一模型和第二模型的示意圖;
圖5是根據本發(fā)明實施例的一種可選的綢緞圖像隨高光和灰度值變化的效果示意圖;
圖6是根據本發(fā)明實施例的一種可選的預設光照模型的結構圖;
圖7是根據本發(fā)明實施例的一種可選綢緞紋理的示意圖;
圖8是根據本發(fā)明實施例的一種可選的細節(jié)貼圖的示意圖;
圖9是根據本發(fā)明實施例的一種可選的動物皮毛隨細節(jié)貼圖的大小的示意圖;
圖10是根據本發(fā)明實施例的圖片的生成裝置的示意圖;以及
圖11是根據本發(fā)明實施例的終端的硬件結構圖。
具體實施方式
為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排 他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
專業(yè)術語解釋
3d游戲引擎:則特指場景為3d表現(xiàn),整合了各種3d圖形算法和3d碰撞算法的游戲引擎。
各向異性材質(anisotropic):主要是指光學的各向異性表現(xiàn),由于晶體的各個方向折射率不一樣,這個方向是指與光的偏振方向重合的方向,在立體空間,三個方向折射率都相同就叫各向同性晶體,只有兩個方向相同,另一個方向不同叫單軸晶體,三個方向都不相同叫雙軸晶體。
mmorpg:massivelymultiple-playeronlinerole-playinggame,即大型多人在線角色扮演游戲。
高光:光源照射到物體然后反射到人的眼睛里時,物體上最亮的那個點就是高光,高光不是光,而是物體上最亮的部分,指畫面調子最亮的一個點,表現(xiàn)的是物體直接反射光源的部分,多見于質感比較光滑的物體。暗部由于受周圍物體的反射作用,會產生反光。反光作為暗部的一部分,一般要比亮部最深的中間顏色要深。
高模(highpolymesh):高模是高細節(jié)高精度的3d模型,高??瓷先ナ直普婕毠?jié)非常豐富,模型的面數(shù)也相當?shù)母?,高精度模型大多在雕刻軟件zbrush、mudbox里面完成。
低模(lowpolymesh):在高?;A上做的提煉,面數(shù)比高模更低,目的是將高模的凸凹細節(jié)信息,通過normalmap表現(xiàn)在低模上,是一種更高效、低耗的模型實現(xiàn)形式。
diffusemap(漫反射貼圖):用于表現(xiàn)物體整體固有色相特征的顏色貼圖,近似于我們稱為的colormap(顏色貼圖)。
specularmap(高光貼圖):用于表現(xiàn)物體受光面的高光色相、強弱的貼圖。是反應光線照射在物體表面的高光區(qū)域時所產生的環(huán)境反射,它的作用是反映物體高光區(qū)域效果。
normalmap(法線貼圖):用于表現(xiàn)物體凸凹體量的貼圖。法線貼圖是可以應用到3d表面的特殊紋理,不同于以往的紋理只可以用于2d表面。作為凹凸紋理的擴展,它使每個平面的各像素擁有了高度值,包含了許多細節(jié)的表面信息,能夠在平平無奇的物體外形上,創(chuàng)建出許多種特殊的立體視覺效果。
實施例1
根據本發(fā)明實施例,提供了一種圖片的生成方法。
可選地,在本實施例中,上述的圖片的生成方法可以應用于如圖1所示的服務器104和終端102所構成的硬件環(huán)境中。圖1是根據本發(fā)明實施例的硬件環(huán)境的示意圖,如圖1所示,服務器104通過網絡與終端102進行連接,上述網絡包括但不限于:廣域網、城域網或局域網,終端102并不限定于計算機、手機、平板電腦等。
圖2是根據本發(fā)明實施例的圖片的生成方法的流程圖。如圖2所示,該圖片的生成方法包括以下步驟:
步驟s202,獲取第一圖片的第一模型的第一坐標和第一貼圖的第二坐標,其中,第一模型用于顯示光線信息,第一貼圖用于對第一模型進行貼圖,第一坐標為第一模型的三維坐標,第二坐標為第一模型的二維坐標,第二坐標在第一貼圖上的排列方向與第一貼圖所表現(xiàn)的紋理的方向一致,第一坐標和第二坐標具有映射關系。
具體地,第一模型可以為用于顯示第一圖片的光線信息和顏色信息的低精度模型,第一坐標可以為該低精度模型(又可以稱為:低模)的三維坐標(例如,x/y/z坐標)。第二坐標既是第一貼圖中的二維坐標(例如,uv坐標),又是該第一模型的二維坐標。其中,上述uv坐標又稱為uv 紋理坐標),其中,u為二維平面(例如第一貼圖)水平方向上的坐標,v為二維平面垂直方向上的坐標。第一模型上的三維坐標與uv坐標具有映射關系,每個三維坐標對應一個uv坐標,因此,可以將三維坐標上的某個點對應到uv坐標上的一個點。因此,第一坐標和第二坐標具有映射關系可以理解為,第一模型中的三維坐標可以映射到第二坐標。其中,第二坐標的排列方向與第一貼圖的紋理方向一致,如圖3所示,圖3中“.”所示即為第二坐標,“向下指向的粗箭頭”表示第一貼圖的紋理方向,通過圖3可以看出,第二坐標的排列方向與紋理方向保持一致。
步驟s204,根據映射關系將第二坐標在第一貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上,得到貼圖后的第一模型。
具體地,依據第一坐標和第二坐標的映射關系,可以將第一貼圖中第二坐標所在位置所攜帶的顯示元素信息(例如,光照信息)顯示在第一模型中與第二坐標對應的第一坐標所在位置上。
步驟s206,將第二模型的凸凹細節(jié)信息應用在貼圖后的第一模型上,生成第一圖片,其中,第二模型為第一圖片的模型,用于表現(xiàn)凹凸結構的凸凹細節(jié)信息,第二模型的面數(shù)高于第一模型的面數(shù)。
具體地,在本發(fā)明實施例中,第二模型可以為用于表現(xiàn)凹凸細節(jié)信息的高精度模型(又可以稱為高模)。例如,當想要突出綢緞布料的褶皺時,可以在該綢緞布料的高精度模型的制作過程中,突出該綢緞布料的褶皺的體量,然后,將該高精度模型制作完成的褶皺顯示在上述貼圖后的低精度模型中。需要說明的是,上述高精度模型和低精度模型均為第一圖片的模型。又例如,當想突出某一游戲中動物肌肉的凹凸輪廓時,可以在高精度模型的制作過程中,突出動物肌肉的凹凸輪廓,然后,將該高精度模型中制作完成的凹凸細節(jié)信息應用在上述貼圖后的第一模型中,這樣,就可以在貼圖后的低精度模型中顯示該動物肌肉的凹凸輪廓。
需要說明的是,動物皮毛中將高模凸凹細節(jié)信息應用在貼圖后的第一 模型上沿用綢緞的原理,唯一不同的是由于綢緞會產生連續(xù)性高光,相對減弱了凸凹細節(jié),動物皮毛中常規(guī)的高模制作是將毛皮雕刻出來,附于皮毛材質后整體結構非常平,缺乏豐富的高光效果。于是在高模制作中突出動物的解剖結構,盡量夸張凸凹結構關系,最終得到完美的高光效果。
將上述圖片的生成方法生成的圖片應用到游戲中。游戲設計人員設計某一游戲(例如,游戲天涯明月刀)中人物角色時,可以利用上述方法生成第一圖片。具體地,可以將設計人員已繪制好的第一貼圖中攜帶的顯示元素信息對應的應用到低精度模型的制作中,并將高精度模型中的凹凸細節(jié)信息應用到上述低精度模型中,得到第一圖片,例如,得到綢緞的圖片或者動物皮毛的圖片,以實現(xiàn)游戲中綢緞或者動物皮毛的逼真效果。在游戲運行時,可以通過游戲引擎中的相應的調用模塊根據游戲程序的運行在游戲圖形庫中調用相應的圖片,并加載在游戲的主界面中。例如,在調用《天涯明月刀》中的某一人物或者動物時,可以根據當前游戲的場景在游戲圖形庫中調用相應的綢緞的圖片或者動物皮毛圖片,并在游戲主界面中顯示出該綢緞的圖片或者動物皮毛圖片。進而,就可以在游戲的主界面上顯示出美術人員和技術人員已設計好的逼真效果的綢緞或者動物皮毛,從而提高了游戲玩家的視覺體驗,增加了游戲樂趣。
如圖4所示,左側的模型即為高精度模型,右側的模型即為低精度模型,從圖4中可以看出,高精度模型中衣服的邊緣出現(xiàn)了褶皺,低精度模型中衣服的邊緣未出現(xiàn)褶皺,可以理解為高精度模型用于表現(xiàn)凹凸結構的凹凸細節(jié)信息,且高精度模型的面數(shù)高于低精度模型。
在本發(fā)明實施例中,通過第一坐標和第二坐標的映射關系,將第二坐標在第一貼圖上的位置所攜帶的顯示元素顯示在第一模型中與第二坐標對應的第一坐標中,然后,將第二模型的凹凸細節(jié)信息應用到貼圖后的第一模型中,得到貼圖后的第一模型,其中,由于第一貼圖中第二坐標的排列方向與第一貼圖所表現(xiàn)的紋理方向一致,達到了提高該圖片的真實度的目的,從而實現(xiàn)了繪制逼真效果的圖片的技術效果,進而解決了現(xiàn)有技術 的游戲中圖片顯示效果真實性較差的技術問題。
可選地,紋理的方向包括x軸方向和y軸方向,在獲取第一貼圖的第二坐標之前,方法還包括:
步驟s1,將第二坐標的橫坐標的方向設置為與x軸方向一致,且將第二坐標的縱坐標的方向設置為與y軸方向一致;或者
步驟s2,將第二坐標的橫坐標的方向設置為與y軸方向一致,且將第二坐標的縱坐標的方向設置為與x軸方向一致。
具體地,上述紋理的方向可以為綢緞的紋理方向,還可以為動物皮毛的紋理方向等等。為了保證第一圖片所屬的物體(例如,游戲中綢緞和動物皮毛)真實性,在獲取第一坐標和第二坐標之前,可以先設置第二坐標橫坐標方向和第二坐標的縱坐標方向,保持第二坐標(即,uv坐標)的排列方向與第一貼圖所表現(xiàn)的紋理方向一致。其中,一種可選的方法為將第二坐標的橫坐標的方向設置為紋理方向的x方向,將第二坐標的縱坐標的方向設置為紋理方向的y反向;另一種可選的方法為將第二坐標的橫坐標的方向設置為紋理方向的y方向,將第二坐標的縱坐標的方向設置為紋理方向的x反向。
可選地,紋理的方向包括x軸方向和y軸方向,第一貼圖包括高光貼圖,根據映射關系將第二坐標在第一貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上包括如下步驟:
步驟s1041,采用預設光照模型分別計算x軸方向的第一光照信息和y軸方向的第二光照信息;
步驟s1043,獲取第一光照信息的第一權重和第二光照信息的第二權重,第一權重用于表示x軸方向的紋理被遮擋的程度,第二權重用于表示y軸方向的紋理被遮擋的程度;
步驟s1045,對第一光照信息與第一權重的乘積,以及第二光照信息與第二權重的乘積進行求和,得到高光貼圖的光照信息;
步驟s1047,根據映射關系將第二坐標在高光貼圖上的位置所攜帶的光照信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
當?shù)谝毁N圖為高光貼圖時,可以將高光貼圖中所攜帶的光照信息顯示在與第二坐標對應的第一坐標第一模型中的位置。在本發(fā)明實施例中,可以借助預設光照模型(例如,kaijya-kay)將高光貼圖的光照信息顯示在第一模型中。
具體地,如圖6所示模型即為kaijya-kay光照模型,t1所示方向即為綢緞紋理的方向的x軸方向,t2所示的方向即為綢緞紋理的方向的y軸方向,w所示的方向為光照方向,n為綢緞圖片的法線方向,其中,可以根據該光照模型在t1方向和t2方向分別做光照(例如,kaijya-kay),如圖6中所示的s1和s2區(qū)域。并根據該預設光照模型(例如,kaijya-kay模型)計算t2方向的第一光照信息a1和t1方向的第二光照信息a2。然后,基于第一光照信息獲取第一權重p1,基于第二光照信息獲取第二權重p2,并計算高光貼圖的光照信息表示為:(a1*p1)+(a2*p2),最后將計算得到光照信息顯示與第一模型中。
需要說明的是,上述第一權重和第二權重分別表示x軸方向和y軸方向紋理被遮擋的程度,其中,紋理的遮擋的程度越大,權重值越??;紋理的遮擋程度越小,權重值越大,也即紋理露出來的越多。
下面以綢緞為例對上述實施例進行說明。
綢緞的綢緞材質與普通材質的特性決定了它的表現(xiàn)形式,其中最主要的區(qū)別在于高光的表現(xiàn)。由于蠶絲的光滑屬性,導致綢緞通常是表現(xiàn)出比較強烈的高光,并且由于綢緞通常采用縱橫交錯的編織方式,所以從整體上觀察綢緞的高光應該是有兩條,橫向(即,x軸方向)和縱向(即,y軸方向)。通過上述步驟s1041至步驟s1047可知,可以先通過kaijya-kay模型計算橫向和縱向的光照信息,然后,基于橫向的光照信息確定第一權重,并基于縱向的光照信息確定第二權重,進而根據第一權重和第二權重計算高光貼圖的光照信息。
需要說明的是,對于游戲《天涯明月刀》中綢緞以及動物的皮毛均采用上述步驟s1041至步驟s1047所描述的方案添加高光貼圖的光照信息,從而保證綢緞能夠還原出真綢緞、提花綢、絲麻等綢緞質感,并且能夠使得添加凹凸細節(jié)信息之后的低精度模型(例如,動物皮毛的低精度模型)添加豐富的高光效果。
例如,由于綢緞特殊的原料和編織方法,從視覺上表現(xiàn)也會有不同具體表現(xiàn)在高光和gloss的強弱上(gloss貼圖繪制在normalmap藍色通道里,是一張灰度值貼圖),高光/gloss越強,表現(xiàn)就越光滑致密,高越弱的高光/gloss,面料就顯得越粗糙輕薄。暗部會比一般布料明度更低。diffuse明度會比普通布料更低一些,特別是對于固有色比較淺的布料,diffuse的明度需要降的更低,并且必須避免疊加過于粗糙的紋理,經過多次測試,將gloss值與specular亮度值做了規(guī)范:gloss灰度值一般設置在50左右,比較厚重的綢緞設置的更高一些(53-58),比較輕薄的綢緞則可以設置的更低一些(45-48),視具體情況而定適度調節(jié)gloss。具體如圖5所示,圖5中由左到右為高光/gloss由低到高變化時,綢緞的高光效果視覺變化情況。
本發(fā)明實施例中,采用kaijya-kay光照模型沿著模型的tangent方向(例如,x軸方向)和binormal方向(例如,y軸方向)上分別去做kajiya-kay光照,并根據獲取到的紋理遮擋程度和第一光照信息以及第二光照信息確定綢緞最后添加的高光渲染效果。通過上述的光照信息的計算方法,可以確定綢緞的高光表現(xiàn)。
可選地,在第一圖片為綢緞圖像時,第一貼圖還包括紋理貼圖,根據映射關系將第二坐標在第一貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上包括:在表現(xiàn)綢緞圖像的編織紋理時,根據映射關系將第二坐標在紋理貼圖上的位置所攜帶的編織紋理的信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
具體地,由于現(xiàn)實中真實的綢緞一般表現(xiàn)為平滑的高光,雖然現(xiàn)實中 也是由蠶絲縱橫交織出來的,但由于編織極細,最終表現(xiàn)為光滑的表面,幾乎沒有編織紋理。在游戲中綢緞的表現(xiàn)上更加如此,由于收到貼圖大小和分辨率的限制,游戲貼圖也沒有必要表現(xiàn)這些極細的紋理,做了反而會降低表現(xiàn)精度。當有特別需求的時候如特寫鏡頭,在綢緞材質球里另外添加了一個細節(jié)紋理疊加功能,這樣既能無限增大綢緞材質的精度,又不會因貼圖尺寸過大給客戶端帶來壓力。其中,該細節(jié)紋理疊加功能為通過第一坐標和第二坐標的映射關系,將第二坐標在紋理貼圖上的位置上所攜帶的編織紋理信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。如圖7所示,可以在通過紋理貼圖在該網絡游戲的綢緞中顯示71至73所示的任一種紋理,以增加綢緞的精度。圖7中,71、72和73表示的為游戲設計人員設計的綢緞不同的紋理方向,美術人員在設計綢緞的紋理時,可以采用上述三種紋理方向中選取任一種紋理方向添加到綢緞的第一模型中,以在顯示特寫鏡頭時顯示出綢緞的紋理,使顯示效果更加真實。
可選地,在第一圖片為動物皮毛的圖像時,第一貼圖包括噪音貼圖、遮罩貼圖和細節(jié)貼圖,噪音貼圖用于表現(xiàn)動物皮毛的反光,遮罩貼圖用于調節(jié)細節(jié)貼圖的使用區(qū)域,分別設置在紅、綠、藍三個通道中,紅、綠、藍三個通道中每個通道都包括漫反射細節(jié)貼圖、凸凹細節(jié)貼圖和高光貼圖,根據映射關系將第二坐標在第一貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上包括:根據映射關系將第二坐標在噪音貼圖、遮罩貼圖和細節(jié)貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
具體地,動物皮毛的貼圖按照上述綢緞的貼圖制作方法實現(xiàn),其中,動物皮毛的貼圖與綢緞有以下不同,當?shù)谝粓D片為動物皮毛的圖像時,第一貼圖還包括:噪音貼圖noisemap、遮罩貼圖maskmap和細節(jié)貼圖detailmap。因此,還可以根據映射關系將noisemap、maskmap和detailmap所攜帶的顯示元素信息顯示在與第二坐標對應的第一做小在第一模型的位置上。
其中,noisemap的灰度值較高,一般為90%,以得到較窄的高光區(qū)域,高亮度的反光才能表現(xiàn)出優(yōu)質的動物皮質;maskmap用于控制細節(jié)貼圖的使用范圍,maskmap分別放在紅、綠、藍三個通道里,每個通道可以控制一種細節(jié)紋理,在上面提到的紅、綠、藍三種通道里,每個通道都包括:漫反射細節(jié)貼圖detail_diffusemap、凸凹細節(jié)貼圖detail_normalmap、高光貼圖detail_specularmap。如圖8所示,從左到右依次為漫反射細節(jié)貼圖detail_diffusemap、凸凹細節(jié)貼圖detail_normalmap、高光貼圖detail_specularmap。
可選地,根據映射關系將第二坐標在噪音貼圖、遮罩貼圖和細節(jié)貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上包括:根據映射關系多次將第二坐標在細節(jié)貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
在本發(fā)明實施例中,可以根據映射關系將第二坐標在detail_diffusemap、detail_normalmap、detail_specularmap上的位置所攜帶的顯示元素顯示在與第二坐標對應的第一坐標在第一模型的位置上。
需要說明的是,在本發(fā)明實施例中,可以將細節(jié)貼圖(例如,detail_diffusemap、detail_normalmap、detail_specularmap)上所攜帶的顯示元素信息多次顯示在第一模型中相同的位置上,還可以將細節(jié)貼圖上所攜帶的顯示元素信息多次顯示在第一模型中不相同的位置上?;蛘呖梢詫etail_diffusemap、detail_normalmap、detail_specularmap中每種貼圖所攜帶的顯示元素信息同時顯示在第一模型中相同的位置上,還可以將detail_diffusemap、detail_normalmap、detail_specularmap中每種貼圖所攜帶的顯示元素信息同時顯示在第一模型中不相同的位置上。
當美術人員制作某一游戲中動物皮毛時,可以根據通過調整細節(jié)貼圖的大小來調整動物皮毛的精度,以改變動物皮毛的顯示效果。例如,細節(jié)貼圖的大小分別為5×5,10×10,20×20時,動物皮毛的精度顯示效果 如圖9所示,將細節(jié)貼圖大小為20×20的動物皮毛顯示在游戲引擎中時的顯示效果如圖9中“引擎效果”所示。從圖9中可以看出,細節(jié)貼圖越大,動物皮毛的精度越高,體現(xiàn)出來的效果越逼真。其中,上述細節(jié)貼圖的大小的設置可以通過細節(jié)貼圖的二維坐標(例如,uv坐標)無限重復疊加來實現(xiàn)。
采用本發(fā)明上述實施例得到的綢緞材質具有以下優(yōu)點:(1)高精度,去除了貼圖上的雜質顆粒,給套裝上了一層“凈化膜”,連續(xù)順滑的高光更加提升了整體角色的高密度性,讓套裝看上去精度被無限放大,同時綢緞材質里面添加了細節(jié)貼圖通道,可以無限疊加更多細節(jié)紋理,增加了綢緞精度。(2)真實度。該材質屬性高度還原了各種綢緞的高光屬性,修正了傳統(tǒng)材質毫無生機的缺點,給予套裝新的活力,讓每件綢緞質感的衣服煥然一新。
采用本發(fā)明上述實施例得到的動物皮毛具有以下優(yōu)點:(1)高精度。從根本上提高了動物毛皮的質量,在相同貼圖大小的情況下,現(xiàn)有技術無限擴大了貼圖細節(jié)紋理的精度,可以實現(xiàn)任何精度大小的毛皮紋理。(2)真實度。實現(xiàn)了更多細節(jié)更多高光效果,高度還原了真實毛皮的質感,讓傳統(tǒng)做法的動物毛皮煥然一新,實現(xiàn)了動物毛皮從低級貧民到高級華貴的轉變,讓所有毛皮質感上了一個新的臺階。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟 件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
實施例2
根據本發(fā)明實施例,還提供了一種用于實施上述圖片的生成方法的圖片的生成裝置,該圖片的生成裝置主要用于執(zhí)行本發(fā)明實施例上述內容所提供的圖片的生成方法,以下對本發(fā)明實施例所提供的圖片的生成裝置做具體介紹:
圖10是根據本發(fā)明實施例的圖片生成裝置的示意圖,如圖10所示,該圖片的生成裝置主要包括:
獲取單元101,用于獲取第一圖片的第一模型的第一坐標和第一貼圖的第二坐標,其中,第一模型用于顯示光線信息,第一貼圖用于對第一模型進行貼圖,第一坐標為第一模型的三維坐標,第二坐標為第一模型的二維坐標,第二坐標在第一貼圖上的排列方向與第一貼圖所表現(xiàn)的紋理的方向一致,第一坐標和第二坐標具有映射關系。
具體地,第一模型可以為用于顯示第一圖片的光線信息和顏色信息的低精度模型,第一坐標可以為該低精度模型的三維坐標(例如,x/y/z坐標)。第二坐標既是第一貼圖中的二維坐標(例如,uv坐標),又是該第一模型的二維坐標。因此第一坐標和第二坐標具有映射關系可以理解為,第一模型中的三維坐標可以映射到第二坐標。其中,第二坐標的排列方向與第一貼圖的紋理方向一致,如圖3所示,圖3中“.”所示即為第二坐標,“向下指向的粗箭頭”表示第一貼圖的紋理方向,通過圖3可以看出,第二坐標的排列方向與紋理方向保持一致。
顯示單元103,用于根據映射關系將第二坐標在第一貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位 置上,得到貼圖后的第一模型;
具體地,依據第一坐標和第二坐標的映射關系,可以將第一貼圖中第二坐標所在位置所攜帶的顯示元素信息(例如,高光信息)顯示在第一模型中與第二坐標對應的第一坐標所在位置上。
生成單元105,用于將第二模型的凸凹細節(jié)信息應用在貼圖后的第一模型上,生成第一圖片,其中,第二模型為第一圖片的模型,用于表現(xiàn)凹凸結構的凸凹細節(jié)信息,第二模型的面數(shù)高于第一模型的面數(shù)。
具體地,在本發(fā)明實施例中,第二模型可以為用于表現(xiàn)凹凸細節(jié)信息的高精度模型。例如,當想突出某一游戲中動物肌肉的凹凸輪廓時,可以在高精度模型的制作過程中,突出動物肌肉的凹凸輪廓,然后,將該高精度模型中制作完成的凹凸細節(jié)信息應用在上述貼圖后的第一模型中,這樣,就可以在貼圖后的低精度模型中顯示該動物肌肉的凹凸輪廓。又例如,當想要突出綢緞布料的褶皺時,可以在該綢緞布料的高精度模型的制作過程中,突出該綢緞布料的褶皺的體量,然后,將該高精度模型制作完成的褶皺顯示在上述貼圖后的低精度模型中。需要說明的是,上述高精度模型和低精度模型均為第一圖片的模型。
可選地,紋理的方向包括x軸方向和y軸方向,裝置還包括:第一設置單元,用于在獲取第一貼圖的第二坐標之前,將第二坐標的橫坐標的方向設置為與x軸方向一致,且將第二坐標的縱坐標的方向設置為與y軸方向一致;或者第二設置單元,用于在獲取第一貼圖的第二坐標之前,將第二坐標的橫坐標的方向設置為與y軸方向一致,且將第二坐標的縱坐標的方向設置為與x軸方向一致。
可選地,紋理的方向包括x軸方向和y軸方向,第一貼圖包括高光貼圖,顯示單元包括:第一計算模塊,用于采用預設光照模型分別計算x軸方向的第一光照信息和y軸方向的第二光照信息;獲取模塊,用于獲取第一光照信息的第一權重和第二光照信息的第二權重,第一權重用于表示x軸方向的紋理被遮擋的程度,第二權重用于表示y軸方向的紋理被遮擋 的程度;第一計算模塊,用于對第一光照信息與第一權重的乘積,以及第二光照信息與第二權重的乘積進行求和,得到高光貼圖的光照信息;第一顯示模塊,用于根據映射關系將第二坐標在高光貼圖上的位置所攜帶的光照信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
可選地,在第一圖片為綢緞圖像時,第一貼圖還包括紋理貼圖,顯示單元包括:第二顯示模塊,用于在表現(xiàn)綢緞圖像的編織紋理時,根據映射關系將第二坐標在紋理貼圖上的位置所攜帶的編織紋理的信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
可選地,在第一圖片為動物皮毛的圖像時,第一貼圖包括噪音貼圖、遮罩貼圖和細節(jié)貼圖,噪音貼圖用于表現(xiàn)動物皮毛的反光,遮罩貼圖用于調節(jié)細節(jié)貼圖的使用區(qū)域,分別設置在紅、綠、藍三個通道中,紅、綠、藍三個通道中每個通道都包括漫反射細節(jié)貼圖、凸凹細節(jié)貼圖和高光貼圖,顯示單元包括:第三顯示模塊,用于根據映射關系將第二坐標在噪音貼圖、遮罩貼圖和細節(jié)貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
可選地,第三顯示模塊包括:顯示子模塊,用于根據映射關系多次將第二坐標在細節(jié)貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
實施例3
根據本發(fā)明實施例,還提供了一種用于實施上述圖片的生成方法的移動終端,如圖11所示,該移動終端主要包括處理器401、顯示器402、數(shù)據接口403、存儲器404和網絡接口405,其中:
顯示器402主要用于顯示游戲界面,其中,該游戲界面包括人物、人物的所穿的綢緞以及動物的皮毛。
數(shù)據接口403則主要通過數(shù)據傳輸?shù)姆绞綄⒂脩糨斎氲膶τ螒虻目刂浦噶顐鬏斀o處理器401。
存儲器404主要用于存儲游戲中的人物角色或者動物角色,以及用戶的游戲進度等信息。
網絡接口405主要用于與處理器401進行網絡通信,為圖片的生成提供數(shù)據支持。
處理器401主要用于執(zhí)行如下操作:
獲取第一圖片的第一模型的第一坐標和第一貼圖的第二坐標,其中,第一模型用于顯示光線信息,第一貼圖用于對第一模型進行貼圖,第一坐標為第一模型的三維坐標,第二坐標為第一模型的二維坐標,第二坐標在第一貼圖上的排列方向與第一貼圖所表現(xiàn)的紋理的方向一致,第一坐標和第二坐標具有映射關系;根據映射關系將第二坐標在第一貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上,得到貼圖后的第一模型;將第二模型的凸凹細節(jié)信息應用在貼圖后的第一模型上,生成第一圖片,其中,第二模型為第一圖片的模型,用于表現(xiàn)凹凸結構的凸凹細節(jié)信息,第二模型的面數(shù)高于第一模型的面數(shù)。
處理器401還用于將將第二坐標的橫坐標的方向設置為與x軸方向一致,且將第二坐標的縱坐標的方向設置為與y軸方向一致;或者將第二坐標的橫坐標的方向設置為與y軸方向一致,且將第二坐標的縱坐標的方向設置為與x軸方向一致。
處理器401還用于在紋理的方向包括x軸方向和y軸方向,第一貼圖包括高光貼圖的情況下,采用預設光照模型分別計算x軸方向的第一光照信息和y軸方向的第二光照信息;獲取第一光照信息的第一權重和第二光照信息的第二權重,第一權重用于表示x軸方向的紋理被遮擋的程度,第二權重用于表示y軸方向的紋理被遮擋的程度;對第一光照信息與第一權重的乘積,以及第二光照信息與第二權重的乘積進行求和,得到高光貼圖的光照信息;根據映射關系將第二坐標在高光貼圖上的位置所攜帶的光照信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
處理器401還用于在第一圖片為綢緞圖像時,在表現(xiàn)綢緞圖像的編織紋理時,根據映射關系將第二坐標在紋理貼圖上的位置所攜帶的編織紋理的信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
處理器401還用于在第一圖片為動物皮毛的圖像時,所述第一貼圖包括噪音貼圖、遮罩貼圖和細節(jié)貼圖,噪音貼圖用于表現(xiàn)動物皮毛的反光,遮罩貼圖用于調節(jié)細節(jié)貼圖的使用區(qū)域,分別設置在紅、綠、藍三個通道中,紅、綠、藍三個通道中每個通道都包括漫反射細節(jié)貼圖、凸凹細節(jié)貼圖和高光貼圖時,根據映射關系將第二坐標在噪音貼圖、遮罩貼圖和細節(jié)貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
處理器401還用于根據映射關系多次將第二坐標在細節(jié)貼圖上的位置所攜帶的顯示元素信息顯示在與第二坐標對應的第一坐標在第一模型的位置上。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
實施例4
本發(fā)明的實施例還提供了一種存儲介質??蛇x地,在本實施例中,上述存儲介質可以用于存儲本發(fā)明實施例的圖片的生成方法的程序代碼。
可選地,在本實施例中,上述存儲介質可以位于移動通信網絡、廣域網、城域網或局域網的網絡中的多個網絡設備中的至少一個網絡設備。
可選地,在本實施例中,存儲介質被設置為存儲用于執(zhí)行以下步驟的程序代碼:
s1,獲取第一圖片的第一模型的第一坐標和第一貼圖的第二坐標,其中,所述第一模型用于顯示光線信息,所述第一貼圖用于對所述第一模型進行貼圖,所述第一坐標為所述第一模型的三維坐標,所述第二坐標為所述第一模型的二維坐標,所述第二坐標在所述第一貼圖上的排列方向與所 述第一貼圖所表現(xiàn)的紋理的方向一致,所述第一坐標和所述第二坐標具有映射關系;
s2,根據所述映射關系將所述第二坐標在所述第一貼圖上的位置所攜帶的顯示元素信息顯示在與所述第二坐標對應的第一坐標在所述第一模型的位置上,得到貼圖后的第一模型;
s3,將第二模型的所述凸凹細節(jié)信息應用在所述貼圖后的第一模型上,生成所述第一圖片,其中,所述第二模型為所述第一圖片的模型,用于表現(xiàn)凹凸結構的凸凹細節(jié)信息,所述第二模型的面數(shù)高于所述第一模型的面數(shù)。
可選地,在本實施例中,上述存儲介質可以包括但不限于:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
可選地,在本實施例中,上述存儲介質可以包括但不限于:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
上述實施例中的集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產品銷售或使用時,可以存儲在上述計算機可讀取的存儲介質中。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在存儲介質中,包括若干指令用以使得一臺或多臺計算機設備(可為個人計算機、服務器或者網絡設備等)執(zhí)行本發(fā)明各個實施 例所述方法的全部或部分步驟。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的客戶端,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。