庄懂着色器_L13_特效篇
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili
Shader "AP01/L13/AB"
{Properties{_MainTex ("RGB:颜色 A:透贴", 2d) = "gray"{}_Opacity ("透明度", range(0, 1)) = 0.5}SubShader{Tags{"Queue"="Transparent" // 调整渲染顺序"RenderType"="Transparent" // 对应改为Cutout"ForceNoShadowCasting"="True" // 关闭阴影投射"IgnoreProjector"="True" // 不响应投射器}Pass{Name "FORWARD"Tags { "LightMode"="ForwardBase" }Blend One OneMinusSrcAlpha // 修改混合方式One/SrcAlpha OneMinusSrcAlphaCGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"#pragma multi_compile_fwdbase_fullshadows#pragma target 3.0// 输入参数uniform sampler2D _MainTex; uniform float4 _MainTex_ST;uniform half _Opacity;// 输入结构struct VertexInput{float4 vertex : POSITION; // 顶点位置 总是必要float2 uv : TEXCOORD0; // UV信息 采样贴图用};// 输出结构struct VertexOutput{float4 pos : SV_POSITION; // 顶点位置 总是必要float2 uv : TEXCOORD0; // UV信息 采样贴图用};// 输入结构>>>顶点Shader>>>输出结构VertexOutput vert (VertexInput v){VertexOutput o = (VertexOutput)0;o.pos = UnityObjectToClipPos( v.vertex); // 顶点位置 OS>CSo.uv = TRANSFORM_TEX(v.uv, _MainTex); // UV信息 支持TilingOffsetreturn o;}// 输出结构>>>像素half4 frag(VertexOutput i) : COLOR{half4 var_MainTex = tex2D(_MainTex, i.uv); // 采样贴图 RGB颜色 A透贴half3 finalRGB = var_MainTex.rgb;half opacity = var_MainTex.a * _Opacity;return half4(finalRGB * opacity, opacity); // 返回值}ENDCG}}
}
Shader "AP01/L13/AD"
{Properties{_MainTex ("RGB:颜色 A:透贴", 2d) = "gray"{}_Opacity ("透明度", range(0, 1)) = 0.5}SubShader{Tags {"Queue"="Transparent" // 调整渲染顺序"RenderType"="Transparent" // 对应改为Cutout"ForceNoShadowCasting"="True" // 关闭阴影投射"IgnoreProjector"="True" // 不响应投射器}Pass{Name "FORWARD"Tags { "LightMode"="ForwardBase" }Blend One One // 修改混合方式CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"#pragma multi_compile_fwdbase_fullshadows#pragma target 3.0// 输入参数uniform sampler2D _MainTex; uniform float4 _MainTex_ST;uniform half _Opacity;// 输入结构struct VertexInput{float4 vertex : POSITION; // 顶点位置 总是必要float2 uv : TEXCOORD0; // UV信息 采样贴图用};// 输出结构struct VertexOutput{float4 pos : SV_POSITION; // 顶点位置 总是必要float2 uv : TEXCOORD0; // UV信息 采样贴图用};// 输入结构>>>顶点Shader>>>输出结构VertexOutput vert (VertexInput v){VertexOutput o = (VertexOutput)0;o.pos = UnityObjectToClipPos( v.vertex); // 顶点位置 OS>CSo.uv = TRANSFORM_TEX(v.uv, _MainTex); // UV信息 支持TilingOffsetreturn o;}// 输出结构>>>像素half4 frag(VertexOutput i) : COLOR {half4 var_MainTex = tex2D(_MainTex, i.uv); // 采样贴图 RGB颜色 A透贴不必须half3 finalRGB = var_MainTex.rgb;half opacity = var_MainTex.a * _Opacity;return half4(finalRGB * opacity, opacity); // 返回值}ENDCG}}
}
Shader "AP01/L13/BlendMode"
{Properties{_MainTex ("RGB:颜色 A:透贴", 2d) = "gray"{}_Opacity ("透明度", range(0, 1)) = 0.5[Enum(UnityEngine.Rendering.BlendMode)]_BlendSrc ("混合源乘子", int) = 0[Enum(UnityEngine.Rendering.BlendMode)]_BlendDst ("混合目标乘子", int) = 0[Enum(UnityEngine.Rendering.BlendOp)]_BlendOp ("混合算符", int) = 0}SubShader{Tags{"Queue"="Transparent" // 调整渲染顺序"RenderType"="Transparent" // 对应改为Cutout"ForceNoShadowCasting"="True" // 关闭阴影投射"IgnoreProjector"="True" // 不响应投射器}Pass{Name "FORWARD"Tags { "LightMode"="ForwardBase" }BlendOp [_BlendOp] // 可自定义混合算符Blend [_BlendSrc] [_BlendDst] // 可自定义混合模式CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"#pragma multi_compile_fwdbase_fullshadows#pragma target 3.0// 输入参数uniform sampler2D _MainTex; uniform float4 _MainTex_ST;uniform half _Opacity;// 输入结构struct VertexInput{float4 vertex : POSITION; // 顶点位置 总是必要float2 uv : TEXCOORD0; // UV信息 采样贴图用};// 输出结构struct VertexOutput{float4 pos : SV_POSITION; // 顶点位置 总是必要float2 uv : TEXCOORD0; // UV信息 采样贴图用};// 输入结构>>>顶点Shader>>>输出结构VertexOutput vert (VertexInput v){VertexOutput o = (VertexOutput)0;o.pos = UnityObjectToClipPos( v.vertex); // 顶点位置 OS>CSo.uv = TRANSFORM_TEX(v.uv, _MainTex); // UV信息 支持TilingOffsetreturn o;}// 输出结构>>>像素half4 frag(VertexOutput i) : COLOR{half4 var_MainTex = tex2D(_MainTex, i.uv); // 采样贴图 RGB颜色 A透贴不必须half3 finalRGB = var_MainTex.rgb;half opacity = var_MainTex.a * _Opacity;return half4(finalRGB * opacity, opacity); // 返回值}ENDCG}}
}
庄懂着色器_L13_特效篇相关推荐
- 庄懂着色器_L21_CyberPunk
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili 案例_赛博小人 模型准备 平常所说的1U,2U对应Unity的是0U,1U 3Dsmax的顺序是从1开始的;Unity_UV的顺序是从0 ...
- 庄懂着色器_L05_镜面反射
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili 漫反射-Diffuse 镜面反射-Specular 常用向量 漫反射 跟Camera或者人眼的观察视角无关 镜面反射 跟Camera ...
- 庄懂着色器_L09_Fresnel/Matcap/Cubemap
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili 环境反射的做法有Matcap和Cubemap 菲涅尔现象 菲涅尔连连看部分 Fresnel = pow(1-ndotv,powVal)下 ...
- 庄懂着色器_L18_序列帧与极坐标
庄懂-BoyanTata的个人空间_哔哩哔哩_Bilibili 序列帧_Sequence 小人是一个AB的模型,外面鬼火是AD模式,是一个双Pass的Shader 代码部分 Pass可以都是有一个名字 ...
- cocos2d-x与着色器设计--入门篇(游云凌天原创)
http://blog.csdn.net/danjinxiangsi/article/details/43949955 着色器(Shader)应用与计算机图形学领域,指一组提供计算机图形资源在渲染时执 ...
- cesium实现流入迁徙图(仿echarts)(着色器)(cesium篇.52)
听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行完整代码包,运行如有问题,可"私信"博主. 效果如下所示: 下面献上完整代码,代码重 ...
- cesium叠加动态流线(着色器)(cesium篇.54)
听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行完整代码包,运行如有问题,可"私信"博主. 效果如下所示: 下面献上完整代码,代码重 ...
- 使用Shader Graph实现《塞尔达传说:旷野之息》风格的着色器
本文转自Unity Connect Unity的技术经理Ciro Continisio在Connect上分享创作模仿任天堂游戏<塞尔达传说:旷野之息>角色风格的着色器,受到不少用户的关注, ...
- php代码着色器,使用Shader Graph实现《塞尔达传说:旷野之息》风格的着色器(转)...
马上注册,加入CGJOY,让你轻松玩转CGJOY. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x Unity的技术经理Ciro Continisio在Connect上分享创作模仿任天堂游戏& ...
- 【浅墨Unity3D Shader编程】之三 光之城堡篇:子着色器、通道与标签的写法 amp; 纹理混合...
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://hpw123.net/a/C__/kongzhitaichengxu/2014/1117/120.html 作者:毛星 ...
最新文章
- Netflix的高可用架构建议
- ES权威指南[官方文档学习笔记]-14 phrase search
- 【PC工具】更新免费文库文档下载器,免费下载文库文档
- 系统通知,居然用拉取
- 文件上传与下载问题记录
- SpringSecurity 权限控制之异常处理流程图
- 从 DevOps 到 Serverless
- ZOJ 1586 QS Network
- Zabbix 3.0 配置企业微信报警(注册---测试)
- js中 style.width与 offsetWidth的区别
- Spring MVC Converter(类型转换器)详解
- linux下打开Mongodb命令行窗口,Linux系统下MongoDB的安装与基本操作
- mysql perl教程_使用 Perl 的 MySQL 事务
- 全局记录RabbitMQ的消费者消息日志
- 【NC204267】牛牛染颜色
- 【概念】数据仓库和数仓建模
- 超级用户su没有权限修改所属
- 工欲善其事必先利其器之浏览器篇
- 手机怎么解决同ip多账号_安卓手机用久了垃圾多怎么办?5款强力清理软件帮你解决难题...
- 评论:电信重组中国电信才是赢家