當前位置:首頁 >教程首頁 > 遊戲程序 > Unity3D遊戲開發工程師班 >Shader小白入門基礎教程之固定管線(下)

Shader小白入門基礎教程之固定管線(下)

發布時間:2020-02-26 12:15:23

在上一篇教程中,Shader小白入門基礎教程之固定管線(上)我們初步接觸了固定管線,並了解了Properties、Material以及Lighting的相關知識。固定管線的功能很局限,但是代碼較為簡潔、速度也較快,這是FFshader的特點。今天這篇教程,我們主要了解固定管線最重要的一部分內容:Settexture。

Settexture,賦予貼圖(貼圖采樣)。在這裏我於網上隨便找了兩張方圖01、02,兩張都是石頭紋理的。

1.webp.jpg

Settexture十分重要,相對Properties、Material以及Lighting命令格式也稍顯複雜。這裏,要讓一個shader可以被賦予材質,需要如下添加Settexture命令。兩部分,一部分在Properties聲稱一張貼圖MainTex,並在Pass中加入命令語句塊。

2.webp.jpg

這裏我們需要注意,在Settexture語句塊中要使用combine命令,如下

3.webp.jpg

回到界麵,為了教程需要,我複製了一個球出來,並賦予一個新的材質02(代碼為ff1的代碼複製即可)。這時我們發現,在球上,就有了一個可以放置貼圖的位置。

4.webp.jpg

這時我們將一張貼圖拖拽到對應位置上,我們看到這個球就有紋理材質了

5.webp.jpg

但是,使用貼圖之後,原先具有高光、暗部變化甚至自發光的效果都沒有了。這是為什麼呢?Combine命令是合並的意思,這裏texture指的就是默認的一張貼。這裏就要將貼圖乘上以前已經計算好的頂點光照,即primary。這樣兩個值相乘就會得到一個混合新值,代碼如下

6.webp.jpg

這時,保存返回界麵看效果。原來的效果和貼圖效果就同時顯示了

7.webp.jpg

有的時候,由於計算機硬件問題。混合效果可能會偏暗,這時我們可以在命令後麵再加上個double,雙倍強度顯示。

8.webp.jpg

返回界麵我們看到小球的亮度明顯提高(提高了兩倍)。

9.webp.jpg

有的時候,對待一個物體,我們不隻需要一張貼圖,需要兩張或以上貼圖進行混合。這裏記住,一個Settexture塊隻能控製一張貼圖,也就是說再加一張貼圖需要再寫一個Settexture塊。代碼如下

10.webp.jpg

回到界麵中,我們看到有兩個貼圖塊,但是並沒有顯示有貼圖。這時我將第二張貼圖放上去,有紋理了,但是兩張貼圖並沒有混合顯示,這時為甚呢?

11-1.webp.jpg11-2.webp.jpg

關鍵在於Combine命令上。Combine命令總是用當前的貼圖去乘以頂點光照的顏色,所以讀取的是第二個塊的貼圖。這裏我們要將第一個貼圖也乘上去怎麼辦,這裏就要用到previous了。代碼如下

12.webp.jpg

我們再返回界麵,看到的確兩張圖進行了乘法混合

13.webp.jpg

這裏要注意,混合貼圖數量是有上線的,這個上限是由你顯卡硬件條件決定的。你的顯卡能混合多少貼圖,可以去unity文檔去找

在unity中,我將花球放在默認球前方,並想將前方的球半透明顯示。要實現透明,就要使用alpha值以及一個重要的命令Blending,我要在通道裏打上這樣一段代碼

14.webp.jpg

15.webp.jpg

在這段代碼之前,我已經將原來shader上的幾個參數調低,混合1減去當前這個alpha值,將天光等都透過來。

16.webp.jpg16-2.webp.jpg

回到界麵,我們看到了透過去的球。但是如果我們換個角度,就看不到後麵的球了。這涉及到一個渲染次序問題。就需要Tags命令了,來改變渲染隊列。

這時我們就看到後麵透過來的小球了。

17.webp.jpg

作者:kinglary 

來源:Thepoly 

华体会hth体育网 賞析
  • 2101期學員李思庭作品

    2101期學員李思庭作品

  • 2104期學員林雪茹作品

    2104期學員林雪茹作品

  • 2107期學員趙淩作品

    2107期學員趙淩作品

  • 2107期學員趙燃作品

    2107期學員趙燃作品

  • 2106期學員徐正浩作品

    2106期學員徐正浩作品

  • 2106期學員弓莉作品

    2106期學員弓莉作品

  • 2105期學員白羽新作品

    2105期學員白羽新作品

  • 2107期學員王佳蕊作品

    2107期學員王佳蕊作品

專業問題谘詢

你擔心的問題,火星幫你解答
  • 廣州視頻剪輯培訓機構有哪些

    在廣州這座繁華的都市中,數字創意產業正蓬勃發展,廣州視頻剪輯培訓成為許多影視愛好者的理想起點。隨著短視頻平台和影視製作需求的激......

  • 北京UI設計培訓免費試聽攻略

    在北京這樣一座充滿創意活力的都市,UI設計培訓正成為無數年輕人追逐職業夢想的跳板。隨著數字經濟的蓬勃發展,UI設計行業在北京展......

  • 北京平麵設計培訓機構排名榜

    在當今創意經濟蓬勃發展的浪潮中,北京平麵設計培訓成為眾多職業追求者的理想起點。這座城市的活力與機遇吸引著無數人投身視覺藝術領域......

  • 北京虛幻引擎課程內容全解析

    在影視和設計行業蓬勃發展的今天,虛幻引擎作為核心技術工具,正引領著視覺創作的革命。越來越多的人渴望掌握這門技能,而專業的培訓成......

  • 北京平麵設計課程如何選擇適合的

    在北京這座文化創意中心,平麵設計培訓行業蓬勃發展,為渴望入行的學員提供了豐富機遇。隨著數字媒體和影視產業的崛起,掌握視覺傳達技......

  • 上海3D建模短訓班課程內容解析

    在上海這座充滿活力的城市,影視和設計行業正迎來前所未有的發展機遇,數字技術的進步讓3D建模成為創意產業的核心驅動力。參加專業的......

×

同學您好!

您已成功報名0元試學活動,老師會在第一時間與您取得聯係,請保持電話暢通!
確定