西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程軟件使用 → Strumpy Shader Editor著色編輯器詳細(xì)圖文教程

Strumpy Shader Editor著色編輯器詳細(xì)圖文教程

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2013/11/13 10:31:45字體大小:A-A+

作者:西西點擊:144次評論:0次標(biāo)簽: Shader

  • 類型:3D 制作大。43.3M語言:中文 評分:2.3
  • 標(biāo)簽:
立即下載

對于3D游戲來說,有很多絢麗的效果,都是靠shader(著色器)來實現(xiàn)的。不過很多朋友估計都不會編寫shader,阿趙我自己也只是看了個入門,明白了它的原理,很多具體的效果都寫不出來的。這次來介紹一個Unity3D的第三方shader編輯器:Strumpy。這個編輯器是完全可視化編輯,使用起來相對簡單一點。

先來看看我們這次需要做的例子:

我們需要使用Strumpy,編輯出這樣一個shader:包括了漫反射通道、法線通道、高光通道,以及在模型的邊緣運動的光效。

很顯然,Unity3D自帶的shader沒有能直接實現(xiàn)這樣的功能的,最多也只能使用法線和高光通道而已。

由于這個例子稍微復(fù)雜,所以我們先來做一個更簡單的例子,來熟悉一下strumpy的界面和基本操作。首先肯定是要先下載Strumpy插件了。在Asset Store里面有,免費下載的。我這里使用的是4.0a版本。

下載完之后導(dǎo)入,會看到多了一個選項:

選擇之后打開了Strumpy的編輯窗口: 

Flie的功能很直觀,新建,讀取,保存和導(dǎo)出的功能,我們可以先看看讀取功能

插件自帶了一些已經(jīng)編輯好的范例,有興趣的朋友可以逐個看看,會有很大的收益。

然后我們來正式開始做這個簡單的例子,我們準(zhǔn)備了一張帶有透明通道的貼圖(拿斬首大刀的阿趙),接下來我們做一個shader,把這張貼圖顯示在一個面片上面,使它實現(xiàn)漫反射通道和透明通道的顯示。

我們新建一個著色器編輯: 

 注意看,新建時,在Settings的標(biāo)簽是紅色的,然后Shader Name也是紅色的,這是提醒我們,每一個shader必須要先有一個名稱,而這個名稱就是以后你在材質(zhì)欄里面選擇的材質(zhì)名稱了。比如你可以用“myshader/test”,這樣test材質(zhì)會出現(xiàn)在myshader下面。

輸入材質(zhì)名詞之后,我們先來Inputs里面,新建一個輸入。這個輸入,就是我們平常在Unity自帶的材質(zhì)球里面看到的輸入通道了。假如我們需要它能調(diào)節(jié)顏色,那么就要新建一個顏色的輸入,假如需要調(diào)用貼圖,就要新建一個貼圖的輸入。這里我們新建一個Unity預(yù)設(shè)的MainTexture。熟悉用腳本替換材質(zhì)貼圖的朋友估計很熟悉這個標(biāo)簽的含義了。

新建之后,我們可以看到,出現(xiàn)了一個貼圖選擇的通道,就像我們平常操作的自帶材質(zhì)球一樣。

接下來我們會新建一些節(jié)點,然后對他們進(jìn)行編輯。

創(chuàng)建節(jié)點的方式有兩種:

第一種是在Nodes里面選擇相應(yīng)的節(jié)點:

第二種是在節(jié)點編輯的窗口鼠標(biāo)右鍵單擊,選擇相應(yīng)的節(jié)點。 

我個人比較習(xí)慣第二種方法。

我們選擇了一個Sampler2D的輸入 

剛生成的時候,這個節(jié)點是紅色的,因為我們沒有指定輸入的來源。想起剛才我們新建的Input了吧?那個MainTexture指定在這里。

在選中該節(jié)點的情況下,來到Node的標(biāo)簽,會看到提示錯誤了

我們選擇_MainTex

這時候,節(jié)點就不再是紅色了,而是出現(xiàn)了兩項輸出,分別是2D采樣和UV信息。節(jié)點名稱里面,也會相應(yīng)的顯示出_MainTex,也就是我們剛才新建的Input的名稱。

接下來我們新建一個Tex2D方法節(jié)點。

然后像上圖一樣,用鼠標(biāo)把他們之間連起來。

 這時候,把我們預(yù)先準(zhǔn)備好的貼圖指定在貼圖通道里面

點擊預(yù)覽窗口的Update Preview,會看到預(yù)覽的物體上面出現(xiàn)了我們的貼圖

為了便于觀察,我們選擇一個片面模型。這時候,漫反射通道已經(jīng)完成了,接下來我們繼續(xù)做透明通道。

如上圖一樣,把A連接到Alpha通道。

然后來到Settings,按上圖設(shè)置一下。

打開背景顯示,會看到透明通道已經(jīng)生效了。

在完成了以上的小例子之后,我們正式來解釋一下Strumpy各個部分的意思吧。 

在master里面,分別是各個通道的最終輸出。

節(jié)點是通過有方向性的線條來連接的,分為輸入端和輸出端,上圖是一個單向輸入輸出的例子。

再來是一個運算的例子,Add是相加的操作,這里是兩個輸入端進(jìn)入了相加,然后輸出一個結(jié)果。

在這里要說明一下的是,這些操作很大一部分都是數(shù)學(xué)運算的方法,比如加減乘除、sin、cos之類,各位在學(xué)習(xí)之前最好要先理解他們的意思。比如相加就是互相疊加,兩張圖相加會整張圖都變得更亮。相乘是波峰波谷的疊加,兩張圖相乘,會使亮的地方更亮,暗的地方更暗。其他的方法請各位自行百度去查閱了,就不一一說明。

再來看看設(shè)置的選項 

如果曾經(jīng)自己寫過shader的朋友,對于這些選項應(yīng)該是很熟悉的。比如很多朋友問的雙面顯示,其實就是把CullMode選擇為Off就行。

介紹完基本功能,我們正式的來做這次的目標(biāo)例子了。 

這里我們準(zhǔn)備了一個模型。

模型帶有了漫反射貼圖和法線貼圖。

首先新建一個著色器編輯,然后給shader起名為:myShader

按照第一個例子的操作,我們完成了漫反射通道。

為了應(yīng)用在我們的模型上,我們需要先生成一個shader。選擇導(dǎo)出(Export As)

給shader起一個文件名。這個名稱沒有太大的意義。

導(dǎo)出之后,我們來到材質(zhì)球選擇的地方,會看到了我們新建的myShader,選擇它。

然后指定漫反射貼圖,我們的模型變成了上圖的效果。

接下來,我們在Inputs里面新建一個凹凸貼圖的輸入

然后完成法線通道節(jié)點的編輯。由于需要使用法線貼圖,所以需要加入一個UnPackNormal的節(jié)點。

這時候,我們會發(fā)現(xiàn)輸入通道處多了Normalmap通道,我們把法線貼圖賦予上去。模型變成上圖的效果。

我們再新建一個顏色輸入,作為高光的顏色。

完成高光通道和光澤強(qiáng)度的節(jié)點編輯。

這里我用了一個Multiply(相乘),目的是讓光澤強(qiáng)度范圍的對比度更大,顯得高光會更尖銳一點。高光顏色直接連接到Specular通道。

現(xiàn)在我們的模型已經(jīng)擁有了一定的質(zhì)感了。由于模型原來是沒有法線貼圖的,我拿了漫反射貼圖來直接轉(zhuǎn)換,所以效果差了點,有興趣的朋友可以自己做法線貼圖增強(qiáng)效果。

接下來做有動畫效果的光。

我們新建了幾個輸入:發(fā)光顏色(_LightColor),一個發(fā)光顏色的遮罩貼圖(_Light),一個浮點(_dir)作為光運動的方向,一個范圍選擇(_RimPow)作為發(fā)光強(qiáng)度的控制。

這張是發(fā)光遮罩貼圖,是一張黑白的梯度圖。

這一個步驟的節(jié)點編輯有點復(fù)雜,基本的思路是將顏色和遮罩貼圖混合在一起,并用時間控制UV動畫:

1、遮罩貼圖我用了ViewDirection和Fresnel結(jié)合控制顯示方向,并用_RimPow作為顯示方向的次冪控制顯示強(qiáng)度。

2、為了讓光會隨著時間自己做動畫,我是用來Time和_dir相乘,這樣可以控制動畫的速度和方向。

3、為了讓UV移動做動畫,我用了UV_Pan。記得UV_Pan需要選擇輸入的軸,這里我選擇了Y軸。

4、最后,我把發(fā)光顏色和遮罩運算的結(jié)果相乘,達(dá)到疊加波峰改變顏色的目的。

最后,發(fā)布shader,根據(jù)需要選擇相應(yīng)的遮罩貼圖,指定發(fā)光的顏色、強(qiáng)度和方向,我們的例子就完成了。

補(bǔ)充說明幾點:

1、可能很多功能自帶的shader都有,不過有時候你就是會需要一些功能特殊一點的shader,具體需要什么輸入通道,和怎樣的操作,請根據(jù)實際情況考慮。

2、關(guān)于即時鏡面反射的shader,估計很多朋友都很感興趣。不過我這里不打算詳細(xì)介紹,因為unity沒有直接即時反射運算的shader。

簡單說明一下其原理:

在自帶的水面和憤怒機(jī)器人場景里面,我們都看到了類似鏡面反射的效果,其實這都是一種欺騙。做法不算復(fù)雜,其實是根據(jù)了當(dāng)前攝像機(jī)的位置,新建了一個相對角度的反射攝像機(jī),并把反射攝像機(jī)看到的內(nèi)容渲染成RenderTexture。最后把RenderTexture和位置矩陣輸入到普通材質(zhì)的貼圖通道,達(dá)到好像即時反射的效果。水面的例子做法會傻一點,因為它是針對水面物體自己生成了一個反射攝像機(jī),所以的反射效果只會對水面本身有效果,每個可以反射的面,都要單獨生成。而憤怒機(jī)器人里面的例子會聰明很多,它會在攝像機(jī)的腳本里面根據(jù)預(yù)先選擇的可反射的圖層,統(tǒng)一生成了一張RenderTexture,并讓所有可以反射的shader使用。

結(jié)合著即時反射這個例子,可以看出實際上很多特殊的效果,都不是單獨的shader能直接實現(xiàn)的,還需要到其他的腳本去配合。

    Autodesk Maya
    (15)Autodesk Maya
    從事三維設(shè)計行業(yè)的人應(yīng)該對這款三維動畫軟件很熟悉,它可以提供完美的建模動畫特效和高效的渲染功能。另外也被廣泛的應(yīng)用到了平面設(shè)計二維設(shè)計領(lǐng)域。軟件的強(qiáng)大功能正是那些設(shè)計師廣告主影視制片人游戲開發(fā)者視覺藝術(shù)設(shè)計專家網(wǎng)站開發(fā)人員們極為推崇的原因。這里給大家提供了下載,模型下載插件下載。...更多>>
    • Maya骨骼插件AdvancedSkeleton for

      02-26 / 3.8M

      推薦理由: AdvancedSkeleton是Maya的角色設(shè)計的工具的合集。主要特點是:1.不再局限于預(yù)先設(shè)計好的FitSkeleton,
    • Autodesk Maya 2011V2011 SP1

      05-15 / 1.39G

      推薦理由: Autodesk Maya是歐特克旗下最著名的三維特效軟件之一。自2001年以來所有獲得奧斯卡“最佳視覺效果獎”
    • MAYA2008材質(zhì)庫Shader Libray

      07-29 / 43.3M

      推薦理由:大約有五百多個MAYA材質(zhì)吧,MAYA很多版本應(yīng)該都可以用,并不僅局限于MAYA2008版本。如何自己建立材質(zhì)庫的方
    • 植物生長插件(Xfrog for Maya 2012

      11-03 / 24.9M

      推薦理由:可以制作植物生長效果的MAYA插件  特點: 1、Xfrog提供的收費模型庫有超過600種植物。 2、所有的樹葉
    • Maya爆破插件(BlastCode)v1.7 For

      05-31 / 80.6M

      推薦理由:Blast Code是目前最優(yōu)秀的爆炸特效制作插件,它是一個高級的動畫引擎,是幫助模擬破壞場景制作,能夠模擬出
    • 瑪雅3D動畫渲染(3Delight for Maya

      05-02 / 17.6M

      推薦理由:一個強(qiáng)大的瑪雅動畫渲染工具。對瑪雅3Delight是一個強(qiáng)大的插件,打算給你帶來增強(qiáng)的性能在渲染動畫Maya動畫

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)