[SceneKit]Materials紋理貼圖(七)

在OpenGL ES 中, 使用紋理貼圖的方式來給一個物體模擬現(xiàn)實的材質(zhì), 讓幾何物體看起來更逼真, 但是在OpenGL ES中使用起來是超級麻煩. SceneKit中用來顯示紋理就方便多了, 最起碼它是面向?qū)ο蟮?

SceneKit支持四種不同的照明模型,它們定義將不同材質(zhì)的屬性與場景中的燈組合的數(shù)學方程,以產(chǎn)生每個渲染像素的精確最終顏色查蓉。在[SceneKit]光線(五)介紹了四種不同的光, 這個是四種不同的光照模型, 不要搞混了??

Lighting models光照模型
四種不同的光照模型

以下是每個模型的詳細信息:

?Constant:使用平面照明模型梁钾,在計算渲染像素的顏色時,僅將環(huán)境照明納入方程式渴邦。
?Lambert:在計算時加入環(huán)境照明和漫射信息
渲染像素的顏色。
?Blinn:結合環(huán)境,漫反射和鏡面照明信息迄委,其中使用Blinn-Phong公式計算鏡面高光。
?Phong类少。 包含環(huán)境叙身,漫反射和鏡面照明信息,其中使用Phong公式計算鏡面高光硫狞。

Materials通常被稱為紋理; 他們可以讓您在場景中引入更多的細節(jié)和現(xiàn)實感信轿,而不需要更多的幾何體。
紋理基本上是平面的二維圖像残吩,包裹3D幾何财忽,使用幾何中存儲的特殊紋理坐標。其實就是3d圖像的每個點都與對應的2d紋理之間有一個一一對應的映射關系, 把這個映射關系做好之后, 剩下的就是把2d圖像貼在3d幾何上面就OK了.

貼圖的類型

Diffuse map(漫反射貼圖)

最常用的紋理映射方法泣侮。它將位圖圖像包裹在3D幾何表面上即彪,同時顯示其原始像素顏色。
漫反射貼圖在游戲中表現(xiàn)出物體表面的反射和表面顏色旁瘫。換句話說祖凫,它可以表現(xiàn)出物體被光照射到而顯出的顏色和強度。我們通過顏色和明暗來繪制一幅漫反射貼圖酬凳,在這張貼圖中惠况,吸收了比較多的光線的部分比較暗,而表面反射比較強的部分宁仔,吸收的光線比較少稠屠。
刨去那些雜糅的東西,我們只談明顯的,漫反射貼圖表現(xiàn)了什么权埠? 列舉一下榨了,物體的固有色以及紋理,貼圖上的光影攘蔽。前面的固有色和紋理我們很容易理解龙屉,至于后面的光影,我們再繪制漫反射貼圖的時候需要區(qū)別對待满俗,比如我們做一堵墻转捕,每一塊磚都是用模型做出來的,那么我們就沒有必要繪制磚縫唆垃,因為這個可以通過打燈光來實現(xiàn)五芝。可是我們?nèi)绻媚P椭蛔隽艘幻鎵υ颍厦娴拇u塊是用貼圖來實現(xiàn)枢步,那么就得繪制出磚縫了。從美術的角度渐尿,磚縫出了事一條單獨的材質(zhì)帶外醉途,還有就是磚縫也是承接投影的,所以在漫反射圖上砖茸,繪制出投影也是很有必要的结蟋。
沒有什么物體能夠反射出跟照到它身上相同強度的光。因此渔彰,讓你的漫反射貼圖暗一些是一個不錯的想法。通常推正,光滑的面只有很少的光會散射恍涂,所以你的漫反射貼圖可以亮一些。

屏幕快照 2017-07-24 上午10.02.21.png
屏幕快照 2017-07-23 下午10.41.05.png
Normal map(法線貼圖)

法線貼圖是一種凹凸貼圖植榕。它們是一種特殊的紋理再沧,可以讓您將一些表面細節(jié)(如凸起,凹槽和劃痕)添加到模型中尊残,如同它們由實際幾何體所代表的那樣炒瘸。

例如,您可能希望顯示一個表面寝衫,如表面上有凹槽顷扩,螺釘或鉚釘,如飛機船體慰毅。這樣做的一個方法是將這些細節(jié)建模為幾何隘截,。
將法線貼圖視為定義幾何凹凸的紋理; 您可以使用它來模擬粗糙的表面,如月球表面的凹坑婶芭,雕刻在古老的石片上东臀,或者甚至是閃亮的足球上的凸起的斑塊和皮革圖案.

屏幕快照 2017-07-23 下午10.46.34.png

Diffuse map只有基礎的顏色紋理, Normal map只有基礎的使用光線來表示幾何物體反射光線的多少(因為我們?nèi)搜劭吹降臇|西是基于反射光, 如果有反射光進入眼睛就能看到, 否則則看不到), 要想既有顏色又有光亮與陰暗, 可以試下把二者結合

屏幕快照 2017-07-23 下午10.53.41.png

如果你想生成你自己的法線貼圖,有一個叫做CrazyBump的工具犀农。 你可以在crazybump.com找到它惰赋。

Reflective map(反射貼圖)

在開始了解反射貼圖之前, 需要先了解下多維數(shù)據(jù)集(cube mapping)映射的概念。 你知道一個立方體由六面組成呵哨。 類似地赁濒,立方體地圖由六個相同大小的紋理組成,全部包含在用于紋理多維數(shù)據(jù)集的所有邊的一個大圖中仇穗。
場景套件使用以下模式來定義多維數(shù)據(jù)集地圖流部,其中每個圖塊表示多維數(shù)據(jù)集的特定一面:

屏幕快照 2017-07-24 上午9.34.41.png

使用多維數(shù)據(jù)集貼圖的好處是您可以定義對象的細節(jié); 您的對象的反射性決定了這種反射有多少將是可見的。 例如纹坐,一個鏡面完成將使您的對象高度反光枝冀,并產(chǎn)生鍍鉻效果。

與前面的Diffuse map和Normal map貼圖不同的是, 前面兩者是把一張2維圖片包裹在3維幾何物體表面, 而Reflective map 則是使用cube mapping的方式把原始的2維圖像映射到3維物體之上, 更像是含有顏色的影子.

屏幕快照 2017-07-24 上午10.13.08.png
Occlusion map(閉塞貼圖)

Occlusion map用于提供關于模型的哪些區(qū)域應該接收高或低間接照明的信息耘子。間接照明來自于環(huán)境照明和反射果漾,因此您的模型如陡峭的凹陷部分,如裂紋或折痕谷誓,實際上不會接收太多的間接光绒障。
當它做得很好時,遮擋效應會給場景帶來很多現(xiàn)實感捍歪。 對于復雜的幾何形狀户辱,幾何形狀的部分將阻擋來自幾何的其他點的環(huán)境光,例如球的斑塊周圍的深脊:

屏幕快照 2017-07-24 下午12.41.24.png

應用遮擋圖之前和之后糙臼。部分被遮蔽的區(qū)域庐镐,特別是在脖子上的織物褶皺處,在左邊太亮了变逃。在分配了環(huán)境遮擋圖之后必逆,這些區(qū)域不再被來自周圍樹木環(huán)境的綠色環(huán)境光照亮。

Specular map(鏡面貼圖)

鏡面貼圖控制幾何的光澤揽乱。 貼圖的黑色部分定義了啞光部分名眉,而白色部分則表示光澤效果

控制從表面發(fā)出的光的顏色和強度。當您的場景中使用發(fā)光材料時凰棉,它似乎是可見的光源损拢。該物體將出現(xiàn)“自發(fā)光”。

Emission map(發(fā)光貼圖)

發(fā)光材料通常用于某些部件似乎從內(nèi)部照亮的物體上撒犀,例如顯示器的屏幕探橱,高速制動的汽車的盤式制動器申屹,控制面板上的發(fā)光按鈕或者怪物的眼睛,在黑暗中可見隧膏。

使用這些材料的對象即使在場景中的黑暗區(qū)域也會保持亮起哗讥。

屏幕快照 2017-07-24 下午12.50.11.png

紅色,綠色和藍色球體使用發(fā)光材料胞枕。即使它們處于黑暗的場景杆煞,它們也從內(nèi)部光源發(fā)光。

在Scene Kit中Emission map并不真正發(fā)光,只是模擬發(fā)光效果而已.就是說不能照亮其他物體,不能產(chǎn)生陰影.這點與其他3D創(chuàng)作工具不同.

Multiply map(乘法貼圖)

所有其他效果后應用乘法圖; 它可以用于著色腐泻,變亮或變暗的最終結果:

屏幕快照 2017-07-24 下午12.57.06.png

屏幕快照 2017-07-24 下午12.57.28.png
Transparency map(透明貼圖)

透明度貼圖使您幾何的幾何透明决乎,甚至完全不可見。 黑色部分定義不透明部分派桩,而白色部分最終為透明的部分构诚。像PS一樣

屏幕快照 2017-07-24 下午12.59.36.png
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市铆惑,隨后出現(xiàn)的幾起案子范嘱,更是在濱河造成了極大的恐慌,老刑警劉巖员魏,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丑蛤,死亡現(xiàn)場離奇詭異,居然都是意外死亡撕阎,警方通過查閱死者的電腦和手機受裹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來虏束,“玉大人棉饶,你說我怎么就攤上這事≌蛟龋” “怎么了砰盐?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長坑律。 經(jīng)常有香客問我,道長囊骤,這世上最難降的妖魔是什么晃择? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮也物,結果婚禮上宫屠,老公的妹妹穿的比我還像新娘。我一直安慰自己滑蚯,他們只是感情好浪蹂,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布抵栈。 她就那樣靜靜地躺著,像睡著了一般坤次。 火紅的嫁衣襯著肌膚如雪古劲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天缰猴,我揣著相機與錄音产艾,去河邊找鬼。 笑死滑绒,一個胖子當著我的面吹牛闷堡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疑故,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼杠览,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纵势?” 一聲冷哼從身側響起踱阿,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吨悍,沒想到半個月后扫茅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡育瓜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年葫隙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躏仇。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡恋脚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出焰手,到底是詐尸還是另有隱情糟描,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布书妻,位于F島的核電站船响,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏躲履。R本人自食惡果不足惜见间,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望工猜。 院中可真熱鬧米诉,春花似錦、人聲如沸篷帅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至惊橱,卻和暖如春蚪腐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背李皇。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工削茁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掉房。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓茧跋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親卓囚。 傳聞我的和親對象是個殘疾皇子瘾杭,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 我們都知道,一個三維場景的畫面的好壞哪亿,百分之四十取決于模型粥烁,百分之六十取決于貼圖,可見貼圖在畫面中所占的重要性蝇棉。在...
    自由的天空閱讀 12,392評論 0 12
  • 說明 本系列文章是對<3D Apple Games by Tutorials>一書的學習記錄和體會此書對應的代碼地...
    蘋果API搬運工閱讀 2,483評論 7 6
  • 從小到大讨阻,玩過許許多多游戲,但是在這個作文課上篡殷,我們玩了一個與眾不同的游戲钝吮。 “叮鈴鈴”上課了,老師走進了教室板辽,從...
    千嬟雪閱讀 268評論 0 0
  • 我第一次知道你是在還沒進廠跟振視頻的時候從振的口中得知奇瘦,他說他們宿舍有一個青島大學的,我當時聽到便在心里覺得你弱爆...
    秦超閱讀 287評論 0 1
  • 文/墨雪 看看那木頭 皮質(zhì)爛葉的包裹下 躺了一具快發(fā)霉的春天劲弦。 呆滯的那絲傷感 我輕輕的打開了 丟棄了生命的給予 ...
    詩與雪閱讀 125評論 1 2