Unity Shader Forge 类水晶球折射效果的实现
1、场景的颜色Scene Color:包含前一场景的渲染纹理呈现这个对象。默认情况下,uv在屏幕空间,使每个像素代表对象背后的颜色。这可以用于更高级的混合/透明效果,或者手动的方式折射如果uv改变,等等
2、屏幕上的位置Screen Position:输出当前的屏幕位置网格的一部分,可以用作屏幕UV坐标映射。下拉框,“归一化”将{ 0,0 }在屏幕的中心,并在右上角{ 1 1 }。“瓦”将{ 0,0 }的中心,但在X轴将基于你的宽高比
3、视差Parallax:输出输入(紫外线)坐标与视差抵消来自(黑)的输入,(Dep)深度和高度(Ref)的引用。(Ref)高度为0意味着它将视差heightmap棒从网;(Ref)高度为1意味着它将视差好像heightmap下降到网格
1、打开Unity,并且导入Shader Forge插件,然后打开插件自带的“Example Scene”场景,接着在场景中添加“Camera”和“Sphere”,并把他们进行适当调整,如下图
2、在Unity菜单“Window”下找到“Shader Forge”,单击打开,新建一个“Custom Lighting”的shader,并给他取个名称,C操作如下图
3、在打开的 shader forge 编辑区域,把自带的图框删掉,然后回到 unity 界面,新建个 material,material-shader 通道为刚才建的 shader,操做如下图
4、回到 shader forge 编辑区域,添加“Scene Color”,并连接到 “Main”面板的“Custom Lighting”,进行“Compile shader”之后,回到 Unity 界面,即可依稀见到折射效果,如下图
5、回到 shader forge 编辑区域,添加“Fresnel”,已添加边缘效果,并且“Add”之前的“Scene Color”,一起链接到“Custom Lighting”,进行“Compile shader”之后,如下图
6、然后添加“Parallax”输出到“Scene Color”,再添加“Scene Position”输出给“Parallax”,并添加“Texture2D”和其他一些控制参数,用来生成水晶球表面凹凸效果的折射,如下图
7、进行“Compile shader”之后,回到 Unity 界面,给 Material,添加贴图,并且适当调节参数之后,效果就会出现,如下图
8、到此,Unity Shader Forge 类水晶球折射效果的实现步骤讲解结束,谢谢