[U3D ShaderGraph] 全面学习ShaderGraph节点 | 第二课 | Input/Geometry

ShaderGraph是可视化的着色器编辑工具。您可以使用此工具以可视方式创建着色器。
本专栏可以让你更了解ShaderGraph中每个节点的功能,更自如的在做出自己想要的效果。
如果你想学习在unity中如何制作一个特效,如何在unity中让模型更炫酷,那就订阅本专栏吧。

更多unity课程 ==> 0基础开发坦克大战游戏https://edu.csdn.net/course/detail/25499更多unity视频 ==> shadergraph实例-wireframe线框,可改变粗细,可改变颜色https://www.bilibili.com/video/BV1yf4y1M7EZ/?share_source=copy_web&vd_source=fb67b9af753f24b794ac0746418a866e更多unity博客 ==> [unity3d][通过代码]制作模型,动态生成模型,通过点画模型https://blog.csdn.net/JianShengShuaiest/article/details/104505543?spm=1001.2014.3001.5502


目录

一. 带着问题学习

二. 开始学习

1. 学习概述

2. 知识点详解

Bitangent Vector

Instance ID​

Normal Vector

Position

Screen Position

Tangent Vector

UV

Vertex Color

Vertex ID

View Direction

View Vector

三. 课堂练习

1. 让模型显示对应UV上的X信息和Y信息

2. 制作一个UI的shader可以根据image的color进行颜色的变化

亖. 总结


一. 带着问题学习

1. 在我们的模型中,或者其他物体中,他们都是三维的,他们是如何把一张二维的贴图贴在三维的空间中的,这是我们需要思考的内容,那么类似的,材质中其实有很多默认的属性,包括法线,位置等等,想一个简单的练习,我们如何把默认的位置内容映射到模型本身呢🤔🤔🤔🤔🤔

2. 在我们只做一个UI的shader时很多属性是从image组件进行赋值的,比如一张sprite贴图,一个image的主颜色,这些信息都不是直接加到材质球上的,但是为什么image可以很轻松的获取对应的渲染信息呢,我们就来制作一个image的材质,看看这中间到底发生了什么,我们需要把image种的color和我们渲染的颜色直接对接

二. 开始学习

本章讲解的是input输入/geometry几何的所有内容,这部分内容主要是针对模型本身的一些属性,对后面我们只制作shader效果有很大帮助,如果本次讲解的内容都很好的理解,对后面对效果的理解会有很大的帮助,希望大家和我一起认真的把本章内容

1. 学习概述

2. 知识点详解

Bitangent Vector

允许访问网格顶点或片元的副切线矢量 (Bitangent Vector),具体取决于节点所属图形部分的有效着色器阶段。可使用 Space 下拉选单参数选择输出值的坐标空间。

总结:切向和法向的叉乘结果

 

Instance ID​

 

当 Unity 使用 GPU 实例化进行渲染时,它会为每个几何体分配一个实例 ID。

使用此节点捕获Graphics.DrawMeshInstancedAPI 调用中的实例 ID值。

当 Unity 不使用 GPU 实例化进行渲染时,此 ID 为 0。

当 Unity 使用动态实例化时,实例 ID 在多个帧中可能不一致。

总结,此数值无法参与正常的渲染内容

Normal Vector

提供对网格顶点或片段的法线矢量的访问。可以使用空间下拉列表参数选择输出值的坐标空间。

Position

提供对网格顶点或片段位置的访问,具体取决于节点所属图形部分的有效着色器阶段。使用空间下拉参数选择输出值的坐标空间。

Screen Position

提供对网格顶点或片段的屏幕位置的访问。可以使用模式下拉参数选择输出值的模式。

Tangent Vector

提供对网格顶点或片段的切线矢量的访问。可以使用空间下拉列表参数选择输出值的坐标空间。

UV

提供对网格顶点或片段的UV坐标的访问。可以使用通道下拉参数选择输出值的坐标通道。

Vertex Color
 

提供对网格顶点或片段的顶点颜色值的访问。

Vertex ID
 

 

提供对网格顶点或片段的顶点 ID值的访问。

无法直接使用,可用于判断

View Direction

提供对网格顶点或片段的视图方向矢量的访问。这是从顶点或片段到相机的矢量。

简单来说就是此处到摄像机的向量值

View Vector

 

此节点提供对网格顶点或片段的视图方向矢量的非规范化版本的访问。它不会规范化它存储的任何值。

简单来说就是此处到摄像机的相对值

 

三. 课堂练习

1. 让模型显示对应UV上的X信息或者其他信息

步骤:

  • 首先我们拿到UV的节点信息
  • 但是是一个2位的数据,我们需要把这个数据分解开来
  • 然后把对应的一个值x值或者y值连接到对应的basecolor
  •  

 

 

2. 制作一个UI的shader可以根据image的color进行颜色的变化

  • 我们使用vertex color 节点  直接连接basecolor
  • 保存查看查看image效果
  • 需要注意一点就是UI是无采光的  本例中使用了采光材质  只是为了做示范  这个地方大家需要自己动手感受不同
  •  

 

 

亖. 总结

本章基本都是简单的记忆和背的内容,用于大家理解的内容其实非常少,但是这些内容是所有效果的基础,如果这些基础属性无法get后面的内容会越来越难,希望代价可以花时间来记住此节点的内容

如果你感觉本章内容还不错的话 希望点赞收藏评论  你的支持是我创作的最大动力

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢斯

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值