Unity Shader Forge 类水晶球折射效果的实现

2025-10-09 06:36:57

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”,并把他们进行适当调整,如下图 

Unity Shader Forge 类水晶球折射效果的实现

Unity Shader Forge 类水晶球折射效果的实现

Unity Shader Forge 类水晶球折射效果的实现

2、在Unity菜单“Window”下找到“Shader Forge”,单击打开,新建一个“Custom Lighting”的shader,并给他取个名称,C操作如下图

Unity Shader Forge 类水晶球折射效果的实现

Unity Shader Forge 类水晶球折射效果的实现

Unity Shader Forge 类水晶球折射效果的实现

3、在打开的 shader forge 编辑区域,把自带的图框删掉,然后回到 unity 界面,新建个 material,material-shader 通道为刚才建的 shader,操做如下图

Unity Shader Forge 类水晶球折射效果的实现

Unity Shader Forge 类水晶球折射效果的实现

4、回到 shader forge 编辑区域,添加“Scene Color”,并连接到 “Main”面板的“Custom Lighting”,进行“Compile shader”之后,回到 Unity 界面,即可依稀见到折射效果,如下图

Unity Shader Forge 类水晶球折射效果的实现

Unity Shader Forge 类水晶球折射效果的实现

5、回到 shader forge 编辑区域,添加“Fresnel”,已添加边缘效果,并且“Add”之前的“Scene Color”,一起链接到“Custom Lighting”,进行“Compile shader”之后,如下图

Unity Shader Forge 类水晶球折射效果的实现

Unity Shader Forge 类水晶球折射效果的实现

6、然后添加“Parallax”输出到“Scene Color”,再添加“Scene Position”输出给“Parallax”,并添加“Texture2D”和其他一些控制参数,用来生成水晶球表面凹凸效果的折射,如下图

Unity Shader Forge 类水晶球折射效果的实现

Unity Shader Forge 类水晶球折射效果的实现

7、进行“Compile shader”之后,回到 Unity 界面,给 Material,添加贴图,并且适当调节参数之后,效果就会出现,如下图

Unity Shader Forge 类水晶球折射效果的实现

8、到此,Unity Shader Forge 类水晶球折射效果的实现步骤讲解结束,谢谢

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢