当前位置: 首页 > news >正文

Unity ShaderGraph教程——基础shader

 1.基本贴图shader:

 基础贴图实现:主贴图、自发光贴图、光滑度贴图、自发光贴图(自发光还加入了颜色影响和按                              钮开关).

步骤:最左侧操作组——新建texture2D——新建sample texture 2D承接图片,转接到fragment片元着色器

颜色的rgb的每个值都是[0,1]的,颜色值相乘必然会使颜色值减小(物体更暗),相加必然会使颜色值增加更加接近1(物体更亮),自发光贴图大部分区域都是小于1的值,所以和颜色相加输出。

注意:此时未用到金属度贴图,金属度贴图记得是把透明通道输出接给metallic,而不是all

 将复杂的相关节点打组生成单独的部分减少混乱度。

2.外轮廓光:fresnel effect节点

 创建float控制外发光程度,创建颜色用作外发光颜色调节,将菲涅尔和发光颜色通过Mutiply乘起来,菲涅尔数据比较大,通过颜色相乘得到的数值比较合理。

3.溶解:

 clipfloat是控制消融程度的数值,如果需要自动消融可以用time节点的sin或者cos结合reamp节点实现。

代码控制溶解:

 public float DissloveTime = 3f;private SkinnedMeshRenderer[] _renders;private void Start(){//获得所有的蒙皮网格渲染器_renders = transform.GetComponentsInChildren<SkinnedMeshRenderer>();StartCoroutine(Dissolve());}private IEnumerator Dissolve(){//调用获取shader参数SetDissolveRate(0);float time = 0f;while (time < DissloveTime){time += Time.deltaTime;//根据时间给shader对应参数赋值SetDissolveRate(time / DissloveTime);yield return null;}}private void SetDissolveRate(float value){//获取控制溶解的float参数值int shaderid = Shader.PropertyToID("_clipfloat");foreach (SkinnedMeshRenderer meshrender in _renders){foreach (Material materia in meshrender.materials){//给控制溶解程度的参数动态赋值,控制所有skin数据变化materia.SetFloat(shaderid, value);}}}

 //获取控制溶解的float参数值
        int shaderid = Shader.PropertyToID("_clipfloat");

这一步需要去shadergraph里查看设置的节点id名是什么

http://www.lryc.cn/news/151223.html

相关文章:

  • 第 3 章 栈和队列(单链队列)
  • 【DFS】1254. 统计封闭岛屿的数目
  • C#--sugarClient使用之ColumnName
  • 深度学习-4-二维目标检测-YOLOv5源码测试与训练
  • 找不到msvcp140.dll的解决方法【msvcp140.dll修复工具下载】
  • 内网隧道代理技术(二十)之 CS使用HTTP代理上线不出网机器
  • 安卓 tcp 客户端
  • flutter plugins插件【三】【Flutter Intl】
  • 简单了解ICMP协议
  • MVCC究竟是什么?
  • Kafka知识点总结
  • K8s最基本概念
  • vulnhub渗透测试靶场练习2
  • 在R中安装TensorFlow、TensorFlow_Probability、numpy(R与Python系列第二篇)
  • 十大管理——项目成本管理
  • Java BIO、NIO、AIO学习总结
  • sql各种注入案例
  • 系统学习Linux-ELK日志收集系统
  • IDEA2023隐藏.idea和.iml文件
  • 【深入浅出C#】章节 9: C#高级主题:反射和动态编程
  • Gorm简单了解
  • 第一百三十三回 StreamProvier
  • java 多个list取交集
  • 文件上传与下载
  • SpringBoot 整合 RabbitMQ
  • 气象科普丨气象站的分类与应用
  • 【论文精读】Learning Transferable Visual Models From Natural Language Supervision
  • 缓存和分布式锁笔记
  • React笔记(七)Antd
  • 无涯教程-Android - RadioButton函数