屏幕后期特效——Blood(角色死亡闪血)
Blood 血液闪烁特效
1、红色光线从两边闪出
2、红色从两边倒中间渐变淡(通过圆心的距离判别渐变的距离)
Shader 代码:
Shader "Hidden/Blood"
{Properties{_MainTex ("Texture", 2D) = "white" {}_Blood("Length",float)=1}SubShader{// No culling or depthCull Off ZWrite Off ZTest AlwaysBlend SrcAlpha OneMinusSrcAlphaPass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv;return o;}sampler2D _MainTex;float _Blood;fixed4 frag (v2f i) : SV_Target{float2 tmpUV=i.uv;float tempLength=0;if(tmpUV.x<0.5){tempLength=length(tmpUV-float2(-0.5,0.5));//求向量的模长}else{tempLength=length(float2(1.5,0.5)-tmpUV);}tempLength *=_Blood;fixed4 col = tex2D(_MainTex, i.uv);col=lerp(fixed4(1,0,0,1),col,clamp(tempLength,0,1));//讲tempLength限制在0——1之间// just invert the colors//col.rgb = 1 - col.rgb;return col;}ENDCG}}
}
C#代码:
public class Blood : MonoBehaviour
{public Material graphicMat;public float rangValue=0.5f;public float tempCount=0;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){tempCount+=Time.deltaTime*10;rangValue=Mathf.Cos(tempCount);rangValue=1+(rangValue+1)*0.25f-0.25f; //范围0.75~1.25 }private void OnRenderImage(RenderTexture src, RenderTexture dest) {graphicMat.SetFloat("_Blood",rangValue); //设置Shader参数Graphics.Blit(src,dest,graphicMat);}
}
屏幕后期特效——Blood(角色死亡闪血)相关推荐
- Shader 特效实例 --- 屏幕后期特效
屏幕后期特效: 场景渲染完以后在添加一些特效. 1,引擎渲染后最终的结果是一张图片. 1, void OnRenderImage(RenderTexture sourceTexture, Render ...
- 你了解屏幕后期特效怎么做吗?碉堡了!!!开箱即用
超级浣熊最新力作--屏幕后期特效 目前包含56个特效Shader 一起来欣赏下吧! 『超级浣熊』作品 Shader Editor 自从上架Cocos Store以来,一直霸榜No.1 同时由 Shad ...
- 游戏图形学——屏幕后期特效:水波纹
在之前的文章简单的波动中有介绍波动方程,本文以此为基础学习屏幕后期特效:水波纹 Shader代码如下: Shader "Hidden/ScreenWave" {Properties ...
- Laya Air - 如何在Laya3D中实现屏幕后期特效?
前言 最近由于项目的原因,不得不去学习了一下Laya这款游戏引擎,在学习使用过程中,我发现在Laya官方文档中关于对屏幕后期处理相关的介绍比较少,就只有官方提供了一个Bloom全屏泛光的后期特效. 而 ...
- 屏幕后期特效——模糊
场景渲染完以后再添加一些特效 模糊:将一个像素周围的几个像素求平均(一般区周围4个点的像素)) 引擎渲染后最终的结果是一张图片 void OnRenderImage(RenderTexture src ...
- 【Unity Shader编程】之十五 屏幕高斯模糊(Gaussian Blur)后期特效的实现
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/51871531 作者:毛星云(浅 ...
- 屏幕高斯模糊(Gaussian Blur)后期特效的实现
文章链接: http://blog.csdn.net/poem_qianmo/article/details/51871531 作者:毛星云(浅墨) 微博:http://weibo.com/u/172 ...
- 【Unity3D Shader编程】之九 深入理解Unity5中的Standard Shader (一)屏幕水幕特效的实现
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/49556461 作者:毛星云(浅 ...
- 【Unity3D Shader编程】之十一 深入理解Unity5中的Standard Shader(三)屏幕像素化特效的实现
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/50095705 作者:毛星云 ...
最新文章
- python语言入门r_小结:jieba分词的Python与R语言基础用法介绍
- 汇编语言--CMOS RAM芯片
- mysql sql应用_MySQL数据库应用(5)SQL语言(2)
- 数据结构(2) -- 线性表的顺序表示
- 如何将SAP C4C TI页面的值传递到Embedded Component里去
- *【UVA - 10382】Watering Grass(贪心,区间覆盖问题,思维)
- python__实参前加*和**的(拆包)功能
- 计算机是如何诞生的?
- qq飞车手游服务器维护中,QQ飞车手游3月28日停机维护到几点_QQ飞车手游3.28停机维护时间_玩游戏网...
- 物联网MT2625芯片平台技术参考资料
- Flexsim Rack设置最底层Level不放货物
- 3种方法教你PS快速去掉水印
- linux文件夹可视化工具,4款简单实用的的服务器文件管理工具推荐
- 射击末世--建造者模式
- postman脚本批量请求
- win10环境下c语言打开文件失败,cfile fopen fopen_s win10下打开文件失败
- WAF——web安全及web应用防火墙
- 抓包微信下线的操作思路
- Django2.1 translation详解
- Java数据类型转换02--强制类型转换
热门文章
- led灯串怎么摆造型_客厅四周走一圈led灯槽边带吊顶造型效果图
- Centos7安装go1.14.4超级详细(两种安装方式)
- 当初我要是这么学习二叉树就好了「附图文解析」
- 紫光展锐:大破大立 做数字世界的生态承载者
- MX487EISA+替代MAX1487EESA+T的优势,货源渠道
- php 登录界面cookie,PHP登录页面,怎么用cookie传fav[]呢?
- ASP的2种开发模式
- 律师律所的舆情管控工作如何开展?
- MATLAB1阶零模型,MATLAB/simulink控制系统之离散系统模型(0基础)
- 为什么复数域中使用共轭转置而不是转置