资源简介
将脚本挂在摄像机,将图片经Shader处理后生成Material并渲染到屏幕

代码片段和文件信息
using UnityEngine;
using System.Collections;
using System;
//[ExecuteInEditMode]
//[AddComponentMenu (“PengLu/ImageEffect/BrokenScreen“)]
public class ImageEffect_BrokenScreen : MonoBehaviour {
#region Variables
public Shader BrokenScreenShader = null;
private Material BrokenScreenMaterial = null;
public Texture2D BumpMap;
private RenderTextureFormat rtFormat = RenderTextureFormat.Default;
[Range(0.0f 1.0f)]
public float satCount = 0.17f;
#endregion
void OnEnable () {
FindShaders ();
CheckSupport ();
CreateMaterials ();
}
void FindShaders () {
if (!BrokenScreenShader) {
BrokenScreenShader = Shader.Find(“PengLu/ImageEffect/Unlit/BrokenScreen“);
}
}
void CreateMaterials() {
if(!BrokenScreenMaterial){
BrokenScreenMaterial = new Material(BrokenScreenShader);
BrokenScreenMaterial.hideFlags = HideFlags.HideAndDontSave;
}
}
bool Supported(){
return (SystemInfo.supportsImageEffects && BrokenScreenShader.isSupported);
}
bool CheckSupport() {
if(!Supported()) {
enabled = false;
return false;
}
return true;
}
void OnRenderImage (RenderTexture sourceTexture RenderTexture destTexture)
{
#if UNITY_EDITOR
FindShaders ();
CheckSupport ();
CreateMaterials ();
#endif
float scaleX scaleY ;
if(sourceTexture.width > sourceTexture.height)
{
scaleX = 1.0f;
scaleY = (float) sourceTexture.height / (float) sourceTexture.width;
}
else
{
scaleX = (float) sourceTexture.width / (float) sourceTexture.height;
scaleY = 1.0f;
}
print(“scaleX:-------“ + scaleX + “ “ + “scaleY:-------“ + scaleY);
if(BumpMap != null){
BrokenScreenMaterial.SetFloat (“_satCount“ satCount);
BrokenScreenMaterial.SetFloat (“_scaleX“ scaleX);
BrokenScreenMaterial.SetFloat (“_scaleY“ scaleY);
BrokenScreenMaterial.SetTexture (“_BumpTex“ BumpMap);
Graphics.Blit (sourceTexture destTexture BrokenScreenMaterial0);
}
else {
Graphics.Blit (sourceTexture destTexture);
}
}
public void OnDisable () {
if (BrokenScreenMaterial)
DestroyImmediate (BrokenScreenMaterial);
BrokenScreenMaterial = null;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2219 2018-03-06 16:38 suiping\ImageEffect_BrokenScreen.cs
..A..H. 262 2018-03-06 16:38 suiping\ImageEffect_BrokenScreen.cs.me
文件 1267 2018-03-06 16:38 suiping\ImageEffect_BrokenScreen.shader
..A..H. 195 2018-03-06 16:38 suiping\ImageEffect_BrokenScreen.shader.me
文件 47074 2018-03-06 16:38 suiping\sui.png
..A..H. 2070 2018-03-06 16:38 suiping\sui.png.me
目录 0 2018-03-17 17:20 suiping
----------- --------- ---------- ----- ----
53087 7
相关资源
- Unity3D登录界面工程
- unity3d反编译工具
-
UnityWebPla
yer及UnityWebPla yerFull -
UnityWebPla
yerFull - unity4.0官方正式版
- Behavior Designer 1.6.3(u2018.3.0).unitypa
- Unity纪念碑谷.rar
- A Pathfinding Project Pro v4.2.2.rar
- Unity 声音播放插件,支持将字符串转
- Gaia 1.7.2
- Unity3d实现扭动挤压浏览效果
- UnityShader卷轴效果
- 爱酱(绊爱Kizuna)模型
- 遗传算法越野小车unity5.5
- unity 3D 百度语音合成 并播放
- unity案例入门坦克大战源码
- Graph And Chart 1.91.unitypackage
- Animated Steel Coaster 1.51.rar
- Unity3D游戏开发.pdf 宣雨松著完整高清
- Unity3D版水果忍者
- unity3d爆炸特效包
- unity3d_见缝插针源码及报告.zip
- Unity3d车库场景模型
- unity3d 警察动画模型
- unity20多种烟雾以及爆炸特效
- unity博物馆.zip
- burpsuite_community社区版x86系统
- unity3D 新手引导遮罩,支持圆形和矩形
- 兼容unity的System.Drawing.dll
- unity3d枪支武器包FPS第一人称射击游戏
评论
共有 条评论