吭吭唧唧写shader--呼吸效果(我也不知道叫啥)
效果图:
Shader "Unlit/test_2"
{Properties{_MainTex ("Texture", 2D) = "white" {}_OutColer("OutColor",Color)=(1,0,0,1) //振幅颜色_OutDis("OutDis",Float)=0.100 //振幅幅度_OutTime("OutTime",Float) =0.5 //振幅一次的时间_AlphaVaue("_AlphaVaue",Range(0,0.5))=0.1_ShowOpen("ShowOpen",int)=0}SubShader{Blend SrcAlpha OneMinusSrcAlpha //Blend混合命令Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}LOD 100Pass{//剔除正面ZWrite Off //关闭深度写入//Cull FrontCGPROGRAM#include "UnityCG.cginc"#pragma vertex vert#pragma fragment fragfloat _OutDis;float _OutTime;fixed4 _OutColer;sampler2D _MainTex;float _AlphaVaue;struct v2f{float2 uv : TEXCOORD0;float4 pos : SV_POSITION;};v2f vert(appdata_full v){在vert阶段让模型的每个顶点沿着法线方向偏移指定的距离//v.vertex.xyz+=normalize(v.normal)*_OutDis/3*abs(_Time.y%_OutTime);//v2f o;//o.pos = UnityObjectToClipPos(v.vertex);//return o;v2f o;o.pos = UnityObjectToClipPos(v.vertex);float3 vnormal = mul((float3x3)UNITY_MATRIX_IT_MV, v.normal);//将视空间法线xy坐标转化到投影空间float2 offset = TransformViewToProjection(vnormal.xy);//在最终投影阶段输出进行偏移操作o.pos.xy += offset * _OutDis*abs(_SinTime.w)/**abs(_Time.y%_OutTime)*/;return o;}fixed4 frag (v2f i) : SV_Target{fixed4 col = tex2D(_MainTex, i.uv);// apply fogUNITY_APPLY_FOG(i.fogCoord, col);col.a=_AlphaVaue;return col;}ENDCG}Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag// make fog work#pragma multi_compile_fog#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;UNITY_FOG_COORDS(1)float4 vertex : SV_POSITION;};sampler2D _MainTex;float4 _MainTex_ST;v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = TRANSFORM_TEX(v.uv, _MainTex);UNITY_TRANSFER_FOG(o,o.vertex);return o;}fixed4 frag (v2f i) : SV_Target{// sample the texturefixed4 col = tex2D(_MainTex, i.uv);// apply fogUNITY_APPLY_FOG(i.fogCoord, col);return col;}ENDCG}}
}
吭吭唧唧写shader--呼吸效果(我也不知道叫啥)相关推荐
- unity 2020 怎么写shader使其接受光照?_如何在Unity中造一个PBR Shader轮子
之前有业界大佬建议我去了解下Unity的PBR.说来惭愧,我查找了下资料才发现自己在这方面的知识居然是一片空白.经过几周的学习与尝试我对这一块算是有了初步的了解,于是写了这篇文章,一方面对自己学到的东 ...
- STM32通过串口控制LED闪烁或者呼吸效果
STM32通过串口控制LED闪烁或者呼吸效果 目录 STM32通过串口控制LED闪烁或者呼吸效果 1.准备工作 2.思路分析 3.实际操作 4.小结 1.准备工作 1.首先我们需要准备32的最小系统板 ...
- 在微信小程序中实现文字呼吸效果
之前写过一篇文章介绍了在网页中使用js实现文字的呼吸效果,点击跳转,但是这种方式里边通过style设置文字样式,在wxml中标签里面的运用是不可行的,因此需要探究一种新的设置方式. wxml代码 &l ...
- 自己写Shader-翻书效果
尝试练习翻书效果shader的制作 思路 翻页原理 直翻页: 思路: 代码: 总结: 曲线从一角翻页 思路: 效果 把效果和数学联系起来 角翻页有点复杂,,, 思路 直直的翻页,即将页面旋转180完成 ...
- Shader各种效果
1.Shader1.0的Alpha测试 Shader "Hidden/AlphaTestShader1.0" {Properties{_MainTex ("Texture ...
- UI shader图片效果处理
图片处理 unity 可以直接写shader对图片处理,调节图片的 亮度,饱和度,对比度 目录 图片处理 前言 一.图片调节 二.Unity 中的shader 实现 1. 亮度,饱和度,对比度 2.效 ...
- 如何用C语言做PONG游戏,[Unity 3d] 如何优雅的写一个PingPong效果
PingPong效果在 Unity 真的是随处可见:来回运动啦,呼吸灯啦,活塞运动啦,渐隐渐显啦,今天笔者就用两种方式教大家写下这个简单而常见的动画效果. 1. DoTween 借助Dotween,我 ...
- 自己写Shader—【shader的几种制作思路】
制作二维效果时: 可以对UI组件(Image)上挂载新的shader材质来实现效果.注意:需要写shader时对UI做一些特殊支持[否则一些UI的特性会覆盖掉,例如mask遮挡无效等.] 可以提取un ...
- Android关于绘图中Shader 的效果(中级)
Android关于绘图中Shader 的效果(中级) 关于绘图中Shader 的效果 本人对API中Shaser的参数理解不够深刻 所以只能测试来看 效果一下就看出来了 Shader mShade=n ...
最新文章
- linux意外重启分析,Linux关机重启流程分析
- 已解决:Connecting to raw.githubusercontent.com |185.199.109.133|:443... Unable to establish SSL connect
- linux下用C语言实现TCP/IP服务器与客户端互相发送数据的socket编程
- 升级bios_ThinkPad如何升级BIOS?我来教你!
- JMeter性能测试入门
- Java常用spark的pom.xml与读取csv为rdd到最终join操作+java常用pom.xml文件
- python json.load_python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)...
- Xamarin.Forms 5.0 项目实战发布!
- 百度地图描绘轨迹html,百度地图API 绘制轨迹历史
- wowza rtsp_使用wowza和xuggler将RTMP转为RTSP
- opencv配置原理
- python的一些基础小结总结
- 解决「matplotlib 图例中文乱码」问题
- 老挑毛 win7 linux,图解老挑毛u盘启动工具怎么重装系统
- 资产管理软件 GLPI的安装(转)
- pytorch+cuda+cudnn下载、安装和配置
- 俄罗斯方块菜单c语言,飞机游戏、俄罗斯方块、贪吃蛇C语言代码
- Flask + PostgreSQL部署在Heroku上的薅羊毛线报网站
- Minidump方式保留程序崩溃现场
- ReportMachine
热门文章
- 设置局域网共享硬盘以及其他电脑访问该硬盘
- 【程序员面试】最全指南,如何准备,如何投递,以及面试攻略大全分享!
- 最少钱币数(动态规划)
- vue3 Suspense 异步请求组件使用
- iOS版莆田系医院查询(Go+Swift实现)
- TP5放到线上lnmp环境 无法访问,以及隐藏inde.php 我的解决步骤
- 美国大学专业排名一目了然 备战雅思是梦想实现的第一步
- 软件分析_csdn app
- 模拟存取款-异常(根据输入的过程,判断账户是否有钱?(要求用异常做) 输入一个整数n,之后n行输入相应的金额,整数为存款,负数为取款,输出最终的余额,若某一过程余额为负,直接抛出异常,并显示余额不足)
- 深入理解JVM第六章笔记