Unity之ShaderGraph如何实现触电电流效果

news2024/11/15 23:42:38

前言

之前使用ASE做过一个电流效果的shader,今天我们通过ShaderGraph来实现一个电流效果。
效果如下:
在这里插入图片描述

关键节点

Simple Noise:根据输入UV生成简单噪声或Value噪声。生成的噪声的大小由输入Scale控制。
在这里插入图片描述
Power:返回输入A的结果的输入B次方。
注意:如果输入A为负,则输出可能不一致或 NaN。
在这里插入图片描述

Remap:根据输入UV生成矩形形状,其大小由输入Width和Height指定。生成的形状可以通过连接平铺和偏移节点来偏移或平铺。请注意,为了保留在 UV 空间内偏移形状的能力,如果平铺,形状将不会自动重复。要实现重复矩形效果,首先通过Fraction Node连接您的输入。
注意:该节点只能在片段 着色器阶段使用。

在这里插入图片描述

Rectangle:根据输入UV生成矩形形状,其大小由输入Width和Height指定。生成的形状可以通过连接平铺和偏移节点来偏移或平铺。请注意,为了保留在 UV 空间内偏移形状的能力,如果平铺,形状将不会自动重复。要实现重复矩形效果,首先通过Fraction Node连接您的输入。
在这里插入图片描述

原理

这个电流效果的shader实现原理就是,先合并两个交互运行的噪波图,然后通过Remap+Rectangle节点从噪波图中提取电流的形状,我们给他乘上一个自由颜色,然后把最终的颜色赋值给Emission即可。

完整节点

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1119455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx的基本介绍 安装 配置文件 日志

一、Nginx介绍二、nginx的优点三、多路复用1、I/O multiplexing 多并发 四、nginx内部技术架构五、安装NginxNginx部署-yum安装获取Nginx的yum源yum安装Nginx浏览器访问 编译安装Nginx安装编译环境安装依赖环境创建nginx用户安装nginx启动nginx实现nginx开机自启(脚…

【软考】11.2 开发方法/产品线/软件复用/逆向工程

《信息系统开发方法》 结构化方法(生命周期法) 自顶向下、逐步求精和模块化设计遵循“用户第一”原则 三部分有机组合: a. 结构化分析(SA) b. 结构化设计(SD) c. 结构化程序设计(SP…

微信小程序设计之主体文件app-json-window

一、新建一个项目 首先,下载微信小程序开发工具,具体下载方式可以参考文章《微信小程序开发者工具下载》。 然后,注册小程序账号,具体注册方法,可以参考文章《微信小程序个人账号申请和配置详细教程》。 在得到了测…

Kotlin函数作为参数指向不同逻辑(二)

Kotlin函数作为参数指向不同逻辑(二) fun sum(): (Int, Int) -> Int {return { a, b -> (a b) } }fun multiplication(): (Int, Int) -> Int {return { a, b -> (a * b) } }fun math(a: Int, b: Int, foo: (Int, Int) -> Int): Int {ret…

istio介绍(二)

5. kubesphere istio使用 5.1 整体架构 ks-account 提供用户、权限管理相关的 APIks-apiserver 整个集群管理的 API 接口和集群内部各个模块之间通信的枢纽,以及集群安全控制ks-apigateway 负责处理服务请求和处理 API 调用过程中的所有任务ks-console 提供 KubeSp…

C++之struct匿名结构体实例(二百四十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

一篇文章掌握C++操作Access数据库

一、可视化工具 我们都知道oracle数据库的可视化工具有:PLSQL Developer、navicat(支持包括oracle的大部分数据库)等,Access数据库的可视化工具是:Microsoft Access,我们安装好微软的office就会自带Micros…

YOLOv5:修改backbone为SPD-Conv

YOLOv5:修改backbone为SPD-Conv 前言前提条件相关介绍SPD-ConvYOLOv5修改backbone为SPD-Conv修改common.py修改yolo.py修改yolov5.yaml配置 参考 前言 记录在YOLOv5修改backbone操作,方便自己查阅。由于本人水平有限,难免出现错漏&#xff0c…

【linux】查看下载应用在服务器的日志

查看日志路径 一般在配置文件中logback.xml 账号密码xshell连接服务器,进入日志路径 根据搜索关键字查看xxx.log文件内容 cat xxx.log | grep 关键字 下载 xxx.log 到本地,一般可以下载当天的日志文件到本地查看比较方便 sz xxx.log 参考文章&#xff…

【数字IC设计/FPGA】FIFO与流控机制

流控,简单来说就是控制数据流停止发送。常见的流控机制分为带内流控和带外流控。 FIFO的流水反压机制 一般来说,每一个fifo都有一个将满阈值afull_value(almost full)。当fifo内的数据量达到或超过afull_value时,将满…

【Leetcode】【中等】260. 只出现一次的数字 III

给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。 示例 1: 输入&…

904. 水果成篮(滑动窗口)

目录 一、题目 二、代码 一、题目 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 二、代码 题目实质:找出一个最长的子数组的长度,要求子数组中不超过两种类型的水果哈希表双指针 class Solution { public:int totalFru…

【XOR秘钥破解】异或加密秘钥破解

1、代码 # -*- coding:utf-8 -*- import binasciioriginal_text input("请输入XOR加密前(字 符 串):") encrypted_text input("请输入XOR加密后(十六进制):")# 先将original_text文…

P1004 [NOIP2000 提高组] 方格取数

[NOIP2000 提高组] 方格取数 - 洛谷 用四维dp数组存储&#xff0c;如果两个路线走到重复点&#xff0c;减去一个当前位置的值即可。 #include <bits/stdc.h> using namespace std; const int N 11; int grid[N][N] {0}; int dp[N][N][N][N] {0}; int n, i, j, tmp; v…

中级职称评审为什么要找机构?甘建二给你分析

职称申报为什么要找机构代理呢&#xff1f;主要是机构可以帮助整理业绩和各种申报材料&#xff0c;而且还可以帮忙网上申报。让您不会错过申报时间什么的&#xff0c;平时个人都是上班太忙了&#xff0c;没有空准备申报材料之类的各种&#xff0c;而且随时掌握申报信息&#xf…

基于springboot零食商城

基于springboot零食购物商城 摘要 基于Spring Boot的零食商城是一个现代化的电子商务平台&#xff0c;旨在为零食爱好者提供便捷的购物体验。该平台使用Spring Boot框架构建&#xff0c;以确保高效的开发和部署。它提供了用户注册、登录、个性化账户管理&#xff0c;以及展示各…

ubuntu18设置root密码

Ubuntu18启用root设置密码 第一步&#xff0c;使用sudo -i命令进入超级用户。 第二步&#xff0c;输入命令passwd root&#xff0c;进入root密码设置。 第三步&#xff0c;输入root的密码。 第四步&#xff0c;再次输入root密码进行确认。 若是修改其他用户的密码&#xff0c;可…

牛客TOP101-判断链表中是否有环

前言 本文以Java为语言讲解【判断链表中是否有环】这一题&#xff0c;题目来源【牛客TOP101】 题目描述 输入用例 解题思路 Hash表法 对于这道题&#xff0c;比较容易想到的可能是使用hash表&#xff0c;因为如果是有环&#xff0c;那么就意味着&#xff0c;在遍历过程中…

c++之类和对象

1.auto 可以自动推导结果的类型 typeid()可以打印类型 引用也可以 auto真正的价值可以简化迭代器的写法 并且auto定义的变量必须初始化。 不能做参数 返回值也不可以用auto auto不能用来声明数组 如果想要修改要用引用且指针不好解决。 c11之后的nullptr 以后再用空指针用nul…

qt采用C++/CLI 方式调用C#dll的封装方法(高阶应用)

简单讲讲需求&#xff1a;cpp作为主程序&#xff0c;c#作为第三方程序被调用&#xff0c;并且需要在c#代码里调用主程序里的方法 C#写的dll是没有dllMain入口函数的&#xff0c;是一种中间语言&#xff0c;需要.Net运行时进行做本地化工作&#xff0c;因此如果要调用C#写的dll…