面片图案消隐/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相关推荐

  1. unity 线程断点时卡机_Compute Shader在Unity和UE4中的应用

    该文档为学习文档,如有错误欢迎指正. 1. D3D11 Compute Shader概述 Compute Shader 是一个通用计算 Stage.它利用了GPU的并行处理器,实现大量线程并发执行.它 ...

  2. 【Unity Shader】Unity中利用GrabPass实现玻璃效果

    <入门精要>中模拟玻璃是用了Unity里的一个特殊的Pass来实现的,这个Pass就是GrabPass,比起上一篇博客实现镜子的方法,这个方法我认为相对复杂,因此在实现之前需要对GrabP ...

  3. 【Shader\j简单\Unity】Flowmap与光栅立体卡片效果

    Flowmap与光栅立体卡片效果 前言 FlowMap 代码 前言 实际上是尝试复原ta101第五课的一个小demo,目前还没有开课,我也穷,既然大纲给出来了,如果有时间摸鱼那么就可以慢慢磨,前面一大 ...

  4. Unity Shader 简单地挖一个洞

    11月就要过去了,2020年已经走到尾声.从月中开始就苦苦思考有什么值得写的东西,结果发现这个月没有写什么太值得深纠的东西,就一直拖到了现在. 效果描述 其大致效果是在地上挖一个洞,然后有东西从洞里面 ...

  5. 【Unity Shader】unity海边波浪效果的实现

    效果图如下(GIF因为为了把图压小所以删掉了一些帧导致后面速度突然很快,实际效果并不是这样~_~) PS.对于移动端,参考该文章:http://www.lsngo.net/2018/03/22/uni ...

  6. Unity Shader:细分着色器(Tessellation Shader)在Unity顶点着色器中的写法以及各参数变量解释

    图1:在Unity内将sphere细分后 图2:在Unity内将sphere细分后 Unity官网关于细分着色器的资料比较少,只有在Surface Shader中使用的例子.我看了下Surface S ...

  7. 【unity shader】unity游戏特效-仿《幽灵特警》生命扫描仪索敌效果(运用深度、相交算法、CommandBuffer)

    街机游戏<幽灵特警>第一关有个这样的效果: 嗯,透视挂hhhh,关键很炫. 来做个吧. 第一步,做"墙" 仔细观察GIF可见,这个效果像是一堵向前跑的墙,撞到无生命物体 ...

  8. 【Unity Shader】Unity中阴影映射标准制作流程

    前半部分的基于图片的实时阴影技术是百人计划的前半部分总结,后面的Unity中的实现过程是<入门精要>中的实现. 1 基于图片的实时阴影技术 这里的"基于图片"指阴影生成 ...

  9. 【Unity Shader】Unity Chan的卡通材质

    写在前面 时隔两个月我终于来更新博客了,之前一直在学东西,做一些项目,感觉没什么可以分享的就一直没写.本来之前打算写云彩渲染或是Compute Shader的,觉得时间比较长所以打算先写个简单的. 今 ...

最新文章

  1. Asp.NetCore1.1版本没了project.json,这样来生成跨平台包
  2. Mybatis源码解析之Mybatis初始化过程
  3. Android官方命令深入分析之Hierarchy Viewer
  4. 爱卡创誓记java刷钱_【178创誓记】快速升级:40到50级只需要两天的黄金刷
  5. Docker存储卷基本操作
  6. 数据可视化之下发图实践
  7. 使用windows远程桌面连接ubuntu
  8. 高通QFIL刷机指南
  9. html5移动页面自适应手机屏幕大小,移动页面自适应手机屏幕的方法
  10. 【多任务学习】多任务学习中的任务选择机制(Task Selection Policies for Multitask Learning)
  11. c语言long可以存几位数,long long 可以支持多少位的数?
  12. 如何保证测试质量之Bug管理规范及流程
  13. windows10下使用minGW64 编译krita源码报错
  14. 二维码怎么制作?手把手教你制作生成
  15. 计算机cpu基本功能,cpu的基本功能包括
  16. java获取GET和POST请求参数
  17. 【信息系统项目管理师】第七章 项目成本管理(考点汇总篇)
  18. 在HTML中 ( )属于非成对标记符,第一单元练习.doc
  19. 青梅煮酒,聊聊 zlib 压缩
  20. CI520与CV520的兼容模式研发资料

热门文章

  1. Android权限设置大全
  2. python写入excel怎么跨列居中_怎么才算工作里要求的“熟练使用office办公软件”?...
  3. 帮厨具除菌烘干的小工具, FIVE智能刀架让厨房更卫生
  4. 计算机软件工作的原理,计算机的基本工作原理
  5. 线程处理任务超时处理
  6. centOS 中文乱码解决方案
  7. 如何有效防止sql注入
  8. Unity中播放序列图
  9. ABP学习实践(十六)--领域驱动设计(DDD)回顾
  10. 自适应进化极限学习机SaDE_ELM程序源码和使用方法