Unity Shader之Post Effect抖动重影效果
来源:互联网 发布:四川卫生统计网络直报 编辑:程序博客网 时间:2024/06/06 07:31
大家想一下对整张照片做处理,不管照片中物体的材质处理的方法叫Post Effect
有些效果,比如雾啊,Bloom拉,模糊拉,Hdr,都需要用到PostEffect,我们需要单独写一个脚本,绑定在Camera上
在OnRenderImage这个回调函数中,用Graphics.Blit这个方法来处理,传入我们制作的shader即可,下面是我自己写的一个抖动效果
纪念碑谷中就有类似的效果,房子要塌了,整个屏幕就开始动起来,配合上重影的效果,多了一种身临其境的感觉
先看Camera上的脚本:
using UnityEngine;[ExecuteInEditMode]public class CameraRenderTexture : MonoBehaviour{ public Material Mat; public void OnRenderImage(RenderTexture source, RenderTexture destination) { Graphics.Blit(source, destination, Mat);//source就是由片源着色器输出的最终屏幕rendertexture,des是经过//我们处理后renderTexture,处理过程由mat这个材质球来决定,这个材//质球请绑定上之后的shader }}
shader部分,其中有两个偏移量,分别控制两个影子抖动,一个幅度大一些,一个小一些,一个快些一个慢些,注意这里的_MainTex其实就是上面输入的SourceTexture
Shader "Custom/Shaking"{Properties{_MainTex("Texture", 2D) = "white" {}_OffsetX1("Offset X1", Range(-0.5, 0.5)) = 0.0_OffsetX2("Offset X2", Range(-0.5, 0.5)) = 0.0}SubShader{Tags{ "RenderType" = "Opaque" }Pass{CGPROGRAM#pragma vertex vert_img#pragma fragment frag#include "UnityCG.cginc"sampler2D _MainTex;float _OffsetX1;float _OffsetX2;fixed4 frag(v2f_img i) : SV_Target{_OffsetX1 = sin(_Time.y*20)/20;_OffsetX2 = sin(_Time.y *10) / 100;fixed4 col = fixed4(1, 1, 1, 1);fixed4 scol = tex2D(_MainTex, i.uv+ float2(_OffsetX2, 0));float2 uv = i.uv + float2(_OffsetX1, 0);col.rgb = tex2D(_MainTex, uv).rgb;return col*0.9+scol*0.5;}ENDCG}}}
阅读全文
0 0
- Unity Shader之Post Effect抖动重影效果
- Unity Shader之波浪效果
- Unity Shader之燃烧消散效果
- Cg之重影效果范例
- Unity教程之-Unity3d实现屏幕抖动效果
- Unity Shader 效果学习
- [Unity Shader]溶解效果
- unity shader 流光效果
- Unity Shader 扰动效果
- unity Shader 扭曲效果
- IOS之抖动效果
- Unity中的image effect和Post processing
- 【猫猫的Unity Shader之旅】之混合效果
- Unity之Shader在模型上渲染积雪效果-三
- Shader之Unity中如果使模型有弯曲效果
- Unity Shader 之Geometry Shader
- Unity Shader-描边效果
- Unity Shader-描边效果
- 课堂在线Java程序设计 泛型和数组元素排序
- 外国程序员应该访问的最佳网站
- Docker镜像仓库Harbor之Swagger REST API整合配置
- 我所理解的技术领导力
- 【Web】Ajax基本使用
- Unity Shader之Post Effect抖动重影效果
- Java中的多线程你只要看这一篇就够了
- Python实现Pat 1002. 写出这个数 (20)
- 支付宝APP支付密钥配置
- 多线下,CountDownLatch,Future的使用
- LeetCode7——Reverse Integer(将一个整数反转,注意溢出的处理)
- 亚像素级精确度的角点
- 实现sleep-mysleep
- Android在ImageView上做一些涂鸦