前言
本文將使用Unity Shader Graph的節點來繪制一個夾心圓環,分成三部分外環、內環和中心環。通過制作一個夾心圓環能夠更好地理解和實踐Shader Graph中的基礎節點以及思維。
創建一個Ring的Shader Graph文件,再創建一個對應的材質球M_Ring以及一個Texture2D的MainTex變量。
制作中心環
首先是制作中心部分的圓環,創建一個UV節點,再使用一個距離節點Distance,計算從各個點到中心點(0.5,0.5)的位置,得到一個從中心像四周散開的漸變圓數據。將該數據與一個Step節點的Edge相連,創建一個Float類型的半徑Radius作為此Step節點的In值,用來控制圓的半徑。再創建一個Float類型的變量RingWidth,即圓環寬度,用半徑減去寬度獲得一個減去寬度后的圓半徑,再將該半徑連接到一個新的Step節點的In值里,同時將之前的基礎漸變圓數據連接到此Step節點的Edge輸入,獲得小半徑的圓。用大半徑的圓減去小半徑的圓就可以獲得中心圓環,節點如下。
添加中心環顏色
創建一個Color變量為CenterRingColor,控制中心圓環的顏色,與圓環數據相乘,節點如下