Unity Flow distort of screen

Shader "ScreenWater" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
_Field ("Field Channel", 2D) = "black" {}
_Flow ("Flow", 2D) = "black" {}

}

SubShader {
Pass {
ZTest Always Cull Off ZWrite Off Fog { Mode off }

CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#include "UnityCG.cginc"

struct v2f {
float4 pos : POSITION;
float2 uv : TEXCOORD0;
};

uniform sampler2D _MainTex;
sampler2D _Field;
sampler2D _Flow;
half _Speed;
half _Intens;

v2f vert (appdata_img v)
{
v2f o;
o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
o.uv = MultiplyUV (UNITY_MATRIX_TEXTURE0, v.texcoord);

return o;
}

half4 frag (v2f i) : COLOR
{

float t = _Time.x * _Speed;

float2 coor = i.uv ;

half4 flow = tex2D (_Flow,coor + t);

half4 fc = tex2D(_Field, i.uv) * flow;

half4 distort = fc * _Intens ;

return tex2D(_MainTex, i.uv + distort );
}

ENDCG
}
}

Fallback off

}

时间: 2024-10-21 20:06:38

Unity Flow distort of screen的相关文章

unity share current game screen

using UnityEngine; using System.Collections; using UnityEngine.UI; using System.IO; public class TakeScreenshot : MonoBehaviour { [Header("Managers")] public GameObject SM; private bool isProcessing = false; public float startX; public float sta

Unity 截图方法

调用Unity API ScreenCapture.CaptureScreenshot("screen.png", 0); 截图的图片仅能保存为png格式,且第一个形参必须加.png 第二个参数为设定分辨率,大于1的情况下会增加分辨率,如为4,则是默认分辨率的4倍 只能保存在Application.persistentDataPath目录下 函数本身只能截全屏,如果实在要截部分屏幕,可以通过在截图后,当作本地图片读取后,进行修改 使用Texture2D.ReadPixels方法,该方法

Unity3D用户手册

Welcome to Unity. 欢迎使用Unity. Unity is made to empower users to create the best interactive entertainment or multimedia experience that they can. This manual is designed to help you learn how to use Unity, from basic to advanced techniques. It can be

Android 判断app何时是打开或者关闭的技术研究

只有两种东西能让一个团队团结,恐惧或忠诚.---<速度与激情7> 原文链接:http://engineering.meetme.com/2015/04/android-determine-when-app-is-opened-or-closed/ 存在的问题 Android开发中不可避免的会遇到需要检查app何时进入前台,何时被用户关闭.奇怪的是,要达到这个目的并不容易.检查app第一次启动并不难,但要判断它何时重新打开和关闭就没有那么简单了. 这篇文章将介绍一种判断app打开,重新打开和关闭

Android中判断app何时启动和关闭的技术研究

存在的问题 Android开发中不可避免的会遇到需要检查app何时进入前台,何时被用户关闭.奇怪的是,要达到这个目的并不容易.检查app第一次启动并不难,但要判断它何时重新打开和关闭就没有那么简单了. 这篇文章将介绍一种判断app打开,重新打开和关闭的技术. 让我们开始吧 判断一个app打开和关闭的关键在于判断它的activities是否正在前台显示.让我们先从简单的例子开始,一个只有一个activity的app,而且不支持水平模式.这样想要判断app是打开还是关闭只需要检查activity的o

Unity3d介绍

认识Unity3D的基本界面 一. Unity3D的基本界面介绍 场景面板:该面板为Unity3D的编辑面板:您可以将您所有的模型.灯光.以及其他材质对象拖放到该场景中.构建游戏中所能呈现景象. 动画面板:与场景面板不同,该面板是用来渲染场景面板中景象的.该面板不能用作编辑,但却可以呈现完整的动画效果. 层次面板:该面板栏主要功能是显示放在场景面板中所有的物体对象. 项目文件面板:该面板栏主要功能是显示该项目文件中的所有资源列表.除了模型.材质.字体等,还包括该项目的各个场景文件. 对象属性面板

Unity的Cover flow的实现包(2个)

苹果的mac机上预览图片,有一个所谓的cover flow的效果,这里收集到两个,两个实现效果略有不同. 1.老外的实现 https://github.com/rakkarage/Unity3D-CoverFlow 这个焦点图片在到最后位置前会模拟一个抖动效果 2.国人的实现 http://game.ceeger.com/forum/read.php?tid=1383 这个跟mac机是一样的 注: 第二个里面有个小bug.如果你发现你的焦点图的像素方向跟原图不一致的话,需要修改一处代码, 把下面

Physically Based Shader Development for Unity 2017 Develop Custom Lighting Systems

Part I: Introduction to Shaders In Unity Chapter 1: How Shader Development Works Chapter 2: Your First Unity Shader Chapter 3: The Graphics Pipeline Chapter 4: Transforming Coordinate Spaces Chapter 5: Your First Unity Lighting Shader Chapter 6: Spec

【Unity Shaders】使用Unity Render Textures实现画面特效——画面特效中的叠加(Overlay)混合模式

本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源(当然你也可以从官网下载). ========================================== 分割线 ========================================== 写在前面 在这篇里,我们将会学习另一种混合模式,叠加(Overlay)混合模式.这种混合模式使用了条