在油管上看到unityJapan办的官方演讲会中,讲解了如何用shaderGraph制作一个能量护盾。我就跟着模仿地做了一下,效果如图。
官方油管地址:https://www.youtube.com/watch?v=7ToExWKVZW0&t=2407s
主要有3个工作:
1)检测物体之间的接触边缘
2)画出透明物体的边缘
3)扭曲透过物体的像。
STEP 1)
打开渲染管线设定中的DepthTextture,获取场景深度
建立一个Unlit shader,master节点设定改为transparent渲染队列,双面渲染。
建立一个sceenDepth节点,采样改为eye
再建立一个screenPosition节点,模式改为raw来获取不透明物体的深度信息。
把screenPosition节点里的w分量分出来,用sceenDepth节点输出的值去减,最后输出到master节点上的color看一下。发现同球体接触的边缘变黑。
节点图: