本篇博客主要是学习网址:https://www.cnblogs.com/crazylights/p/4040965.html
之后的记录。
关于流光网上一堆的例子,按需进行cv+修改即可。
所以本篇博客命名为流光(1),随着学习的慢慢的推进我想越来越多的效果会逐渐增加的。

接下来是流光的第一个例子。
效果我们可以看到如下:

接下来就把代码上传上来了:

Shader "Custom/shader_flowlight_step02" {Properties {_MainTex ("Base (RGB)", 2D) = "white" {}_FlowTex ("Light Texture(A)", 2D) = "black" {} //流光贴图_uvaddspeed   ("",float) = 2//流光uv改变速度}SubShader {Tags { "RenderType"="Opaque" }LOD 200CGPROGRAM#pragma surface surf Lambertsampler2D _MainTex;sampler2D _FlowTex;//属性float _uvaddspeed;//属性struct Input {float2 uv_MainTex;};void surf (Input IN, inout SurfaceOutput o) {half4 c = tex2D (_MainTex, IN.uv_MainTex);float2 uv =IN.uv_MainTex;//计算流光uvuv.x/=2;//取一半uv.x+=_Time.y*_uvaddspeed;//横向加上float flow = tex2D (_FlowTex, uv).a;//取流光亮度o.Albedo = c.rgb +  float3(flow,flow,flow);//加上流光亮度颜色o.Alpha = c.a;}ENDCG} FallBack "Diffuse"
}

ok效果有了,我们接下来看下,用到的资源图片。

我们看到最终颜色的叠加方式:
o.Albedo = c.rgb + float3(flow,flow,flow);//加上流光亮度颜色
图片的黑色是0,白色为255,那么我们在原有的c.rgb+流光颜色值。所以全黑的部分没有改变颜色,而如果加上255白色,那么此点就变为全白了,好像高光一样的效果。

至于为啥每次都用uv.x/=2;//取一半 我不知道啥意思。懵逼中……

==========================================================

下面我们在此基础上,再多加一个图片,这个图片的目的是啥呢?使得模型只在指定的地方有流光,什么叫指定的地方呢?我们可以在图片上进行定义,比如我么可以限定只在白色的地方进行流光,而在全黑的地方没有流光。
比如我们将要使用的图是:

这个和我们的主贴图有啥区别呢?

这个看到了吗?我们只想在logo的文字部分有流光效果,那么用一个遮罩贴图就可以了。
全部shader代码如下:

Shader "Custom/shader_flowlight_step02" {Properties {_MainTex ("Base (RGB)", 2D) = "white" {}_FlowTex ("Light Texture(A)", 2D) = "black" {} //流光贴图_MaskTex("Mask Texture(A)",2D)="whilte"{} //遮罩贴图_uvaddspeed   ("",float) = 2//流光uv改变速度}SubShader {Tags { "RenderType"="Opaque" }LOD 200CGPROGRAM#pragma surface surf Lambertsampler2D _MainTex;sampler2D _FlowTex;//属性sampler2D _MaskTex;//属性float _uvaddspeed;//属性struct Input {float2 uv_MainTex;};void surf (Input IN, inout SurfaceOutput o) {half4 c = tex2D (_MainTex, IN.uv_MainTex);float2 uv =IN.uv_MainTex;//计算流光uvuv.x/=4;//取一半uv.x+=_Time.y*_uvaddspeed;//横向加上float flow = tex2D (_FlowTex, uv).a;//取流光亮度float mask = tex2D(_MaskTex, IN.uv_MainTex).a;o.Albedo = c.rgb +  float3(flow,flow,flow)*mask;//加上流光亮度颜色o.Alpha = c.a;}ENDCG} FallBack "Diffuse"
}

使用遮罩贴图的最关键代码:
o.Albedo = c.rgb + float3(flow,flow,flow)*mask;//加上流光亮度颜色
黑色的部分mask=0,而白色的地方为255,那么可以起到只在logo的文字部分有流光的效果。
效果如下:

ok,至此我们已经学习如何使用两个贴图完成流光效果了。一个是流光贴图,一个是遮罩贴图,而遮罩贴图是为了让其在指定的部分进行流光。

最后的最后给出项目下载地址:
https://pan.baidu.com/s/17qbILdQjqh29McZo-dbs6w

unity shader 流光(1)相关推荐

  1. 初识Unity Shader 流光闪烁效果

    初识Unity Shader 流光闪烁效果 // An highlighted block Shader "Custom/mistake" {Properties {_node_1 ...

  2. Unity Shader学习案例一: 流光效果

    Unity Shader Lab新手宝典简单Shader案例一:流光效果 + 相关基础知识说明 Shader "Samples/Light Flow"//shader名称 {Pro ...

  3. Unity Shader 实现透明护盾效果

    这是大致的效果图,图片压得有点糊.我参考了本篇博客 Unity shader护盾特效. 这是原博客展示的图片: 本例采用了特殊的模型与贴图,原博客里有视频链接的教程,从模型到贴图. 以下是代码 // ...

  4. unity shader 学习记录

    记录下我学习unity shader的过程,并把我看到过的高质量教程推荐给大家! 借助插件shaderforge来熟悉着色的效果,并对照着shaderforge自动生成的shader代码手工优化和实现 ...

  5. 【unity shader】unity游戏特效-简简单单的能量护罩

    本文参考文章: [1]Unity shader护盾特效,作者:qq_16982323 [2]UnityShader--屏幕空间的能量罩(模拟守望先锋温斯顿的能量罩),作者:Porco_ 玩过崩坏3没? ...

  6. unity Shader 入门精要 EX

    unity Shader 入门精要: 1.shader概念 2.shader分类(顶点Shader.像素Shader) 3.Shader编程语言 4.Unity Shader 4.1概述 4.2分类( ...

  7. Unity Shader 阴影

    最近在看Unity shader开发实战详解,刚开始看阴影部分,稍微有了点思路.在这里写点笔记,算是小结吧. .阴影实现方法 一种是通过模拟光照的原理,用向量的方法 找到被光线照射的点 映射到平面的位 ...

  8. Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照

    转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...

  9. Unity shader学习之屏幕后期处理效果之高斯模糊

    高斯模糊,见 百度百科. 也使用卷积来实现,每个卷积元素的公式为: 其中б是标准方差,一般取值为1. x和y分别对应当前位置到卷积中心的整数距离. 由于需要对高斯核中的权重进行归一化,即使所有权重相加 ...

  10. Unity Shader着色器优化

    对游戏开发者而言,着色器长久以来就是游戏开发中的重要部分,在Unity中编写并实现着色器的过程直观且高效,优秀的着色器还可以创造非常精美的游戏画面,同时保证极高的性能.今天将由Unity的技术工程师张 ...

最新文章

  1. lua学习笔记之io
  2. Android SDK更新的问题
  3. C# webapi 上传下载图片
  4. ndr4108贴片晶振是多少频率_关于山羊挺身你知道多少?这些干货速来了解一下...
  5. dos常用文件操作命令
  6. Storm入门(三)HelloWorld示例
  7. Comments on The Ph.D. grind------by Yishi
  8. 软件工程--瀑布模型
  9. Codevs 1794 修剪花卉
  10. 5.6 tensorflow2实现奇异值分解(SVD)——python实战(上篇)
  11. 2014 - 2015
  12. 20145222何志威《网络对抗》- Web安全基础实践
  13. 计算机鼠标左键不起作用,电脑鼠标左键突然不好用了 右键没问题
  14. Activity设置透明主题
  15. 数字人民币真的来了 六年历程全回顾
  16. 社区项目发现的问题四 datatable的注意事项
  17. mac下统计代码行数方法
  18. 软件生存周期、项目生命周期、产品生命周期区别
  19. 华强北山寨“AirPods 3”出圈,油管博主直夸好
  20. 区块链:P2P技术是什么

热门文章

  1. 论文word引用参考文献
  2. Word参考文献交叉引用——连续多项引用
  3. (JavaScript案例)可拖动的模态框
  4. ①万字《详解canvas api画图》小白前端入门教程(建议收藏)
  5. win10 企业版LTSC 激活方式
  6. 微信小程序使用彩色图标(阿里巴巴矢量图标库)(炒鸡详细)
  7. 程序员 开发人员 在线工具箱
  8. html5 颜色对应8进制,十进制字体颜色html代码参照表 rgb值颜色查询对照表
  9. 逻辑门、锁存器和触发器
  10. vue中的数据可视化(echarts)和highcharts