Strumpy Shader Editor是一款专业的unity渲染器编辑器,可以设计出各种3D遊戲绚丽效果,提供顶点渲染、像素渲染和光照模型渲染三种模式,采用可视化的界面,可自由拖拽操作,免去编程的shader编辑器。小编带来了详细的使用教程,需要的朋友可以下载!
Strumpy Shader Editor使用教程
下載完之後導入,會看到多了一個選項:
選擇之後打開了Strumpy的編輯窗口:

Flie的功能很直觀,新建,讀取,保存和導出的功能,我們可以先看看讀取功能
插件自帶了一些已經編輯好的範例,有興趣的朋友可以逐個看看,會有很大的收益。
然後我們來正式開始做這個簡單的例子,我們准備了一張帶有透明通道的貼圖(拿斬首大刀的阿趙),接下來我們做一個shader,把這張貼圖顯示在一個面片上面,使它實現漫反射通道和透明通道的顯示。
我們新建一個著色器編輯:
注意看,新建时,在Settings的标签是红色的,然后Shader Name也是红色的,这是提醒我们,每一个shader必须要先有一个名称,而这个名称就是以后你在材质栏里面选择的材质名称了。比如你可以用“myshader/test”,这样test材质会出现在myshader下面。
輸入材質名詞之後,我們先來Inputs裏面,新建一個輸入。這個輸入,就是我們平常在Unity自帶的材質球裏面看到的輸入通道了。假如我們需要它能調節顔色,那麽就要新建一個顔色的輸入,假如需要調用貼圖,就要新建一個貼圖的輸入。這裏我們新建一個Unity預設的MainTexture。熟悉用腳本替換材質貼圖的朋友估計很熟悉這個標簽的含義了。

新建之後,我們可以看到,出現了一個貼圖選擇的通道,就像我們平常操作的自帶材質球一樣。
接下來我們會新建一些節點,然後對他們進行編輯。
創建節點的方式有兩種:
第一種是在Nodes裏面選擇相應的節點:
第二種是在節點編輯的窗口鼠標右鍵單擊,選擇相應的節點。
我個人比較習慣第二種方法。
我們選擇了一個Sampler2D的輸入
剛生成的時候,這個節點是紅色的,因爲我們沒有指定輸入的來源。想起剛才我們新建的Input了吧?那個MainTexture指定在這裏。
在選中該節點的情況下,來到Node的標簽,會看到提示錯誤了
我們選擇_MainTex
這時候,節點就不再是紅色了,而是出現了兩項輸出,分別是2D采樣和UV信息。節點名稱裏面,也會相應的顯示出_MainTex,也就是我們剛才新建的Input的名稱。
接下來我們新建一個Tex2D方法節點。
然後像上圖一樣,用鼠標把他們之間連起來。
這時候,把我們預先准備好的貼圖指定在貼圖通道裏面

点击预览窗口的Update Preview,会看到预览的物体上面出现了我们的贴图
爲了便于觀察,我們選擇一個片面模型。這時候,漫反射通道已經完成了,接下來我們繼續做透明通道。
如上圖一樣,把A連接到Alpha通道。
然後來到Settings,按上圖設置一下。
打開背景顯示,會看到透明通道已經生效了。
在完成了以上的小例子之後,我們正式來解釋一下Strumpy各個部分的意思吧。
在master裏面,分別是各個通道的最終輸出。
節點是通過有方向性的線條來連接的,分爲輸入端和輸出端,上圖是一個單向輸入輸出的例子。
再來是一個運算的例子,Add是相加的操作,這裏是兩個輸入端進入了相加,然後輸出一個結果。
在這裏要說明一下的是,這些操作很大一部分都是數學運算的方法,比如加減乘除、sin、cos之類,各位在學習之前最好要先理解他們的意思。比如相加就是互相疊加,兩張圖相加會整張圖都變得更亮。相乘是波峰波谷的疊加,兩張圖相乘,會使亮的地方更亮,暗的地方更暗。其他的方法請各位自行百度去查閱了,就不一一說明。
再來看看設置的選項
如果曾經自己寫過shader的朋友,對于這些選項應該是很熟悉的。比如很多朋友問的雙面顯示,其實就是把CullMode選擇爲Off就行。
介紹完基本功能,我們正式的來做這次的目標例子了。
這裏我們准備了一個模型。
模型帶有了漫反射貼圖和法線貼圖。
首先新建一個著色器編輯,然後給shader起名爲:myShader
按照第一個例子的操作,我們完成了漫反射通道。
为了应用在我们的模型上,我们需要先生成一个shader。选择导出(Export As)
給shader起一個文件名。這個名稱沒有太大的意義。
導出之後,我們來到材質球選擇的地方,會看到了我們新建的myShader,選擇它。
然後指定漫反射貼圖,我們的模型變成了上圖的效果。
接下來,我們在Inputs裏面新建一個凹凸貼圖的輸入
然後完成法線通道節點的編輯。由于需要使用法線貼圖,所以需要加入一個UnPackNormal的節點。
這時候,我們會發現輸入通道處多了Normalmap通道,我們把法線貼圖賦予上去。模型變成上圖的效果。
我們再新建一個顔色輸入,作爲高光的顔色。
完成高光通道和光澤強度的節點編輯。
這裏我用了一個Multiply(相乘),目的是讓光澤強度範圍的對比度更大,顯得高光會更尖銳一點。高光顔色直接連接到Specular通道。
現在我們的模型已經擁有了一定的質感了。由于模型原來是沒有法線貼圖的,我拿了漫反射貼圖來直接轉換,所以效果差了點,有興趣的朋友可以自己做法線貼圖增強效果。
接下來做有動畫效果的光。
我們新建了幾個輸入:發光顔色(_LightColor),一個發光顔色的遮罩貼圖(_Light),一個浮點(_dir)作爲光運動的方向,一個範圍選擇(_RimPow)作爲發光強度的控制。
這張是發光遮罩貼圖,是一張黑白的梯度圖。
這一個步驟的節點編輯有點複雜,基本的思路是將顔色和遮罩貼圖混合在一起,並用時間控制UV動畫:
1、遮罩貼圖我用了ViewDirection和Fresnel結合控制顯示方向,並用_RimPow作爲顯示方向的次冪控制顯示強度。
2、爲了讓光會隨著時間自己做動畫,我是用來Time和_dir相乘,這樣可以控制動畫的速度和方向。
3、爲了讓UV移動做動畫,我用了UV_Pan。記得UV_Pan需要選擇輸入的軸,這裏我選擇了Y軸。
4、最後,我把發光顔色和遮罩運算的結果相乘,達到疊加波峰改變顔色的目的。
最後,發布shader,根據需要選擇相應的遮罩貼圖,指定發光的顔色、強度和方向,我們的例子就完成了。
注意事項:
(1)每次改动完需要点Update Graph更新预览。
(2)刪除連線:鼠標移動至線上,點擊右鍵
(3)UV x或y的单变化使用UV_Pan
(4)图表视口的移动为 alt + 鼠标左键