Shader "Custom/ForceField"
{
Properties
{_Color("Color", Color) = (0,0,0,0)_NoiseTex("NoiseTexture", 2D) = "white" {}// 扭曲程度_DistortStrength("DistortStrength", Range(0,1)) = 0.2// 扭曲频率_DistortTimeFactor("DistortTimeFactor", Range(0,1)) = 0.2_RimStrength("RimStrength",Range(0, 10)) = 2_IntersectPower("IntersectPower", Range(0, 3)) = 2
}SubShader
{ZWrite OffCull OffBlend SrcAlpha OneMinusSrcAlphaTags{"RenderType" = "Transparent""Queue" = "Transparent"}GrabPass{"_GrabTempTex"}Pass
{CGPROGRAM
#pragma target 3.0
#pragma vertex vert
#pragma fragment frag#include "UnityCG.cginc"struct appdata
{float4 vertex : POSITION;float2 uv : TEXCOORD0;float3 normal : NORMAL;
};struct v2f
{float4 vertex : SV_POSITION;float2 uv : TEXCOORD0;float4 screenPos : TEXCOORD1;float4 grabPos : TEXCOORD2;float3 normal : NORMAL;float3 viewDir : TEXCOORD3;
};sampler2D _GrabTempTex;
float4 _GrabTempTex_ST;
sampler2D _NoiseTex;
float4 _NoiseTex_ST;
float _DistortStrength;
float _DistortTimeFactor;
float _RimStrength;
float _IntersectPower;sampler2D _CameraDepthTexture;v2f vert(appdata v)
{v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.grabPos = ComputeGrabScreenPos(o.vertex);o.uv = TRANSFORM_TEX(v.uv, _NoiseTex);o.screenPos = ComputeScreenPos(o.vertex);COMPUTE_EYEDEPTH(o.screenPos.z);o.normal = UnityObjectToWorldNormal(v.normal);o.viewDir = normalize(UnityWorldSpaceViewDir(mul(unity_ObjectToWorld, v.vertex)));return o;
}fixed4 _Color;fixed4 frag(v2f i) : SV_Target
{//获取已有的深度信息,此时的深度图里没有力场的信息//判断相交float sceneZ = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.screenPos)));float partZ = i.screenPos.z;float diff = sceneZ - partZ;float intersect = (1 - diff) * _IntersectPower;//圆环float3 viewDir = normalize(UnityWorldSpaceViewDir(mul(unity_ObjectToWorld, i.vertex)));float rim = 1 - abs(dot(i.normal, normalize(i.viewDir))) * _RimStrength;float glow = max(intersect, rim);//扭曲float4 offset = tex2D(_NoiseTex, i.uv - _Time.xy * _DistortTimeFactor);i.grabPos.xy -= offset.xy * _DistortStrength;fixed4 color = tex2Dproj(_GrabTempTex, i.grabPos);fixed4 col = _Color * glow + color;return col;}ENDCG
}
}
}

【Shader】扭曲能量罩特效相关推荐

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

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

  2. Unity 能量罩效果shader

    先上效果图: 能量罩波纹效果,下载地址:https://download.csdn.net/download/ThreePointsHeat/13618986

  3. 【unity shader】unity游戏特效-仿《幽灵特警》生命扫描仪索敌效果(运用深度、相交算法、CommandBuffer)

    街机游戏<幽灵特警>第一关有个这样的效果: 嗯,透视挂hhhh,关键很炫. 来做个吧. 第一步,做"墙" 仔细观察GIF可见,这个效果像是一堵向前跑的墙,撞到无生命物体 ...

  4. Shader Graph学习各种特效案例(持续更新)

    文章目录 前言 案例 unity 2019.4.10 外发光 进阶 带方向的外发光 裁剪 进阶 带边缘色的裁剪 溶解 进阶 带边缘色溶解 卡通阴影 水波纹 积雪效果 不锈钢效果 UV抖动 水波纹 红旗 ...

  5. 【Unity3D】平面光罩特效

    1 前言 屏幕深度和法线纹理简介中对深度和法线纹理的来源.使用及推导过程进行了讲解,激光雷达特效中讲述了一种重构屏幕像素点世界坐标的方法,本文将沿用激光雷达特效中重构像素点世界坐标的方法,实现平面光罩 ...

  6. 【Unity3D Shader编程】之十一 深入理解Unity5中的Standard Shader(三)屏幕像素化特效的实现

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.    文章链接:  http://blog.csdn.net/poem_qianmo/article/details/50095705 作者:毛星云 ...

  7. 神秘魔术动作能量冲击波特效音效Arcane Forces第一套 MAGIC - ARCANE FORCES DESIGNED

    神秘魔术动作能量冲击波特效音效Arcane Forces第一套 MAGIC - ARCANE FORCES DESIGNED 原文地址:https://www.aeziyuan.com/t-20646 ...

  8. Shader 能量法球特效

    RoadLun原创,转载请声明 ~~~~~~~~~~~~······ ~~~~~多图预警~~~~~~~~~~~~~~~~~~~~~~~~~· 效果: Gif不清楚,先看一张静态图 噪波律动法球: 流动 ...

  9. 【Unity3D Shader编程】之九 深入理解Unity5中的Standard Shader (一)屏幕水幕特效的实现

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接: http://blog.csdn.net/poem_qianmo/article/details/49556461 作者:毛星云(浅 ...

最新文章

  1. 【Python基础】使用统计函数绘制简单图形
  2. 第7章——狄克特斯拉算法
  3. Flutter开发之ListView添加HeaderView和FooterView-2(39)
  4. 识别字符串是否为数字
  5. 怎样用vc 做一个c语言,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
  6. python语言能干什么-python语言都可以做什么
  7. Java反射之内部类
  8. linux里面启用无线网卡,linux启用无线网卡上网
  9. PAT乙级(1012 数字分类)
  10. lua 给userdata设置元表_提高Lua语言开发效率的简单方法
  11. 她,18岁,李飞飞三度公开表扬,高中时NIPS获奖,创造「AI手术教练」
  12. wps表格错开半行_WPS文字制作左右错行表格(运用插入分节符、分栏等功能)
  13. ROS中Remap标签详解,举例说明其两种用法
  14. 利用matlab画地图
  15. 线段与线段交点的求解
  16. [转] 一个女生写给男朋友的!!!~~有点现实、冷静的语言,却让人感觉很温暖!!!
  17. 描边时消除锯齿SetSmoothingMode
  18. 进阶无人驾驶—百度Apollo规划技术介绍
  19. python格式化输出%s、f格式化字符串、print结束语
  20. JButton按钮响应

热门文章

  1. OpenCV3编程入门 学习笔记(总)
  2. G0第25章:Gin框架进阶项目实战
  3. 使用JsonResult
  4. 软工网络15团队作业1——团队组队展示
  5. 全新UI骆驼IPTV小肥米管理系统+全开源源码
  6. ClassCastException:ArrayList cannot be cast to class.Account
  7. 我那张被问爆了的漫画头像确实有点东西
  8. 庄懂着色器_L18_序列帧与极坐标
  9. JAVA—— Steam流
  10. Chrome插件开发实战