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

news2024/11/26 16:53:51

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后面的内容会越来越难,希望代价可以花时间来记住此节点的内容

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

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

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

相关文章

Python实现导弹自动追踪

自动追踪算法,在我们制作射击类游戏时经常会用到。这个听起来很高大上的东西,其实并不是军事学的专利,从数学上来说就是解微分方程。 这个没有点数学基础是很难算出来的。但是我们有了计算机就不一样了,依靠计算机极快速的运算速…

【Scala专栏】走进Scala

官方文档: https://www.scala-lang.org/ 一、What is Scala? Scala是一种针对JVM 将面向函数和面向对象技术组合在一起的编程语言。Scala编程语言近来抓住了很多开发者的眼球。它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格…

服务访问质量(QoS)——流量整形与拥塞管理

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.流量整形和监管配置 1.流量整形配置两种方式 ①流量整形的命…

从零开始上手 MQTT over QUIC:快速体验下一代物联网标准协议

前言 QUIC(RFC9000) 是下一代互联网协议 HTTP/3 的底层传输协议,与 TCP/TLS 协议相比,它在减少连接开销与消息延迟的同时,为现代移动互联网提供了有效灵活的传输层。 EMQX 5.0 是首个将 QUIC 引入 MQTT 的开创性产品。在长期的客户服务和技…

eunomia-bpf项目重磅开源!eBPF 轻量级开发框架来了

近日,在 2022 云栖大会龙蜥峰会 eBPF & Linux 稳定性专场上,来自 eBPF 技术探索 SIG Maintainer 、浙江大学的郑昱笙分享了《eunomia-bpf:eBPF 轻量级开发框架》技术演讲,以下为本次演讲内容: 大家好!…

【新知实验室-TRTC开发】实时音视频之web端云监工系统(Vue3+Element plus+TS+Pinia)

在线上线下一体化、虚拟现实加速融合的趋势下,音视频已经演进成一种基本能力,深刻变革了社会的交互方式。未来,音视频作为全真互联时代的重要基石,将持续推动互联网和实体产业的数字化创新与升级。 今天我们将体验腾讯的实时音视…

vue3 antd table表格的增删改查(一)input输入框根据关键字搜索【后台管理系统纯前端filter过滤】

input输入框——关键字模糊搜索引言铺垫场景复现解决方案筛选的实现重置筛选信息优化处理(监听的实现)功能实现可能要用到的知识:vue3数据变化侦测&&信息筛选过滤.filter() .map() .forEach(). find()🔥vue3【watch检测/监…

[附源码]Python计算机毕业设计Django4S店汽车售后服务管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

【服务器数据恢复】IBM服务器RAID控制器出错的数据恢复案例

服务器数据恢复环境: 北京某公司IBM X系列某型号服务器; 服务器上共8块硬盘组建raid5磁盘阵列; 服务器上部署有oracle数据库。 服务器故障&分析: 服务器在运行过程中,raid5磁盘阵列中有2块硬盘报警,服务…

CRM(Mapper层)详细代码

Mapper详细代码: DicValueMapper: package com.bjpowernode.crm.settings.mapper;import com.bjpowernode.crm.settings.domain.DicValue;import java.util.List;public interface DicValueMapper {/*** This method was generated by MyBatis Generato…

制作覆盖手绘图的导游地图,非常简单,你也可以

目录 1 前言 2 手绘地图的准备 3 下载软件 4 切图软件基本设置 5 配准设置 6 从平台取得上传切片所需要的3个参数 7 程序切片 8 增加位置点 1 前言 上一篇介绍了制作“简版导游地图”的步骤,真的是特别简单,如果提前准备好了文字材料&#xff0c…

PHP转Go,框架选什么?

文章目录内功心法PHP转Go,优选哪个框架?为什么?为什么不火?GoFrame特点优势:劣势:框架选型谁适合用GoFrame谁不适合用GoFrameGoFrame框架设计思想开发流程从0到1核心步骤总结视频一起学习这是一期会引起广泛…

即时通讯赛道开打信创牌,WorkPlus为何独树一帜?

近期,信创火了。 随着近期国家相关政策文件的推出,未来三年,党政信创、行业信创以及央国企信创的建设,将迎来全面加速。业内人士认为:“大信创”时代或已来临! 信创是什么? 信创,…

加载用户数据至用户维度表

目录 1.创建转换 2.配置表输入 3.配置表输入2 4.创建新转换 5.配置映射输入规范 6.配置数据库查询 7.配置数据库查询2 8.配置数据库查询3 9.配置过滤记录 10配置JavaScript代码 11.配置字段选择 12.配置映射输出规范 13.配置映射(子转换) 1…

JS进阶第一篇:手写call apply bind

文章目录手写call apply bind深入理解 call 方法手写call手写apply手写bind手写call apply bind 深入理解 call 方法 call 理解了,apply和bind就都迎刃而解了,他们都是大同小异。在此对call和apply不做过多的定义性解释,先来看下调用了call…

opencv阈值图像Threshold方法

图像阈值 固定阈值,自适应阈值,Otsu 二值化等 全局阈值和局部阈值 一、图像二值化 定义:图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。 灰度值0&…

热门Java开发工具IDEA入门指南——导出项目到Eclipse

IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能是非常强大的。 上文…

打工人,这里有一份述职技巧,请查收

大家好,马上到年底了,有多少小伙伴正在期待着述职邮件,毕竟收到述职邮件,也就意味着有机会升职加薪。有没有跟糖糖一样,没收到邮件的? 工作要善于总结,也要善于表达,如何在限时内将…

跨平台应用开发进阶(四十)自定义插件及引用

文章目录一、前言二、插件制作三、离线插件集成应用示例四、拓展阅读一、前言 正如将可复用功能封装为自定义组件以供他人使用一样,在uni-app开发框架中提供了另一种形式的自定义插件,并可将该插件提交至uni-app插件市场。 二、插件制作 制作插件前&a…

前端 单元测试介绍 - 以及在项目中使用 (史上最全)

前言 我们前端开发过程中,编写测试代码,有以下这些好处: 更快的发现bug,让绝大多数bug在开发阶段发现解决,提高产品质量 比起写注释,单元测试可能是更好的选择,通过运行测试代码,观…