【Shader/简单/unity】面片图案消隐/FaceFade
面片图案消隐/FaceFade
- 前言
- 原理
- 实现
== 仅供学习、笔记积累之用 ,如有错误望指正==
前言
效果:面片随着视线角度增大图案会被消隐,类似光栅立体卡片的效果。
本篇介绍实现方式的一种。
原理
类似视差映射的其中一步。这里把切线空间的视线的z分量作为fade的控制量。在切线空间中,z轴与表面normal对齐,当视线与平面平行时,视线的z值接近0,相互垂直时接近1。
实现
real4 frag(v2f i) : SV_TARGET{real4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv);//=====> Mask <=====//float3 ViewDirW = normalize(_WorldSpaceCameraPos.xyz - i.posW);float3 NormalW = i.normalW;float3 BinormW = i.binormW;float3 TangentW = i.tangentW;float3x3 TBN = float3x3(TangentW, BinormW, NormalW);float3 ViewDirT = normalize(mul(ViewDirW, TBN));float fade_mask =pow(max(ViewDirT.z,0),_FadeRange);col = lerp(_BaseColor, col, fade_mask);return col;}
【Shader/简单/unity】面片图案消隐/FaceFade相关推荐
- unity 线程断点时卡机_Compute Shader在Unity和UE4中的应用
该文档为学习文档,如有错误欢迎指正. 1. D3D11 Compute Shader概述 Compute Shader 是一个通用计算 Stage.它利用了GPU的并行处理器,实现大量线程并发执行.它 ...
- 【Unity Shader】Unity中利用GrabPass实现玻璃效果
<入门精要>中模拟玻璃是用了Unity里的一个特殊的Pass来实现的,这个Pass就是GrabPass,比起上一篇博客实现镜子的方法,这个方法我认为相对复杂,因此在实现之前需要对GrabP ...
- 【Shader\j简单\Unity】Flowmap与光栅立体卡片效果
Flowmap与光栅立体卡片效果 前言 FlowMap 代码 前言 实际上是尝试复原ta101第五课的一个小demo,目前还没有开课,我也穷,既然大纲给出来了,如果有时间摸鱼那么就可以慢慢磨,前面一大 ...
- Unity Shader 简单地挖一个洞
11月就要过去了,2020年已经走到尾声.从月中开始就苦苦思考有什么值得写的东西,结果发现这个月没有写什么太值得深纠的东西,就一直拖到了现在. 效果描述 其大致效果是在地上挖一个洞,然后有东西从洞里面 ...
- 【Unity Shader】unity海边波浪效果的实现
效果图如下(GIF因为为了把图压小所以删掉了一些帧导致后面速度突然很快,实际效果并不是这样~_~) PS.对于移动端,参考该文章:http://www.lsngo.net/2018/03/22/uni ...
- Unity Shader:细分着色器(Tessellation Shader)在Unity顶点着色器中的写法以及各参数变量解释
图1:在Unity内将sphere细分后 图2:在Unity内将sphere细分后 Unity官网关于细分着色器的资料比较少,只有在Surface Shader中使用的例子.我看了下Surface S ...
- 【unity shader】unity游戏特效-仿《幽灵特警》生命扫描仪索敌效果(运用深度、相交算法、CommandBuffer)
街机游戏<幽灵特警>第一关有个这样的效果: 嗯,透视挂hhhh,关键很炫. 来做个吧. 第一步,做"墙" 仔细观察GIF可见,这个效果像是一堵向前跑的墙,撞到无生命物体 ...
- 【Unity Shader】Unity中阴影映射标准制作流程
前半部分的基于图片的实时阴影技术是百人计划的前半部分总结,后面的Unity中的实现过程是<入门精要>中的实现. 1 基于图片的实时阴影技术 这里的"基于图片"指阴影生成 ...
- 【Unity Shader】Unity Chan的卡通材质
写在前面 时隔两个月我终于来更新博客了,之前一直在学东西,做一些项目,感觉没什么可以分享的就一直没写.本来之前打算写云彩渲染或是Compute Shader的,觉得时间比较长所以打算先写个简单的. 今 ...
最新文章
- Asp.NetCore1.1版本没了project.json,这样来生成跨平台包
- Mybatis源码解析之Mybatis初始化过程
- Android官方命令深入分析之Hierarchy Viewer
- 爱卡创誓记java刷钱_【178创誓记】快速升级:40到50级只需要两天的黄金刷
- Docker存储卷基本操作
- 数据可视化之下发图实践
- 使用windows远程桌面连接ubuntu
- 高通QFIL刷机指南
- html5移动页面自适应手机屏幕大小,移动页面自适应手机屏幕的方法
- 【多任务学习】多任务学习中的任务选择机制(Task Selection Policies for Multitask Learning)
- c语言long可以存几位数,long long 可以支持多少位的数?
- 如何保证测试质量之Bug管理规范及流程
- windows10下使用minGW64 编译krita源码报错
- 二维码怎么制作?手把手教你制作生成
- 计算机cpu基本功能,cpu的基本功能包括
- java获取GET和POST请求参数
- 【信息系统项目管理师】第七章 项目成本管理(考点汇总篇)
- 在HTML中 ( )属于非成对标记符,第一单元练习.doc
- 青梅煮酒,聊聊 zlib 压缩
- CI520与CV520的兼容模式研发资料
热门文章
- Android权限设置大全
- python写入excel怎么跨列居中_怎么才算工作里要求的“熟练使用office办公软件”?...
- 帮厨具除菌烘干的小工具, FIVE智能刀架让厨房更卫生
- 计算机软件工作的原理,计算机的基本工作原理
- 线程处理任务超时处理
- centOS 中文乱码解决方案
- 如何有效防止sql注入
- Unity中播放序列图
- ABP学习实践(十六)--领域驱动设计(DDD)回顾
- 自适应进化极限学习机SaDE_ELM程序源码和使用方法