【unity】ShaderGraph学习笔记

【unity】ShaderGraph学习笔记

创建ShaderGraph

创建URP的shaderGraph文件

在Project面板里Create→ShaderGraph→URP→这里主要有几个选项

Lit Shader Graph:有光照三维着色器

Unlit Shader Graph:无光照三维着色器

Sprite Custom Lit Shader Graph:自定义光照图片着色器

Sprite Unlit Shader Graph:无光照图片着色器

Sprite Lit Shader Graph:光照图片着色器

Decal Shader Graph:贴花着色器

界面说明

选择LitShaderGraph,命名为Shader Graph Learn,弹出面板

Vetex-顶点着色器

  • Position:模型顶点坐标

  • Normal:模型顶点法线向量

  • Tangent:模型顶点切线向量

FragMent-片元着色器

  • Base Color:基础颜色,纹理贴图在该片元上投影的像素颜色

  • Normal(Tangent Space):切线空间下,法线贴图这片元上投影的像素值

  • Metallic:金属度

  • Smoothness:光滑度

  • Emissions:自发光

  • Ambient Occlusion:环境光遮蔽

  • Coat Mask:清漆遮罩

  • Coat Smoothness:清漆光滑度

  • Alpha:透明通道

  • Alpha Clip Threshold:透明裁剪阈值

Shader Graph Learn输入面板

为shader添加变量参数

  • Category:分类

  • Float:浮点变量

  • Vector2:二维向量

  • Vector3: 三维向量

  • Vector4:四维向量

  • Color:颜色

  • Boolean:布尔

  • Gradilent:渐变颜色

  • Texture2D:2D贴图

  • Texture3D:3D贴图

  • Cubemap:Cubemap贴图

  • Virtual Texture:虚拟贴图

  • Matrix2:2阶矩阵

  • Matrix3:3阶矩阵

  • Matrix4:4阶矩阵

  • Sampler State:

  • KeyWord

Graph Inspector-着色器属性面板

Graph settings

  • Precision:着色器精度
    • Single:完整精度
    • Half:一半精度(性能会提高)
  • Material:选择着色器模式(和创建的时候一样)
  • Allow Material override:允许覆盖着色器
  • Workflow Mode:工作流模式
    • Metallic:金属
    • Specular:高光
  • Surface Type:表面类型
    • Transparent:透明
    • Opaque:不透明
  • Render Face:渲染面
    • Front:正面渲染
    • Back:背面渲染
    • Both:双面渲染
  • Depth Write:是否写入深度
  • Depth Test:深度测试
    • Never:不测试一直显示
    • Less:小于当前深度的显示
    • Equal:等于当前深度的显示
    • L Equal:小于等于
    • Greater:大于
    • Not Equal:不等于
    • G Equal:大于等于
    • Always:始终显示
  • Alpha Clipping: 透明通道裁剪
  • Cast Shadows:产生阴影
  • Receive Shadows:接受阴影
  • Fragment Normal Space:片元法线空间
    • Tangent:切线空间
    • Object:模型空间
    • World:世界空间
  • Clear Cost :清漆效果
  • Custom Editor GUI:自制编辑GUI

Node Settings

选择添加变量参数面板里的参数可以在这里进行设置

  • Name 参数名称
  • Reference 脚本修改参数名称
  • Default 默认值
  • Mode 模式
  • precosion 精度
  • Exposed 是否在面板里显示(打勾会在材质面板里显示)

功能工具

子图(subgraph)

subgraph可以保存通用的蓝图,并可以在其他的shaderGraph调用。

选中需要保存的蓝图,右击鼠标选择Convert To→Sub-gragh,弹出文件保存栏,命名保存。

使用的时候,在新的ShaderGraph直接拖入subgraph桥接就可以使用。单独点开subgraph也可以打开面板。

注释

框选注释(GroupSelection)

选中需要注释的蓝图,右击选择GroupSelection

说明注释(Sticky)

右击空白取余,选择Create Sticky Note

pbr材质

ShaderGraph节点

输入节点

Float 标量

Vector2 二维向量 (用于UV…)

Vector3 三维向量 (用于位置,缩放,坐标,旋转等)

Vector4 四维向量 (用于颜色,四元数等)

Matrix 2x2 二维矩阵

Matrix 3x3 三维矩阵

Matrix 4x4 齐次矩阵

Transformation Matrix 变换矩阵(矩阵预设)

类型说明
ModelUNITY_MATRIX_M(模型矩阵)
InverseModelUNITY_MATRIX_I_M (模型逆矩阵)
ViewUNITY_MATRIX_V(视口矩阵)
InverseViewUNITY_MATRIX_I_V(视口逆矩阵)
ProjectionUNITY_MATRIX_P(屏幕矩阵)
InverseProjectionUNITY_MATRIX_I_P(屏幕逆矩阵)
ViewProjectionUNITY_MATRIX_VP(视口屏幕矩阵)
InverseViewProjectionUNITY_MATRIX_I_VP(视口屏幕逆矩阵)

Constant 常数节点

选项说明
PI圆周率=3.14159265258979
TAU2倍圆周率=6.28318530
PHI黄金分割点=1.618034
E自然常数=2.718282
SQRT22的平方根=1.414214

Time节点

基础数据输入类节点,用来提供随时间变化的动态值,主要实现动态效果

Time: 时间值 float Time_Time=_Time.y (随时间增大的浮点值)

Sine Time:时间正弦值float Time_SineTime=_SinTime.w(正弦时间,随时间在(-1,1)之间变化)

Cosine Time: 时间余弦值 float Time_CosineTime=_CosTime.w(余弦时间)

Delta Time :当前帧时间 float Time_DeltaTime=Unity_DeltaTime.x (从前一帧到后一帧的时间)

Smooth Delta:平滑后的当前帧时间float Time_SmoothDelta=unity_DeltaTime.z

Preview 预览

创建预览节点可以显示shader效果

Position模型点位置

Basic 基础

  • Boolean 布尔值
  • Color 颜色
  • Integer 整数
  • Slider 滑块

Geometry 几何

  • Bitangent Vector 副切线向量
  • Normal Vector 顶点法线向量
  • Tangent Vector 切线向量
  • Screen Position 屏幕上的顶点位置
  • Vertex Color 顶点颜色
  • UV mesh中获取的UV
  • View Direction 视口方向

Gradient 渐变

  • Gradient 渐变贴图
  • Sample Gradient 与渐变向量 变化程度可控

Texture 图片

  • Sample Cubemap 立方体贴图采样
  • Sample Reflected Cubemap
  • Sample Texture 2D 2D贴图采样
  • Sample Texture 2D Array 等同于Sample Texture 2D,区别在于可输入一个index
  • Sample Texture 2D LOD
  • Sample Texture 3D 3D贴图采样
  • Sample Virtual Texture
  • Cubemap – 立方贴图 用Sample Cubemap采样
  • Texture 2D – 2D贴图 用普通采样器采样
  • Texture 2D Array – 贴图数据组 用对应的采样器采样(可用于取某一组数据中的一个)
  • Texture 3D – 3D贴图 用3D采样器采样
  • Sampler State – 帮助设置采样器(线性过滤模式、拓展模式)
  • Texel Size – 分辨率
  • Sampler State 采样状态,连接Sample Texture节点的sampler输入,可设置filter(linear,point,trilinear)wrap(repeat,clamp,mirror,mirror once)

Light 灯光

  • Ambient – 环境光
  • Baked GI – 烘焙的全局光照
  • Reflection Probe – 反射探针
  • Dielectric Specular – 预先定义的材质(生锈金属、水、冰、玻璃)
  • Metal Reflectance – 预先定义的金属度系数(PBR上设置为Metallic)

Scene 场景

  • Camera – 相机的 位置、方向、透视视图、深度、宽度、高度、近面,远面

    节点说明
    Position位置
    Direction方向
    Orthographic透视视图
    Near Plane视锥近面
    Far plane视锥远面
    Z Buffer Sign深度图
    Width宽度
    High高度
  • Fog – 雾

  • Object – 对象本身(世界空间下的位置和缩放)

  • Scene Color – 编辑器中设置的值

  • Scene Depth – 编辑器中设置的值

  • Screen – 屏幕宽高

Artistic(美术)

Adjustment调整

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

Filter 过滤器

  • Dither 添加抖动效果

Mask 遮罩

  • Channel Mask 可设置RGBA四个通道的遮罩,选中后只显示被选中的通道

  • Color Mask 通过Color Tint 屏蔽选中的颜色,可设置Range和fuzziness(模糊度,用来颜色过渡)

Normal 法线

  • Normal Blend 混合法线贴图

  • Normal From Height 通过灰度图生成法线贴图

  • Normal From Texture通过其他贴图生成法线贴图

  • Normal Reconstruct Z 通过x,y值重构有问题的法线值

  • Normal Strength 修改法线强度

  • Normal Unpack 特殊原因下法线贴图不能把type设置为normal会使用

Utility 实用功能

  • Colorspace Conversion 颜色空间转换,用来把颜色分开,一般配合split使用

Channel (通道)

  • Combine 把数个通道合并在一起
  • Flip 剔除选择的颜色通道显示,翻转颜色
  • Split 把输入分成数个独立通道输出
  • Swizzle 改变颜色通道输出,例如把绿色通道变成透明通道

Math(数学)

Basic 基础

  • Multiply:乘法

  • Divide:除

  • Add:加

  • Subtract:减

  • Power:平方

  • Square Root:开平方

  • Posterize :取余

Advanced

  • Absolute :绝对值

  • Exponential :指数

  • Log:对数

  • Negate :对输入取反向,例如1变-1,0变1

  • Normalize :单位向量

  • Length: 向量的模长

  • Reciprocal 倒数,类似除法

  • Reciprocal Square Root 倒数平方根

Derivative 导数

  • DDX 对x求导,一般输入position节点
  • DDXY 对xy求导
  • DDY 对y求导

Interpolation 插值

  • Inverse Lerp 逆线性插值
  • Lerp 插值
  • Smoothstep 类似step节点,但有两个edge输入

Matrix 矩阵

  • Matrix Construction 构造矩阵
  • Matrix Determinant 行列式计算
  • Matrix Split 矩阵分离
  • Matrix Transpose 转置矩阵

Range 范围

  • Clamp 把输入值截取在一个区间(min<=x<=max)
  • Fraction 输出小数部分
  • Maximum 输出多个数中的最大值
  • Minimum 输出多个数中的最小值
  • One Minus 取相反数
  • Random Range 生成一个在最大值、最小值之间的随机浮点数
  • Remap 将输入等比例的从in区间映射到out区间
  • Saturate 将输入截取到0-1之间
  • Round 取整
  • Ceiling 向上取整
  • Floor 向下取整
  • Round 四舍五入
  • Sign 输入大于0输出1,输入小于0输出-1
  • Step 设定边界值,输入的值大于等于边界值,返回1,否则返回0

Trigonometry 三角函数

  • Trigonometry 三角函数
  • Arccosine 反正弦
  • Arcsine 反余弦
  • Arctangent 反正切
  • Cosine 余弦
  • Degrees To Radians 角度转化为弧度
  • Hyperbolic Cosine 双曲函数
  • Hyperbolic Sine
  • Hyperbolic Tangent
  • Radians To Degrees 弧度转化为角度
  • Sine 正弦
  • Tangent 正切

Vector 向量

  • Cross Product 叉积

  • Distance 向量距离

  • Dot Product 点积

  • Fresnel Effect 菲涅尔效果

  • Projection 获得向量A在向量B上的投影

  • Reflection 通过入射光线获得反射向量

  • Rejection

  • Rotate About Axis 绕设定的轴旋转

  • Sphere Mask 以半径为范围的球形遮罩

  • Transform 物体、观察、切线、世界坐标等的空间转换

Wave 波

  • Noise Sine Wave 正弦波

  • Sawtooth Wave 锯齿波

  • Square Wave 方形波

  • Triangle Wave 三角形波,先从0缓慢上升到1,然后立即下降到0(直角三角形)

Procedural(预制程序的节点)

Noise 噪声

  • Gradient Noise

  • Gradient Noise

  • Voronoi

Shapes 形状

  • Ellipse 圆
  • Polygon 多边形
  • Rectangle 四边形
  • Rounded Polygon 圆角多边形
  • Rounded Rectangle 圆角四边形
  • Checkerboard 棋盘图案

Utility 功能节点

  • All 输入值所有分量都不为零,则返回true

  • Any 输入值任一分量不为零,则返回true

  • And 输入A和B都为true,则返回true。(与节点)

  • Nand 输入A和B都为true,则返回false。(非与节点)

  • Or 输入A或B有一个为true,则返回true。(或节点)

  • Not 返回输入的相反值。即输入为true,输出false;输入为false,输出为true。(非节点)

  • Branch 输入值为True时,输出等于输入True的内容;输入值为False时,输出等于输入False的内容;(分支节点)

  • Comparison 比较两个节点

    内容说明
    Equal等于
    Not Equal不等于
    Less小于
    Less Or Equal小于等于
    Greater大于
    Greater Or Equal大于等于

  • Is Infinite 若输入值为无限值,则返回true

  • Is NaN 如果输入的不是数字,则返回 true。 (NaN:Not a Number)

  • Is Front Face 是合法数字或者是正面的,则返回true。

UV

  • Flipbook 用于帧动画,out连接 sample Texture 2D 的inUV

  • Polar Coordinates 极坐标,像是可以把图片映射到球面

  • Radial Shear 类似于变形的鱼眼扭曲

  • Rotate 旋转贴图

  • Spherize 球形扭曲

  • Tiling And Offset 缩放平移设置

  • Triplanar

  • Twirl 旋涡扭曲效果

  • Parallax Mapping

  • Parallax Occlusion Mapping

uv遮罩

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

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

相关文章

CNN(卷积神经网络)的实现过程详解

概要 在图像处理领域&#xff0c;CNN(卷积神经网络)处于绝对统治地位&#xff0c;但对于CNN具体是如何用神经网络实现的&#xff0c;能找到的介绍要么是一大堆数学公式&#xff0c;要么是大段晦涩的文字说明&#xff0c;读起来很是辛苦&#xff0c;想写好一片完整的而且有深度的…

【开源项目】低代码数据可视化开发平台-Datav

Datav 基本介绍 Datav是一个Vue3搭建的低代码数据可视化开发平台&#xff0c;将图表或页面元素封装为基础组件&#xff0c;无需编写代码即可完成业务需求。 它的技术栈为&#xff1a;Vue3 TypeScript4 Vite2 ECharts5 Axios Pinia2 在线预览 账号: admin 密码: 123123预…

Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台免费搭建

Java版知识付费-轻松拥有知识付费平台 多种直播形式&#xff0c;全面满足直播场景需求 公开课、小班课、独立直播间等类型&#xff0c;满足讲师个性化直播场景需求&#xff1b;低延迟、双向视频&#xff0c;亲密互动&#xff0c;无论是互动、答疑&#xff0c;还是打赏、带货、…

RocketMq 事务消息原理

Rocketmq 事务消息API使用 使用TransactionMQProducer类。 实现TransactionListener 接口覆盖其方法executeLocalTransaction和checkLocalTransaction 即可。 其中executeLocalTransaction 执行本地方法和checkLocalTransaction 事务状态回查。 玩法 简历一张本地事务表&…

回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 ![6 基本介绍 1.MATLAB实现TCN-BiGRU时间卷积双向门控循…

实现基于UDP简易的英汉词典

文章目录 实现目标认识相关接口socketbzerobindrecvfromsendto 实现思路和注意事项完整代码Server.hppServer.ccClient.hppClient.cc 运行效果END 实现目标 实现一个服务端和一个客户端&#xff0c;客户端负责发送一个单词&#xff0c;服务端接收到后将翻译后的结果返回发送到…

Android 之 动画合集之帧动画

本节引言&#xff1a; 从本节开始我们来探究Android中的动画&#xff0c;毕竟在APP中添加上一些动画&#xff0c;会让我们的应用变得 很炫&#xff0c;比如最简单的关开Activity&#xff0c;当然自定义控件动画肯定必不可少啦~而Android中的动画 分为三大类&#xff0c;逐帧动画…

了解uuid

目录 一.认识 UUID 二.UUID 会耗尽吗 三.UUID 会重复吗 四.UUID 的版本 五.UUID的应用 六.java 如何生成UUID 一.认识 UUID uuid是经过特定的算法得到的. UUID 是 16 字节 128 位长的数字&#xff0c;通常以 36 字节的字符串表示&#xff0c;示例如下&#xff1a; 3F2…

boardmix AI:让工作效率翻倍的AI智能在线白板软件!

随着ChatGPT热度的飙升&#xff0c;AI逐步深入到各个领域&#xff0c;尤其在技术领域&#xff0c;引发了一场AI的新浪潮&#xff0c;人们谈论的焦点都与AI有关。 AI工具不仅帮助企业节约了成本&#xff0c;还极大提高了生产力。那些尚未融入AI的行业和产品&#xff0c;有着被AI…

OSI 和 TCP/IP 网络分层模型详解(基础)

OSI模型: 即开放式通信系统互联参考模型&#xff08;Open System Interconnection Reference Model&#xff09;&#xff0c;是国际标准化组织&#xff08;ISO&#xff09;提出的一个试图使各种计算机在世界范围内互连为网络的标准框架&#xff0c;简称OSI。 OSI 七层模型 OS…

Windows环境部署安装Chatglm2-6B-int4

chatglm2-6B是最近比较火爆的大模型&#xff0c;可以在消费级显卡上部署使用&#xff0c;适合学习。但是一般人也不一定有那么高的硬件配置&#xff0c;所以部署个int4版本应该是大多数人的最好选择。我就在家里部署起了int4版本的chatglm2-6B&#xff0c;记录一下免得忘了。 …

【AST抽象语法树】结构分析及特性

什么是AST? AST译名抽象语法树&#xff08;Abstract Syntax Tree&#xff09;&#xff0c;是一种用于表示源代码结构的数据结构。 它在编译器、解析器和静态代码分析等领域中被广泛使用。 AST结构分析 我们利用成熟的astexplorer来进行结构化的比较和分析。可以尝试登录以下网…

树 - 前缀树(Trie Tree)

树 - 前缀树(Trie Tree&#xff09; 什么是前缀树前缀树的实现节点数据结构定义插入方法●非递归方式●递归方式 查询单词方法●非递归方式●递归方式 查询前缀方法●非递归方式●递归方式 前缀树的复杂度前缀树有哪些应用前缀树的压缩&#xff1a;基数树双数组Trie树(DoubleAr…

探讨ChatGPT的强化学习:AI学习与交互的未来

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

ES6基础知识八:你是怎么理解ES6中Proxy的?使用场景?

一、介绍 定义&#xff1a; 用于定义基本操作的自定义行为 本质&#xff1a; 修改的是程序默认形为&#xff0c;就形同于在编程语言层面上做修改&#xff0c;属于元编程(meta programming) 元编程&#xff08;Metaprogramming&#xff0c;又译超编程&#xff0c;是指某类计算…

ChatGPT和搜索引擎哪个更好用

目录 ChatGPT和搜索引擎的概念 ChatGPT和搜索引擎的作用 ChatGPT的作用 搜索引擎的作用 ChatGPT和搜索引擎哪个更好用 总结 ChatGPT和搜索引擎的概念 ChatGPT是一种基于对话的人工智能技术&#xff0c;而搜索引擎则是一种用于在互联网上查找和检索信息的工具。它们各自具…

kaggle新赛:Bengali.AI 语音识别大赛赛题解析

赛题名称&#xff1a;Bengali.AI Speech Recognition 赛题链接&#xff1a;https://www.kaggle.com/competitions/bengaliai-speech 赛题背景 竞赛主办方 Bengali.AI 致力于加速孟加拉语&#xff08;当地称为孟加拉语&#xff09;的语言技术研究。Bengali.AI 通过社区驱动的…

7p透明屏的制造过程复杂琐屑吗?

7p透明屏是一种新型的显示技术&#xff0c;它可以使屏幕变得透明&#xff0c;让用户可以透过屏幕看到背后的物体。这种技术在科幻电影中经常出现&#xff0c;但现在已经成为现实。 7p透明屏的工作原理是利用液晶显示技术和透明材料。液晶显示技术是一种通过控制液晶分子的排列…

【Qt】安装Qt 5.7.1 MSVC2013 64bit版本的说明

【Qt】安装Qt 5.7.1 MSVC2013 64bit版本的说明 1、背景2、安装Qt 5.7.13、运行Qt Creator 1、背景 刚开始Qt是C库&#xff0c;后来Qt发展就越来越强大了。后来Qt 发展成为一套跨平台C图形用户界面应用程序开发框架。 注意它不但可以开发GUI程序&#xff0c;而且也可用于开发非…

Python怎么将图片转换成base64编码

目录 什么是base64编码 Base64编码的特点 Base64编码的应用 Python怎么将图片转换成base64编码 什么是base64编码 Base64编码是一种将二进制数据转换为ASCII字符的编码方式。它是由MIME&#xff08;Multipurpose Internet Mail Extensions&#xff09;规范定义的&#xff0…