Shader-灰频效果
来源:互联网 发布:怎么管理mac下面的图标 编辑:程序博客网 时间:2024/04/29 03:42
效果图:
Shader代码:
Shader "Custom/HuiPin" { Properties{ _MainTex("Main Tex",2D)="white"{} _LuminosityAmout("GrayScale Amout",Range(0,1))=1.0 } SubShader{ Pass{ CGPROGRAM #pragma vertex vert_img #pragma fragment frag //#pragma fragmentoption ARB_precision_hint_fastest #include "UnityCG.cginc" sampler2D _MainTex; fixed _LuminosityAmout; fixed4 frag(v2f_img i):COLOR{ fixed4 renderTex = tex2D(_MainTex,i.uv); float luminosity = 0.299 * renderTex.r + 0.587 * renderTex.g + 0.114*renderTex.b; fixed4 finalColor = lerp(renderTex,luminosity,_LuminosityAmout); return finalColor; } ENDCG } } FallBack "DIFFUSE"}
c#代码:
using System.Collections;using System.Collections.Generic;using UnityEngine;[ExecuteInEditMode]public class TestRenderImage : MonoBehaviour { public Shader curShader; public float grayScaleAmount = 1.0f; private Material curMaterial; Material material { get { if (curMaterial == null) { curMaterial = new Material(curShader); curMaterial.hideFlags = HideFlags.HideAndDontSave; } return curMaterial; } } void Start() { if (!SystemInfo.supportsImageEffects) { enabled = false; return; } if (!curShader && !curShader.isSupported) { enabled = false; } } void OnRenderImage(RenderTexture sourceTexture, RenderTexture destTexture) { if (curShader != null) { material.SetFloat("_LumionsityAmount", grayScaleAmount); Graphics.Blit(sourceTexture, destTexture, material); } else { Graphics.Blit(sourceTexture, destTexture); } } void Update() { grayScaleAmount = Mathf.Clamp(grayScaleAmount, 0, 1.0f); } void OnDisable() { if (curMaterial) { DestroyImmediate(curMaterial); } }}
将此代码拖拽到摄像机上,启用或者禁用此脚本即可看到效果
阅读全文
0 0
- Shader-灰频效果
- [iuud8]基于cocos2dx3.2精灵变灰的shader效果
- NGUI 通过shader设置图片置灰效果
- Unity3D shader置灰代码
- NGUI sprite 变灰shader
- 图片变灰shader mark
- unity shader 彩图变灰
- ngui 图片变灰Shader
- unity3d蒙灰效果
- 精灵变灰效果
- NGUI图片变灰Shader修改
- Unity3D使用shader实现灰图
- cocos2dx3.X shader使图片置灰
- NGUI 置灰的4歌shader
- cocos2dx3.X shader使图片置灰
- 模型或NGUI图片变灰shader
- Cocos2dx 使用Shader使精灵变灰
- Cocos2d-lua 初识shader之一:置灰
- Python学习之路7
- JVM二:JVM7、8详解
- Python学习之路8
- CentOS7安装Python3
- 如何做电视节目的视频直播(电视台节目直播)
- Shader-灰频效果
- Dialog的圆角,和偏移量(新手推荐)
- The import android.support cannot be resolved
- spring boot使用spark javaRdd出现序列化问题总结
- 阿里云 CentOS7.4 安装 Python3.6
- Spring AOP之增强介绍
- 2017年第15届上海国际广告展会刊(参展商名录)
- c++ new关键字的用法
- nginx+tomcat实现代理访问java web项目