青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 505  文章 - 1034  trackbacks - 0
<2008年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910


子曾經(jīng)曰過:編程無他,唯手熟爾!

常用鏈接

留言簿(94)

隨筆分類(649)

隨筆檔案(505)

相冊(cè)

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

積分與排名

  • 積分 - 923081
  • 排名 - 14

最新隨筆

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

法線貼圖多用在CG動(dòng)畫的渲染以及游戲畫面的制作上,將具有高細(xì)節(jié)的模型通過映射烘焙出法線貼圖,貼在低端模型的法線貼圖通道上,使之擁有法線貼圖的渲染效果,卻可以大大降低渲染時(shí)需要的面數(shù)和計(jì)算內(nèi)容,從而達(dá)到優(yōu)化動(dòng)畫渲染和游戲渲染的效果。
 
現(xiàn)在好多3d網(wǎng)游都沒有法線貼圖啊,呵呵,《giant》就沒有。

維基百科:
法線貼圖

法線貼圖
 什么是法線貼圖技術(shù)呢?這是一種用來實(shí)現(xiàn)3D效果的一種技術(shù),要想理解這種技術(shù)還請(qǐng)您聽我慢慢道來。

  我們知道,在游戲中經(jīng)常會(huì)有這樣的情況,就是一個(gè)平面——這個(gè)平面在現(xiàn)實(shí)中并不是一個(gè)“平”面,例如磚墻的表面帶有石質(zhì)浮雕等等。這樣的情況如果要求游戲開發(fā)人員將復(fù)雜的3D細(xì)節(jié)都做出來是不現(xiàn)實(shí)的,因?yàn)榧词共挥?jì)較在建模時(shí)候的復(fù)雜度,過多的3D細(xì)節(jié)也同樣會(huì)大量消耗顯示芯片的性能,讓游戲根本沒有可玩性。


                如何利用貼圖實(shí)現(xiàn)凹凸效果呢?

  可行的方法就是將這個(gè)平面用一個(gè)貼圖覆蓋,用貼圖的紋理實(shí)現(xiàn)一定的凹凸效果。但是這種方法實(shí)現(xiàn)的效果并不是很好,因?yàn)槿绻暯且蛔兓?,看起來就?huì)像一張簡(jiǎn)單的畫有圖案的平面了。

  后來,聰明的游戲開發(fā)者想出了一種方法,就是在貼圖過程中對(duì)貼圖進(jìn)行一定的處理,從而保證了在視角變換以后仍然保證有較為明顯的凹凸效果。

  光與影,法線貼圖技術(shù)的物理學(xué)基礎(chǔ)

  我們知道,人之所以能夠?qū)拔锟闯隽Ⅲw感的主要原因是因?yàn)槿擞袃芍谎劬?。兩只眼睛看的景象是不同的,所以人們才能分辨出立體感來。但是,由于電腦的屏幕是一個(gè)平面,分辨3D效果就只能靠光影效果來實(shí)現(xiàn)了。

  舉個(gè)簡(jiǎn)單的例子,這就像我們畫素描的時(shí)候,為了不讓一個(gè)球體看起來像是一個(gè)圓圈,必須讓球體的一些區(qū)域是亮的,一些區(qū)域是暗的。而且從亮部轉(zhuǎn)向暗部的時(shí)候是一個(gè)均勻的按照物理模型特點(diǎn)的過渡,這樣畫出來的球體才像個(gè)球體,電腦為我們繪制的過程也是一樣。


因?yàn)橛忻靼担覀儾拍軐⑵矫胬斫獬闪Ⅲw

  基于這個(gè)道理,我們就不難理解可以通過貼圖局部的亮暗變化來實(shí)現(xiàn)假的3D效果。換一種說法就是說我們可以通過在貼圖上的局部做一些亮暗的變化來做到一種假的3D效果。


光照因角度不同而呈現(xiàn)不同的明暗

  那么如何實(shí)時(shí)的對(duì)貼圖進(jìn)行轉(zhuǎn)換呢?如果要實(shí)現(xiàn)虛擬的光影變換,我們最起碼需要知道在一個(gè)平面上真正的凹凸的情況,這樣才能讓顯示芯片進(jìn)行運(yùn)算,生成一種假的凹凸的效果。

  顯然,記錄真實(shí)的凹凸模型是得不償失的——如果那樣的話就沒有任何意義了,我們需要用一種非常簡(jiǎn)單的方法來記錄一個(gè)貼圖的凹凸情況,于是就誕生了一種全新的方法,法線貼圖技術(shù)。

  接下來,我們?cè)倩氐轿覀儎偛耪劦降姆ň€貼圖的話題上。

  法線貼圖就是記錄了一個(gè)需要進(jìn)行光影變換的貼圖上的各個(gè)點(diǎn)的凹凸情況的貼圖,顯示芯片根據(jù)這個(gè)貼圖的內(nèi)容,來實(shí)時(shí)的生成新的有過光影變化的貼圖,從而實(shí)現(xiàn)立體效果。

  那么,究竟是怎樣利用法線貼圖記錄一個(gè)平面或者說是一個(gè)貼圖的凹凸情況呢?我們知道,物體表面產(chǎn)生明暗變化的直接原因,就是光線照射角度的不同,光線垂直于平面的地方就亮,光線斜射到平面的地方就暗,光線照不到的地方就更暗(應(yīng)該是黑色,但是由于環(huán)境光照所以不會(huì)有陰影是真正的黑色)。

  借色彩之值存法線之向,巧妙的存儲(chǔ)

  學(xué)過初中物理的朋友一定還都記得,表示光線射向平面的角度時(shí)通常使用光線和該點(diǎn)法線角度來表示。這也就意味著,如果我們將一個(gè)貼圖上所有點(diǎn)的法線記錄起來的話,就不難再利用這些信息實(shí)現(xiàn)后期的假的凹凸效果了。

  記錄這些法線的載體就被我們稱為法線貼圖。為什么稱之為貼圖呢?我們知道,一條法線是一個(gè)三維向量,一個(gè)三維向量由X、Y、Z等3個(gè)分量組成,于是人們想出了一個(gè)聰明的方法,就是以這3個(gè)分量當(dāng)作紅綠藍(lán)3個(gè)顏色的值存儲(chǔ),這樣的話就生成一張新的貼圖了,這就是法線貼圖的來歷。


采用色彩通道存儲(chǔ)法線向量

  法線貼圖其實(shí)并不是真正的貼圖,所以也不會(huì)直接貼到物體的表面,它所起的作用就是記錄每個(gè)點(diǎn)上的法線的方向。所以這個(gè)貼圖如果看起來也會(huì)比較詭異,經(jīng)常呈現(xiàn)一種偏藍(lán)紫色的樣子。


法線貼圖的生成過程


Doom3中的一張紋理貼圖和這張貼圖對(duì)應(yīng)的法線貼圖

  『小提示-05:事實(shí)上,真正的法線貼圖并不是記錄貼圖上每個(gè)點(diǎn)的法線的絕對(duì)角度,而是記錄的是相對(duì)于平面的一個(gè)差值。這樣的話,隨著平面的3D變換都能夠?qū)崿F(xiàn)即時(shí)的法線運(yùn)算了。』

  傳統(tǒng)紋理壓縮,法線貼圖不再適用

  采用法線貼圖技術(shù)的優(yōu)勢(shì)就是利用很少的資源實(shí)現(xiàn)了效果非常好的凹凸效果,而且可以利用我們?cè)陂_篇的時(shí)候提到的紋理壓縮技術(shù)對(duì)法線貼圖進(jìn)行壓縮,進(jìn)一步節(jié)省資源。


前面的那張圓球圖案的法線貼圖

 


3D max里面是如何制作發(fā)現(xiàn)貼圖的呢?看下面,圖看不見的話點(diǎn)鏈接。

制作法線貼圖

 

  接下來我們?cè)?ds Max里面制作Normal Map (法線貼圖),將低模和高模分別命名為:low-model和high-model,然后將導(dǎo)出的低模UV 分好,高模不用分UV。


圖22

  接著把高模和低模適配到一起


圖23

  高模和低模匹配好以后,在Max菜單欄里找到Rendering 展開并選擇Render To Texture。


圖24

  接下來的操作是:

  展開General Settings欄并在Output里并設(shè)好輸出的路徑,選中視圖中的低模(low-model),選中以后在Render to Texture窗口中Objects to Bake欄里面會(huì)顯示所選的物體信息。


圖25

  在Projection Mapping中勾選Enabled并點(diǎn)擊Pick按鈕,在彈出的窗口中選擇高模(high-model),這時(shí)視圖中的兩個(gè)模型會(huì)有所變化。


圖26

  與此同時(shí)在低模的修改面板中會(huì)增加一個(gè)修改器“Projection”,到Projection欄中展開Cage并點(diǎn)擊Shaded(有點(diǎn)類似蒙皮)和reset(重新設(shè)置),然后拖動(dòng)Amount值(結(jié)合到視圖中觀察模型外沿的變化而設(shè),外面的蒙皮一定要包住兩個(gè)物體不能有穿,不然烘焙出來會(huì)出問題)。


圖27

  在Mapping Coordinates里面勾選Object 的Use Existing Channel(使用現(xiàn)有的UV,之前我已經(jīng)給低模(low-model)分好了UV);展開Output欄后點(diǎn)擊Add在彈出的窗口中選擇Normal Map再點(diǎn)Add Elements,可以調(diào)整貼圖的尺寸,我選擇的是1024*1024,然后勾選Output into Normal bump,最后再點(diǎn)擊Render便可以渲染出來,渲染的時(shí)候最好用scanline(線掃描渲染器)。


圖28

  渲染出來的效果,(紅色區(qū)域是我之前將高模和低模鎖骨部分刪掉后,兩個(gè)模型不一樣所造成的)。


圖29

  Normal Map(法線貼圖)渲染好以后,我們貼到低模(low-model)上看看效果,給低模一個(gè)材質(zhì)球,在map欄里的Bump中添加Normal Bump,然后在Normal  bump 里面的Normal 里貼剛剛生成出來的Normal map (法線貼圖),只要渲染便可以看到效果。

 
圖30

  如果要在視圖中直接看到法線貼圖的,效果需要調(diào)整一下設(shè)置:

  在max菜單欄上展開Customize選擇Preference,在彈出的窗口中依次選擇:Viewports---Choose Driver(彈出的窗口中)勾選Direct3D(Recommended),重新啟動(dòng)max。


圖31

  打開材質(zhì)編輯器,在剛剛貼法線的材質(zhì)球中展開DirectX Manager ,勾選DX Display of Standard Material ,等待一會(huì)兒顯示貼圖的“盒子”會(huì)變成紅白的棋盤格,點(diǎn)擊便可以在視圖中看到法線的效果。


圖32


圖33

  做到這一步,次世代模型的Normal Map(法線貼圖)算是告一段落了,當(dāng)然制作法線的方法還有很多種,這只是其中一種,由于時(shí)間的關(guān)系我這里就不一一列出來,希望這個(gè)教程能給大家?guī)硪恍椭?看后大家有什么意見和建議可以與我聯(lián)系。

  后面抽了些時(shí)間簡(jiǎn)單的做了些貼圖:Color Map、Specular Map、Normal Map。


圖34


圖35



posted on 2009-07-01 15:04 七星重劍 閱讀(3330) 評(píng)論(2)  編輯 收藏 引用 所屬分類: Game Graphics

FeedBack:
# re: 圖形學(xué)掃盲--(5)法線貼圖Nomal mapping 2009-07-23 18:49 fireball
圖片未經(jīng)授權(quán)不可引用,博主解決下吧  回復(fù)  更多評(píng)論
  
# re: 圖形學(xué)掃盲--(5)法線貼圖Nomal mapping[未登錄] 2010-09-16 19:15 echo
很棒很詳細(xì),幫了大忙了,LZ我愛你~  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲国产福利在线| 久久精品人人爽| 在线精品亚洲| 国产精品亚洲美女av网站| 你懂的视频一区二区| 香蕉久久一区二区不卡无毒影院| 亚洲国产日韩一区| 美女精品在线| 久久成人国产| 亚洲一区二区三区色| 亚洲精品偷拍| 亚洲高清久久| 狠狠干综合网| 国产一区激情| 国产日韩欧美在线播放| 欧美日韩亚洲不卡| 欧美激情网站在线观看| 女同一区二区| 另类天堂av| 久久琪琪电影院| 久久精品夜夜夜夜久久| 欧美一区二区三区的| 亚洲一区二区三区免费视频| 一本久久青青| 日韩视频―中文字幕| 91久久在线| 亚洲国产婷婷综合在线精品| 欧美激情影院| 亚洲国产美国国产综合一区二区| 免费在线成人| 欧美成人蜜桃| 欧美国产一区视频在线观看| 欧美大香线蕉线伊人久久国产精品| 久久婷婷麻豆| 麻豆成人小视频| 欧美成人中文字幕在线| 欧美成人情趣视频| 亚洲第一主播视频| 亚洲国产婷婷香蕉久久久久久| 亚洲第一页自拍| 亚洲国产综合91精品麻豆| 亚洲国内自拍| 一本色道久久88精品综合| 一区二区三区 在线观看视频| 99综合视频| 亚洲小说欧美另类社区| 午夜视频久久久| 久久久www成人免费精品| 免播放器亚洲一区| 欧美区二区三区| 国产精品红桃| 国产亚洲欧美一区在线观看 | 欧美sm重口味系列视频在线观看| 美女国产一区| 91久久夜色精品国产网站| 日韩视频免费在线观看| 亚洲午夜在线观看| 久久国产高清| 女女同性精品视频| 欧美三区在线视频| 国产亚洲一区在线| 亚洲韩国日本中文字幕| 国产精品99久久久久久久久| 欧美影院午夜播放| 欧美ed2k| 中文日韩电影网站| 久久精品噜噜噜成人av农村| 欧美成人视屏| 国产精品免费网站| 在线看视频不卡| 在线亚洲一区| 久久精品视频亚洲| 亚洲欧洲一区二区在线播放| 亚洲一区精品在线| 欧美成人久久| 国产精品自拍一区| 亚洲黄色免费| 午夜精品一区二区三区在线| 模特精品裸拍一区| 一区二区三区视频在线看| 久久久久久噜噜噜久久久精品| 欧美喷潮久久久xxxxx| 国产主播一区二区| 亚洲一区成人| 欧美成人免费小视频| 亚洲在线观看视频网站| 欧美二区在线播放| 国外成人在线视频| 亚洲一级二级| 欧美激情第9页| 性色一区二区| 欧美日韩亚洲91| 亚洲国产精品热久久| 欧美在线二区| 日韩午夜av电影| 美女尤物久久精品| 国产亚洲精品高潮| 亚洲综合欧美日韩| 亚洲国产日本| 久久免费午夜影院| 国产亚洲精品v| 亚洲综合久久久久| 亚洲精品一二三| 美女脱光内衣内裤视频久久影院 | 久久久精品日韩欧美| 99精品国产99久久久久久福利| 久久久蜜桃一区二区人| 国产欧美日韩视频一区二区| 99国产精品99久久久久久粉嫩| 鲁大师成人一区二区三区| 亚洲欧美在线一区二区| 欧美午夜精品一区| 99视频一区二区三区| 欧美激情日韩| 老司机精品视频网站| 好吊视频一区二区三区四区| 欧美一区二区三区啪啪| 在线视频亚洲一区| 欧美日韩日本视频| 一区二区福利| 亚洲激情成人在线| 欧美国产日韩一区二区| 亚洲品质自拍| 亚洲国产精品高清久久久| 美女精品网站| 亚洲欧洲日产国码二区| 欧美a一区二区| 免费日韩av| 亚洲人成网站影音先锋播放| 欧美暴力喷水在线| 快she精品国产999| 亚洲黄色影片| 亚洲国产国产亚洲一二三| 久久五月天婷婷| 亚洲国产欧美精品| 亚洲国产精品www| 欧美精品亚洲| 亚洲午夜激情在线| 亚洲网站在线| 国产麻豆综合| 欧美一区网站| 欧美在线看片| 亚洲国产欧美一区二区三区久久 | 亚洲一区二区三区激情| 一区二区三区色| 国产精品婷婷| 久久精品91久久久久久再现| 欧美在线视频免费播放| 在线日韩av片| 91久久在线观看| 国产精品高清在线| 一本一本久久| 久久精品国产91精品亚洲| 亚洲精品一区二区在线观看| 香蕉成人伊视频在线观看| 国产一区二区三区免费在线观看 | 亚洲国产成人精品女人久久久| 欧美黄色一级视频| 欧美日韩成人一区| 欧美亚洲视频在线观看| 久久精品91| 日韩视频精品| 亚洲一区www| 精品88久久久久88久久久| 亚洲第一区在线| 国产精品久久看| 麻豆国产精品va在线观看不卡| 欧美成人综合一区| 校园春色综合网| 久久网站免费| 亚洲一区免费看| 久久网站免费| 亚洲女性裸体视频| 久久免费观看视频| 亚洲视频一区二区免费在线观看| 午夜精品999| 亚洲美女一区| 欧美一区二区日韩一区二区| 亚洲精选91| 欧美一区影院| 一区二区三区av| 久久精品国产免费| 亚洲一区二区三区免费视频| 久久久噜噜噜久久狠狠50岁| 亚洲一区二区久久| 免费成人高清在线视频| 欧美一级二级三级蜜桃| 欧美激情精品久久久久久久变态| 欧美在线视频a| 欧美日韩国产综合久久| 久久综合色综合88| 国产精品视频yy9099| 亚洲国产欧美一区二区三区同亚洲 | 国产亚洲视频在线| 亚洲精品一区二区在线| 亚洲第一区在线观看| 午夜精品久久久久久久蜜桃app| 日韩视频在线播放| 久久夜色精品一区| 久久久久九九九|