朱峰社區(qū)首頁 朱峰社區(qū)

搜索資源 注冊(cè)|登陸

等待

返回 展開菜單

從原理上詮釋三維動(dòng)畫技術(shù)

maya版vray教程 觀看預(yù)覽

maya版vray教程

包含4節(jié)視頻教程
關(guān)注8.1萬

vray目前已經(jīng)是各大游戲廠商,建筑公司,影視動(dòng)畫普遍使用的渲染器了,maya版本的vray渲染器穩(wěn)定可靠,我們的教程將完整的講解這個(gè)渲染器。

關(guān)閉
【前言】
本系列文章將對(duì)三維動(dòng)畫技術(shù)中的模型、材質(zhì)、燈光、動(dòng)畫、特效等內(nèi)容進(jìn)行罕見角度研究(原諒我囂張的用詞),可看作是基礎(chǔ)中的高級(jí)知識(shí)點(diǎn)擴(kuò)展。我既非行業(yè)高手也非CG培訓(xùn)老師,目前所寫的資料文章,均是閑時(shí)匯集個(gè)人所理解的知識(shí)點(diǎn)。初衷是鞏固自我學(xué)識(shí),同時(shí)給一直在走彎路摸索的后來者提供經(jīng)驗(yàn)和參考--但不做權(quán)威論斷,歡迎補(bǔ)充和指正!順便提點(diǎn)小要求,轉(zhuǎn)載文章的時(shí)候希望能注明出處并保持內(nèi)容的完整(可不包括本段文字)。這不是個(gè)人的虛榮心作崇,只是希望能讓更多人獲得幫助。
【三維動(dòng)畫要素】
Three-Dimensional Animation,具有三種維度技術(shù)的動(dòng)畫,簡稱三維或3D動(dòng)畫。和另一個(gè)概念“3D立體電影”不同,三維動(dòng)畫是制作的技術(shù)范疇,而不是直接的視覺效果。三維動(dòng)畫設(shè)計(jì)固然需要一定藝術(shù)基礎(chǔ),但初學(xué)者也可以通過三維軟件來反向?qū)W習(xí)基礎(chǔ)的色彩、透視、構(gòu)圖、形體等。無論是靜幀還是動(dòng)畫,三維畫面的元素均包含模型、材質(zhì)、燈光、鏡頭,輔助的要素有骨骼動(dòng)畫、表達(dá)式控制、動(dòng)力學(xué)特效、后期畫面濾鏡等。盡管以下將以maya為平臺(tái)進(jìn)行說明,但大部分原理也適用于其他三維軟件。


模型篇 
【構(gòu)成】
 模型是三維動(dòng)畫最不可或缺的起步元素。計(jì)算機(jī)圖形學(xué)中經(jīng)常會(huì)用到的術(shù)語“矩陣”,簡而言之,就是虛擬三維空間中的點(diǎn)。規(guī)定的三維空間中會(huì)存在一個(gè)零點(diǎn)坐標(biāo),它周圍的點(diǎn)以XYZ坐標(biāo)來表示方位,而這些點(diǎn)彼此之間可以連線形成線段;當(dāng)不同的線段對(duì)接,就構(gòu)成了三維線框結(jié)構(gòu)--這就是三維模型的最原始形態(tài)。閉合的線段中間填補(bǔ)虛擬平面,于是三維結(jié)構(gòu)有了體積。 

模型由點(diǎn)線面(圍繞零點(diǎn)的空間點(diǎn),點(diǎn)連成的線段,線段圍成的面)組成。Maya中分NURBS(工業(yè)曲面)和Polygon(多邊形)兩種模型。這兩者的本質(zhì)同樣都是三維線框構(gòu)成,不同的是NURBS的點(diǎn)和點(diǎn)之間有曲線插值,可以通過重建曲面(RebuildSurface)做出無限圓滑的帶弧度曲線,適合高精度的工業(yè)模具產(chǎn)品;而Polygon是兩點(diǎn)直連,如果需要圓滑,則需要使用smooth(平滑)命令進(jìn)行后期插值計(jì)算(會(huì)縮小模型),適合影視動(dòng)畫游戲的各種模型。同樣顯示級(jí)別,由于點(diǎn)插值的默認(rèn)存在,NURBS會(huì)比Polygon更緩慢。
  

【尺寸】三維空間是個(gè)矢量集合的區(qū)域,在軟件自身限制下,模型是可以任意放大縮小的。以預(yù)設(shè)的軟件長度單位為空間點(diǎn)坐標(biāo)單位,可以精確規(guī)定模型的長寬高。maya默認(rèn)以公制單位“厘米”為基本長度單位,場景中的模型的高度值也就是現(xiàn)實(shí)中的厘米高度。不過因?yàn)閯?dòng)畫本身是種“后處理結(jié)果”,并不像工業(yè)建模那樣必須精準(zhǔn)的尺寸,所以軟件的建議或者用戶的習(xí)慣都可以改變默認(rèn)的尺寸標(biāo)準(zhǔn)(maya的動(dòng)力學(xué)系統(tǒng)是將厘米當(dāng)做現(xiàn)實(shí)的米來用,容易和模型比例產(chǎn)生矛盾)。僅以模型尺寸為例,maya中創(chuàng)建的基本幾何體就是以厘米進(jìn)行的。例如Sphere基本球體的Radius屬性數(shù)值為1,就表示這是個(gè)半徑為1厘米的球體;


cube基本方體的Width、Height、Depth為2,就表示這是個(gè)寬度、高度、深度分別為2厘米的長方體。 

除了使用基本幾何體做測量參考,也可以使用maya的測量工具來測量模型尺寸:Create->MeasureTools->DistanceTool。不過在建模的時(shí)候,使用標(biāo)準(zhǔn)幾何體的數(shù)值要比測量工具效率更高。

 

*maya場景默認(rèn)的網(wǎng)格,一個(gè)方格的長寬為1厘米*1厘米

【UVs】除了自身結(jié)構(gòu)和基本的材質(zhì)效果,當(dāng)我們要展現(xiàn)模型很豐富的紋理的時(shí)候,就需要UV貼圖,例如帶劃痕的墻壁。


UV貼圖其實(shí)也就是一張普通圖片,經(jīng)過軟件的坐標(biāo)映射,將這張二維圖片在三維模型上呈現(xiàn)出來。UV貼圖就好像一個(gè)物體的外包裝。 

因?yàn)閄YZ已經(jīng)用來表示三維坐標(biāo),二維貼圖上的坐標(biāo)就使用UV來替代XY(U=X,V=Y),而使用到四元數(shù)的時(shí)候還會(huì)增加一個(gè)W參數(shù),所以通常也叫UVW貼圖(3dsMax中的叫法)。*UVWXYZ……很通俗簡單的英文字母排序取名法。UV只是一個(gè)坐標(biāo)符號(hào)(NURBS中表示方向),maya將UV加上復(fù)數(shù)形式表示模型上的UV點(diǎn),也就是UVs。UVs指的是Polygon(多邊形)特有的UV點(diǎn),而NURBS(工業(yè)曲面)也存在UV點(diǎn),只是在你將它轉(zhuǎn)換為多邊形之前,這個(gè)UV點(diǎn)集合是無法編輯的,僅作為貼圖位置參考--不少人誤以為NURBS沒有UV點(diǎn)。

  

UVs在創(chuàng)建多邊形的時(shí)候就一直依附于模型點(diǎn)上,一個(gè)模型點(diǎn)可以有無數(shù)個(gè)UVs,取決于UV線是否斷開--UVs的數(shù)量是大于等于模型點(diǎn)。賦予模型貼圖時(shí),UVs應(yīng)盡可能分布于第一象限(UV編輯器的右上方區(qū)域),這樣在繪制貼圖和導(dǎo)出到其他程序的時(shí)候不容易出錯(cuò);如果使用重復(fù)(四方連續(xù))貼圖,UVs則可以任意遍布。當(dāng)一個(gè)模型上使用了多重紋理,也就是多個(gè)貼圖的時(shí)候,根據(jù)需要我們還可以創(chuàng)建UV Set(UV集),用來管理模型上不同的UV貼圖。例如一個(gè)重復(fù)紋理的墻面貼上一張小廣告插畫。 

對(duì)UV偏移值設(shè)置關(guān)鍵幀可以制作有趣的貼圖動(dòng)畫,常見于游戲的廣告牌、河流、瀑布、坦克履帶等。 

【貼圖映射】先簡單區(qū)分一些英文術(shù)語:Shader(材質(zhì)),Texture(紋理),Map(貼圖),Image(圖片),Bitmap(位圖)。[Shader]材質(zhì)通俗的說也就是材料,它表現(xiàn)出顯而易見的視覺特征,例如:閃亮的金屬器皿,潮濕的泥土,生銹的鐵器,熾熱的熔巖,腐爛的樹皮等。也就是說材質(zhì)本身是一種可形容的物體。



[Texture]紋理是物體表面的紋路,它不是具體的物體,而表示一類特征,可強(qiáng)化材質(zhì)的表現(xiàn)。例如同樣質(zhì)地的木板上不同風(fēng)格的木紋,人物不同的皮膚,墻面不同的破損等。

 

[Map]本意是地圖,Mapping有映射繪制的含義,因此Map可以認(rèn)為是有針對(duì)用途的具體圖片,它在maya中是服務(wù)于模型渲染的。 


計(jì)算機(jī)上的圖片通稱,它可以是通常的jpg,bmp,png,GIF格式,也可以是HDRI,EXR,IFF等包含特殊信息的專有格式。 

位圖也稱點(diǎn)陣圖像,用來解釋圖片的像素組成。事實(shí)上多數(shù)計(jì)算機(jī)圖片都是位圖,因?yàn)閂ector(矢量圖)需要專門軟件處理。BMP是無損的位圖,而jpg,png等是經(jīng)過壓縮的位圖。
 

以maya的慣例來說,Shader和Texture使用頻率較高。前者是必不可少的構(gòu)成,后者通常指所有附加到材質(zhì)上的紋理貼圖(含程序紋理和外部圖片)。Map和Image一般只有在展UV和貼圖賦予的操作步驟中才會(huì)提到。

在maya中紋理分為2D紋理和3D紋理,前者依賴于模型UVs的分布情況,而后者是直接在填充于三維空間中的函數(shù)圖形,效果直接顯示在模型表面。2D紋理使用較為廣泛,包含外部的圖片和軟件的程序紋理;3D紋理是maya內(nèi)置程序紋理,用于一些三維特效的細(xì)節(jié)輔助,如煙塵飄動(dòng)、天空云彩分布、導(dǎo)彈尾煙等。

 

maya中創(chuàng)建3D紋理時(shí)候場景會(huì)多出一個(gè)方塊圖標(biāo),可用于控制紋理的朝向和運(yùn)動(dòng)。

 
如果使用2D紋理的時(shí)候選擇投影模式(紋理圖標(biāo)上右鍵:Create as projection),也可以忽略模型UVs將平面貼圖應(yīng)用于三維投影。 

貼圖的投影方式有平面Planar、可調(diào)球形Spherical、圓柱體Cylindrical、圓球Ball、立方體Cubic等,由模型的外輪廓或者用戶特殊的貼圖需要進(jìn)行更改。 

無論2D紋理還是3D紋理,投影模式如果在動(dòng)畫模型上使用,很容易發(fā)生紋理偏移,并且顯示效果較難控制。

這里僅介紹2D貼圖的UV映射。將模型的UVs進(jìn)行分割縫合伸展移動(dòng),就是展UV的工作。不管采用何種初始UV映射,在UV編輯器中的操作效果都是一樣的,這個(gè)由用戶的習(xí)慣和技巧決定。Maya2015后新增的Unfold3D展UV插件,極大的提高了工作效率。*Unfold3D原是獨(dú)立的外部模型UV展開軟件,被Autodesk收購后成為maya的內(nèi)置功能。展UV常有這樣的規(guī)則:平均分布,無重疊面和反面。除了顯示正反面(藍(lán)色正面,紅色反面),我們還可以在maya的UV 編輯器中查看UV的伸展情況:白色表示范圍內(nèi)貼圖匹配圖片尺寸(合理),紅色表示范圍內(nèi)貼圖將被拉伸(模糊),藍(lán)色表示范圍內(nèi)貼圖將被壓縮(銳化)。

 

不過很多時(shí)候,我們可以根據(jù)細(xì)節(jié)要求,將模型上的UV進(jìn)行不對(duì)等縮放,也可以在某些不需要在意的地方隨意處理UV,甚至游戲中為了節(jié)省貼圖容量而采用重疊使用的UV布線。大致上,除了平均分布,我們很多時(shí)候需要在意的是UV接縫--斷開UVs區(qū)域的貼圖連續(xù)性。UV接縫常分布在模型隱蔽處,例如人物頭部模型的后腦中間,大腿模型的內(nèi)側(cè)中線等,這樣做是為了減少后期貼圖繪制時(shí)候的工作量,盡可能的減少接縫對(duì)模型貼圖效果的不良影響。 

沒有燈光我們是看不到三維場景中的模型的,之所以能在maya默認(rèn)視圖中看到模型的明暗,那是因?yàn)檐浖J(rèn)就提供了一個(gè)和攝像機(jī)同方向的平行光,這個(gè)默認(rèn)燈光會(huì)在加入新的燈光后自動(dòng)關(guān)閉,避免影響渲染結(jié)果。*如果渲染時(shí)完全不考慮默認(rèn)燈光的影響,可以在渲染設(shè)置窗口的RenderOptions欄去掉EnableDefaultLight的勾選。模型的面是如何計(jì)算出光照的明暗效果呢,于是引入一個(gè)數(shù)學(xué)概念:法線。數(shù)學(xué)中的法線指的就是平面的垂直虛線,對(duì)于圓弧曲面是垂直于點(diǎn)切線的直線。在計(jì)算機(jī)圖形技術(shù)中,除了面,每個(gè)頂點(diǎn)也具有法線向量,并且法線是以射線的幾何概念存在。因此,Maya中,法線分為面法線和頂點(diǎn)法線兩種,并且由射線的朝向來區(qū)分正反方向。三維軟件中的燈光就是數(shù)學(xué)上的射線(光源點(diǎn)+發(fā)射的光線),當(dāng)它無限延伸的一端接觸到模型表面,會(huì)類似物理上光在平面上的吸收和反射,將模型表面照亮。

在視圖菜單上,不勾選Lighting->TwoSidedLighting,場景中的模型反面(法線負(fù)方向)以黑色顯示。我們可以通過這個(gè)設(shè)定來判斷模型面的正反。 

模型面的正反不只影響建模命令的效果,還和一些材質(zhì)的渲染效果、特效中粒子的碰撞有關(guān)。有別于現(xiàn)實(shí)的物理反射(法線始終垂直反射面),由于三維燈光是根據(jù)模型表面的法線方向來判斷材質(zhì)照明的,我們可以在軟件中人為的改變法線朝向而“欺騙”燈光對(duì)物體表面的判斷。因此Maya中對(duì)模型執(zhí)行SoftenEdge(軟化邊)命令后,在材質(zhì)和燈光的作用下模型會(huì)顯示出柔和的過渡。創(chuàng)建一個(gè)基本多邊形球體,執(zhí)行MeshDisplay->HardenEdge(硬化邊),我們會(huì)發(fā)現(xiàn)此時(shí)的模型棱角分明,不那么討喜。事實(shí)上,這才是模型真正的初始法線形態(tài),軟件默認(rèn)幫我們進(jìn)行“美化”而已。*Maya2015及早期版本的HardenEdge命令在Polygons多邊形模塊的Normals菜單下。 

菜單Display->Polygon->FaceNormals/VertexNormals,顯示模型的面和頂點(diǎn)法線。面法線是由組成它的點(diǎn)的空間分布決定,和頂點(diǎn)法線朝向無關(guān);而一個(gè)點(diǎn)上有4根線段相連,所以有4條方向不同的頂點(diǎn)法線。執(zhí)行SoftenEdge(軟化邊)后,會(huì)發(fā)現(xiàn)和點(diǎn)連接的所有線段的法線都統(tǒng)一了方向,這是多條頂點(diǎn)法線均值后的結(jié)果。此時(shí)模型表面也變得圓滑了很多。*Display->Polygon->Soft/HardEdges,顯示模型的軟硬邊分布情況:虛線是軟邊,實(shí)線是硬邊。


“軟邊”雖然能給模型效果增色,但是并非什么情況都適用:當(dāng)面和面之間夾角不大于90度,“軟邊”會(huì)產(chǎn)生一種錯(cuò)誤的亮部,模型失去轉(zhuǎn)折處的細(xì)節(jié)。小于等于90度夾角的面,需要增加線來均攤頂點(diǎn)法線的夾角,至少保持兩線以上。

maya可以選擇模型局部線條進(jìn)行軟化,但不推薦使用更改法線工具自行調(diào)節(jié),因?yàn)槿菀壮霈F(xiàn)不正確的燈光效果。此外,還可以對(duì)多邊形法線進(jìn)行鎖定以防止更改。*不小心使用VertexNormalEditTool的時(shí)候,會(huì)同時(shí)鎖定法線(LockNormals),需要解鎖法線(UnlockNormals)才能使用硬邊和軟邊修正。游戲模型通常使用整體“軟邊”,當(dāng)遇到需要銳利的轉(zhuǎn)折,例如刀刃,通常的做法是從線條處分割模型,因?yàn)槟P偷倪吔邕叄˙orderEdges)就是硬邊,F(xiàn)在很多游戲引擎也可直接支持模型上的軟硬邊劃分。*3dsMax中的SmoothingGroups(平滑組)相當(dāng)于maya的SoftenEdge(軟邊)。


為了深入解釋上述現(xiàn)象--模型法線對(duì)燈光和材質(zhì)的影響,這里順便提到兩個(gè)技術(shù)概念:平面著色(FlatShading)和頂點(diǎn)著色(GouraudShading)。所謂著色,并不是我們通常所理解的貼圖顯示,而是模型各頂點(diǎn)色調(diào)的融合結(jié)果--也就是由材質(zhì)色彩和燈光作用后得到的計(jì)算值,UV貼圖只是后期的疊加輔助。平面著色時(shí)一個(gè)面上只有一種材質(zhì)色彩,模型表面會(huì)呈現(xiàn)不同的純色塊,燈光的高亮點(diǎn)在模型上呈現(xiàn)出銳利的邊界;頂點(diǎn)著色通過點(diǎn)之間的色彩線性插值,可以平滑多個(gè)面之間的色彩過渡,柔和燈光的強(qiáng)弱漸變,不過計(jì)算速度慢于平面著色。*平面著色和頂點(diǎn)著色的平滑效果對(duì)比,有點(diǎn)像多邊形和工業(yè)曲面的區(qū)別。Maya視圖看到的模型實(shí)時(shí)材質(zhì)效果,屬于頂點(diǎn)著色(Shading->SmoothShadeAll)。如果選擇視圖菜單Shading->FlatShadeALL,則是將全部可見模型轉(zhuǎn)為平面著色顯示。


對(duì)于模型自身來說,頂點(diǎn)法線是平面著色和頂點(diǎn)著色的切換關(guān)鍵:平行于面法線的頂點(diǎn)法線不產(chǎn)生插值,硬邊模型實(shí)時(shí)效果采用平面著色;均值化(不平行于面法線)的頂點(diǎn)法線,通過線性插值平滑色彩,因此軟邊模型實(shí)時(shí)效果采用的是頂點(diǎn)著色。從以下圖示可以看出“硬邊(法線垂直面)”和“軟邊(法線均值化)”對(duì)照明的影響。


【總結(jié)】三維模型由這些要素構(gòu)成:點(diǎn)線面,UVs,法線。對(duì)以上基礎(chǔ)概念有了清晰認(rèn)識(shí)之后,接下來材質(zhì)燈光內(nèi)容的學(xué)習(xí)將會(huì)很容易。


超精細(xì)女神制作教程 超精細(xì)女神制作教程

朱峰社區(qū)網(wǎng)頁版
朱峰社區(qū)網(wǎng)頁版(手機(jī)掃描-分享-添加到屏幕)


朱峰社區(qū)公眾號(hào)
朱峰社區(qū)微信公眾號(hào)(微信掃一掃-關(guān)注)

資源說明圖文教程無法下載,只能觀看圖片和文字。
版權(quán)規(guī)則本站圖文皆來自互聯(lián)網(wǎng)共享資源,如涉及到版權(quán)請(qǐng)查看版權(quán)規(guī)則。本平臺(tái)提供圖文僅可用于個(gè)人學(xué)習(xí),如用于商業(yè)請(qǐng)購買正版。您必須遵守的版權(quán)規(guī)則

未知用戶

未知用戶

1175370427@qq.com

1175370427@qq.com

老vip

說得很好
我好像在哪見過你 -1175370427@qq.com

贊0

踩0

18年3月8日

2005-2025 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號(hào)-1
2005-2025 ZhuFeng Community All Rights Reserved

VIP

朱峰社區(qū)微信公眾號(hào)

回頂部

1.復(fù)制文本發(fā)給您的QQ好友或群、微信等;好友點(diǎn)擊鏈接以后,轉(zhuǎn)發(fā)就成功了。 2.如朋友點(diǎn)擊您的鏈接,您需要需刷新一下才行;同一個(gè)好友僅能點(diǎn)擊一次。
購買VIP,觀看所有收費(fèi)教程!