unity shader 流光(1)
本篇博客主要是学习网址: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)相关推荐
- 初识Unity Shader 流光闪烁效果
初识Unity Shader 流光闪烁效果 // An highlighted block Shader "Custom/mistake" {Properties {_node_1 ...
- Unity Shader学习案例一: 流光效果
Unity Shader Lab新手宝典简单Shader案例一:流光效果 + 相关基础知识说明 Shader "Samples/Light Flow"//shader名称 {Pro ...
- Unity Shader 实现透明护盾效果
这是大致的效果图,图片压得有点糊.我参考了本篇博客 Unity shader护盾特效. 这是原博客展示的图片: 本例采用了特殊的模型与贴图,原博客里有视频链接的教程,从模型到贴图. 以下是代码 // ...
- unity shader 学习记录
记录下我学习unity shader的过程,并把我看到过的高质量教程推荐给大家! 借助插件shaderforge来熟悉着色的效果,并对照着shaderforge自动生成的shader代码手工优化和实现 ...
- 【unity shader】unity游戏特效-简简单单的能量护罩
本文参考文章: [1]Unity shader护盾特效,作者:qq_16982323 [2]UnityShader--屏幕空间的能量罩(模拟守望先锋温斯顿的能量罩),作者:Porco_ 玩过崩坏3没? ...
- unity Shader 入门精要 EX
unity Shader 入门精要: 1.shader概念 2.shader分类(顶点Shader.像素Shader) 3.Shader编程语言 4.Unity Shader 4.1概述 4.2分类( ...
- Unity Shader 阴影
最近在看Unity shader开发实战详解,刚开始看阴影部分,稍微有了点思路.在这里写点笔记,算是小结吧. .阴影实现方法 一种是通过模拟光照的原理,用向量的方法 找到被光线照射的点 映射到平面的位 ...
- Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照
转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...
- Unity shader学习之屏幕后期处理效果之高斯模糊
高斯模糊,见 百度百科. 也使用卷积来实现,每个卷积元素的公式为: 其中б是标准方差,一般取值为1. x和y分别对应当前位置到卷积中心的整数距离. 由于需要对高斯核中的权重进行归一化,即使所有权重相加 ...
- Unity Shader着色器优化
对游戏开发者而言,着色器长久以来就是游戏开发中的重要部分,在Unity中编写并实现着色器的过程直观且高效,优秀的着色器还可以创造非常精美的游戏画面,同时保证极高的性能.今天将由Unity的技术工程师张 ...
最新文章
- lua学习笔记之io
- Android SDK更新的问题
- C# webapi 上传下载图片
- ndr4108贴片晶振是多少频率_关于山羊挺身你知道多少?这些干货速来了解一下...
- dos常用文件操作命令
- Storm入门(三)HelloWorld示例
- Comments on The Ph.D. grind------by Yishi
- 软件工程--瀑布模型
- Codevs 1794 修剪花卉
- 5.6 tensorflow2实现奇异值分解(SVD)——python实战(上篇)
- 2014 - 2015
- 20145222何志威《网络对抗》- Web安全基础实践
- 计算机鼠标左键不起作用,电脑鼠标左键突然不好用了 右键没问题
- Activity设置透明主题
- 数字人民币真的来了 六年历程全回顾
- 社区项目发现的问题四 datatable的注意事项
- mac下统计代码行数方法
- 软件生存周期、项目生命周期、产品生命周期区别
- 华强北山寨“AirPods 3”出圈,油管博主直夸好
- 区块链:P2P技术是什么