unity shaderGraph实例-可交互瀑布

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

不要问我水在哪里,你自己相像这是一个瀑布,瀑布的效果我还不会做

效果展示

shadergraph 半圆,unity,shader,unity

整体结构

shadergraph 半圆,unity,shader,unity

各区域内容

区域1

shadergraph 半圆,unity,shader,unity
计算球到瀑布的距离,然后减去一个值,实现黑色区域缩放的效果,如果直接输出这一步的结果到Emission,看起来是这样的
shadergraph 半圆,unity,shader,unity
越靠近球的位置,距离越为零,这里已经调整过Radius的值了。

区域2

shadergraph 半圆,unity,shader,unity
这一步也是要计算球到瀑布的距离,但是忽略Y轴上的距离,然后和上一步一样同样减去一个值,来扩大或缩小范围。如果将这一步的结果直接连到Emission上,看起来是这样的:
shadergraph 半圆,unity,shader,unity

区域3

shadergraph 半圆,unity,shader,unity
最后单独比较一下球的高度和瀑布上图元的高度,如果差大于0说明这个图元在球的下面,此时输出1,否则输出0

区域4

shadergraph 半圆,unity,shader,unity

然后我将区域1和区域2中的内容,根据区域3的结果进行差值,说是差值,由于区域3的结果只有0和1,所以差值结果不会有过渡效果,且由于区域3上白下黑,最后的混合结果为球的周围上部分为半圆形,下半部分为矩形。将结果直接输出到Emission,看起来是这样的:
shadergraph 半圆,unity,shader,unity

区域5

shadergraph 半圆,unity,shader,unity
先用saturate钳制到0-1之间。然后用smoothstep进行统一的缩放,因为单独调整区域1的Radius或区域2的TopDown_Radius会导致上半部分的半圆和下半部分的矩形一大一小不匹配。
smoothStep节点的作用:对于输入值x,如果小于Edge1,取0,如果大于edge2,取1,在E1E2之间的话在0-1之间插值。

区域6

shadergraph 半圆,unity,shader,unity
将最后的黑白色输出到Emission和透明度上,不输出的Emission上也行,此时BaseColor改成白色。

GraphSetttings

shadergraph 半圆,unity,shader,unity
改成透明的

脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class OjectPosition_InteractiveWaterFall : MonoBehaviour
{
    public Material material;//将瀑布的材质拖到这里
    private void Update()
    {
        material.SetVector("_ObjectPosition", new Vector4(
            transform.position.x,
            transform.position.y,
            transform.position.z,
            transform.localScale.x));
    }
}

工程链接

gitee下载文章来源地址https://www.toymoban.com/news/detail-784404.html

到了这里,关于unity shaderGraph实例-可交互瀑布的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity之ShaderGraph入门

    随着Unity版本的不断升级,URP(可编程渲染管线)也越来越普及了。不管是从效果还是性能,都是吊打老版的build-in-shader。所以无论如何我们都要开始 拥抱URP,升级Unity的时候到了。 我这里选择了Unity 2021.3.23f1版本,大家只要选的是Unity2019-2021之间的版本都可以。 我们可以使

    2024年02月12日
    浏览(27)
  • Unity之ShaderGraph数据类型

    ShaderGraph是Unity引擎中的一个可视化着色器编辑器,它允许开发者使用节点和连接线的方式来创建自定义的着色器。使用ShaderGraph,开发者可以通过简单的拽和连接节点来创建复杂的着色器效果,而无需编写任何代码。 为了更好的学习ShaderGraph,我们先来学习一下它的属性类型

    2024年02月08日
    浏览(26)
  • Unity之ShaderGraph属性类型

    ShaderGraph是Unity引擎中的一个可视化着色器编辑器,它允许开发者使用节点和连接线的方式来创建自定义的着色器。使用ShaderGraph,开发者可以通过简单的拽和连接节点来创建复杂的着色器效果,而无需编写任何代码。 为了更好的学习ShaderGraph,我们先来学习一下它的属性类型

    2024年02月10日
    浏览(26)
  • 【Unity】ShaderGraph应用(模型膨胀流动)

    实现效果 ShaderGraph是 unity的图形化 Shader 编程工具。本文介绍使用ShaderGraph实现模型的膨胀流动效果。该效果可以由于模拟流体在管线中的流动等相关功能。 1.使用节点介绍 关键节点 UV :获取模型的uv坐标 Normal Vector :获取模型的法线坐标 Position :获取模型的顶点坐标 计算用

    2024年02月13日
    浏览(34)
  • unity-ShaderGraph全节点

    1.Artistic美术 Adjustment调整 Channel Mixer 混合颜色通道 Contrast 设置对比度 Hue 设置色调 range需要选normalized Invert Colors 反转颜色 Replace Color 设置两个颜色通道互换,可调参数 Saturation 设置饱和度 White Balance 白平衡(调冷暖色调) Blend 混合 Blend 混合两张图片,可调参数和混合模式

    2024年02月10日
    浏览(33)
  • unity中,常用的ShaderGraph节点介绍

    unity中,常用的ShaderGraph节点介绍。 功能原理 Color节点的作用是用于定义一个颜色值,可以在ShaderGraph中直接使用该颜色值进行着色器的计算。在ShaderGraph中,可以通过拖拽Color节点来创建一个颜色属性,将该属性暴露给材质球进行编辑,以便在Unity编辑器中动态修改颜色值。

    2024年02月08日
    浏览(23)
  • Unity之ShaderGraph 节点介绍 数学节点

    2024年02月13日
    浏览(26)
  • Unity中ShaderGraph下获取主灯

    在上一篇文章中,我们知道了URP下获取主灯的方法。 Unity中URP下获取主灯信息 在这篇文章中,我们来了解一下ShaderGraph下怎么获取主灯。方便我们之后,快速调试光照效果。 这里也可以选择文件类型,我们选择文本框形式,只是方便修改 给定方法名 判断 SHADERGRAPH_PREVIEW,让

    2024年01月21日
    浏览(32)
  • 【Unity ShaderGraph】| 快速制作一个 抖动效果

    前言 本文将使用ShaderGraph制作一个抖动效果,可以直接拿到项目中使用。 对ShaderGraph还不了解的小伙伴可以参考这篇文章:【Unity ShaderGraph】| Shader Graph入门介绍 | 简介 | 配置环境 | 窗口介绍 | 简单案例 下面就开始看一下具体的制作流程,然后自己动手制作一个吧! 资源下载

    2024年02月03日
    浏览(39)
  • Unity之ShaderGraph 节点介绍 Utility节点

    2024年02月13日
    浏览(25)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包