资源简介
将脚本挂在摄像机,将图片经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
相关资源
- unity iTweenPath 动画插件
-
unity3d读取xm
l插件Mono.xm l - Unity3d背包物品拖拽
- 无限滚动TableView
- Unity中使用语音识别
- Unity3D使用socket通讯源码
- 塔防游戏源码
- Unity合并网格Demo
- zxing.unity.dll
- LitJson源码--cs文件
- Unity中修改3D模型的透明度,实现3D模
- unity 消息分发机制demo
-
VLCMediaPla
yerforUnitywithYoutube.txt - Unity3D插件-- LitJson.dll
- Unity破解工具_UniPatcher2018_v1.zip
- 2018unity3d 特效资源包大合集
- Unity3D读取Excel工具
- OpenGL shader 代码,可正常编译,完美
- unity3d RPG游戏《外星人》完整
- AndrewBox_LineRender&TrailRender
- unity3d实现的弹幕功能
- Unity小游戏——拼图
- Unity获取移动设备唯一码
- Unity UGUI中复用率最高的滚动列表,不
- unity_神经网络_遗传算法_简易框架
- Unity3D中Blendshapes之间的过渡方式
- unity特效,角色流光shader
- unity3D手机游戏开发光盘链接
- Unity3d SGIzmo
- unity3d 云特效
评论
共有 条评论