使用ShaderGraph 实现水面效果

这篇具有很好参考价值的文章主要介绍了使用ShaderGraph 实现水面效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先简单介绍一下什么是Shader Graph

Shader Graph:是unity提供可以用编写shader而通过连线的形式实现效果。

目录

初始阶段

 最终效果展示

准备

正式阶段

最终阶段


初始阶段

 最终效果展示

unity 水面shader,unity,unity,游戏引擎

准备

话不多说直接进入正题

我使用的是unity 2021.3 urp

1.创建一个新的3d项目 可以直接选择urp 或者选择build-in 然后在改成urp(我相信大家应该都会)

2.就是准备并布置一个场景(这不是重点就不做过多介绍)

3.创建材质并添加自己创建的shaderGraph 并把材质赋给提前准备好的平面模型

unity 水面shader,unity,unity,游戏引擎

正式阶段

水面效果的稍微有点复杂,所以这里分步骤介绍 

打开我们刚刚创建的shaderGraph开始连线

 首先把表面类型改为 透明类型  如果不改的化就无法显示深度,并不产生阴影。同时在urp Assest中里。改如下图

 unity 水面shader,unity,unity,游戏引擎unity 水面shader,unity,unity,游戏引擎

 和不透明物体交互产生的影响。

场景深度 - 屏幕空间位置的w向量 = 不透明物体鱼半透明物体相交的边缘

原理:场景深度节点深度包含透明元素而屏幕空间位置节点的w向量是不包含透明像素的获取边缘深度 0 表示为黑色 1 表示为白色

unity 水面shader,unity,unity,游戏引擎

unity 水面shader,unity,unity,游戏引擎

接下来是上色很简单 

将上面实现的效果 和 color 进行一个lerp操作。 

 unity 水面shader,unity,unity,游戏引擎

效果如下

 unity 水面shader,unity,unity,游戏引擎

让水动起来,并加上波纹

unity 水面shader,unity,unity,游戏引擎

 效果图

unity 水面shader,unity,unity,游戏引擎

 水下扭曲

unity 水面shader,unity,unity,游戏引擎

 获得屏幕位置上的颜色在于上边实现的深度进行lerp从而实现最终效果。

 unity 水面shader,unity,unity,游戏引擎

 unity 水面shader,unity,unity,游戏引擎

 最终阶段

 这个效果的大致实现顺序就是先 根据屏幕深度做出透明物体与不透明体相交的效果,之后给各个区域附上颜色,在之后就是根据法线贴图制作那种波浪的效果,在之后就是制作波浪的流动效果,最后就是水底的折射了。

其中使用了很多的节点,有兴趣的可以上官方的shaderGraph查看各个节点的效果和具体用法。这里就介绍几个主要的节点

scene Color 获取将缓冲区的颜色(从摄像机看到的颜色)

scene Depth:获取屏幕深度

scene Position(raw):裁剪出的w向量代表的也是屏幕深度。

 文章来源地址https://www.toymoban.com/news/detail-719684.html

 

到了这里,关于使用ShaderGraph 实现水面效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Unity] ShaderGraph实现伪室内效果,性能大解放

    使用版本为:2023.1.19f1  更详细的实现逻辑及步骤参考Mert Kirimgeri的视频: UNITY SHADER GRAPH with Fake Interiors Shader (youtube.com) OS:这简直是个降低性能的天才技术!!! 目录 一、构建虚拟立方体  二、切线空间与视角射线  三、赋予贴图 四、天空盒环境反射 五、两侧空间与插值

    2024年01月23日
    浏览(44)
  • 【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)

    最近在学习shader Graph相关内容,其实关于实现2d图片描边效果,网上可以看到很多教程,但是我发现大多数都是基于比较老旧的2018unity版本,可是我们实际开发使用可能是比较新的2021及以上版本,差别还是有的,实际在升级或者使用过程中,会遇到诸多问题,而且也很少有人

    2024年01月21日
    浏览(69)
  • [Unity] ShaderGraph实现Sprite图片描边/发光效果

    使用版本为:2022.3.10f1  [原始图]      [运行前]      [运行后] 更详细的实现逻辑及步骤参考CodeMonkey的视频: https://youtu.be/FvQFhkS90nI?si=zy6XRlqGnzIdQkqD OS:猴子老师,我永远的神!!! 目录 一、准备工作 二、偏移效果与颜色叠加 三、单侧描边与原理 四、另一侧与Sub管理 五、

    2024年01月20日
    浏览(60)
  • 【Unity ShaderGraph使用雪碧图制作导航光效效果】

    效果: ShaderGraph的制作: shader中uv数和雪碧图的uv数对上就能出效果。 直接上代码: 代码绑定: 下面是雪碧图:

    2024年02月15日
    浏览(53)
  • Unity ShaderGraph教程——基础shader

     1.基本贴图shader:   基础贴图实现:主贴图、自发光贴图、光滑度贴图、自发光贴图(自发光还加入了颜色影响和按                              钮开关). 步骤:最左侧操作组——新建texture2D——新建sample texture 2D承接图片,转接到fragment片元着色器 颜色的rgb的每个值

    2024年02月10日
    浏览(38)
  • Unity用Shader实现边缘光效果

    《自学记录》 1、先创建一个Cube,再创建两个材质球Cube、Unilt 2、再创建一个shader代码UniltShader【Project右键Create-Shader-NewSurfaceShader】把里面原来的代码删除,写入下面的代码 3、把shader UniltShader拖给材质球Unilt 4、把Cube的Mesh Renderer中Materials的Size改为2,然后把材质球Cube、Unilt分

    2024年02月08日
    浏览(46)
  • Unity中Shader实现UI流光效果

    在很多游戏的 UI 中,都有实现 一道光扫过 UI 的效果 Unity中Shader的时间_Time 注意: 因为,这是UGUI的Shader,记着修改渲染顺序为 透明层级 和 混合模式 Tags {“Queue” = “TransParent”} Blend SrcAlpha OneMinusSrcAlpha 代码: 效果: Unity3D Shader系列之UI流光效果 Unity流光shader,无需图片

    2024年02月05日
    浏览(53)
  • 【unity shader案例】如何实现一个玻璃效果

      原理:玻璃最大的特点当然就是半透明了,如何在游戏中实现这样的效果呢?我这里总体的思路就是先截取整个场景作为一张纹理,然后把玻璃区域的纹理贴到这个玻璃模型上。 下面看具体实现代码 实现效果如下    更进一步,还可以实现毛玻璃的效果,思路就是用一张

    2024年02月16日
    浏览(56)
  • 【Unity Shader】Unity中利用GrabPass实现玻璃效果

    《入门精要》中模拟玻璃是用了Unity里的一个特殊的Pass来实现的,这个Pass就是 GrabPass ,比起上一篇博客实现镜子的方法,这个方法我认为相对复杂,因此在实现之前需要对GrabPass及实现原理做一个更加详细的介绍。 场景物体拜访和贴图完全参考《入门精要》: 以及当前场景

    2024年02月09日
    浏览(50)
  • 【Unity ShaderGraph】| Shader Graph入门介绍 | 简介 | 配置环境 | 窗口介绍 | 简单案例

    前言 Unity2018版本之后推出了一款名为 Shader Graph 的可编程渲染管线工具。 这个工具可以通过可视化界面拖拽来实现着色器的创建和编辑,大大简化了着色器的制作过程,同时着色效果编译显示也快。 下面就来介绍一下Shader Graph的基本信息及使用方法,上手非常简单,一起来

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包