有人問為什麼 youtube 看的教學都是用拉的,
我前面幾篇都要自己寫 code?
那種拉來拉去的工具叫 Visual Shader Editor,
為了說明 Visual Shader Editor 和 Shader Language 的關係,
我做了個影片,
影片會用 Visual Shader Editor 重寫上面雷射光的 code。
// code 原來大概是長這樣
vec2 uv.y = uv.y - 0.5;
vec4 color = vec4(0.9,0.5,0.3,1);
float coeff = abs(5.0/(200*uv.y));
fragColor = (coeff,coeff,coeff,1)*color;
影片
https://youtu.be/StYf2IEB70U
影片說明
0:00 - 0:23 建立一個 ColorRect
0:23 - 0:55 改畫面大小和顏色
0:55 - 1:09 打開 Visual Shader Editor
1:09 - 1:40 把 Spatial mode 改成 CanvasItem,並建立 uv input
1:40 - 2:28 取得 uv.y 的值
2:28 - 3:01 uv.y = uv.y - 0.5 (畫面中間)
3:01 - 3:48 coeff = abs( 5.0 / ( 100 * uv.y ))
3:48 - 5:30 COLOR = vec4(coeff, coeff, coeff, 1) * vec4(0.9, 0.3, 1)
以直接畫在一個 2D canvas 的例子,
自己寫 code 比用 visual shader editor 簡單易懂多了。
visual shader editor 用在 3D 物件的著色比較好用。
而且不先學寫 code,
直接學拉來拉去那套,
應該也看不懂吧?
至少我是這樣啦