顶点偏移
沿向量方向偏移,沿自身坐标系方向偏移

沿法线方向偏移,球体放大,立方体拆分

Shader "Lesson/VFVertOffsetVertex" {Properties {_Offset ("偏移量", float) = 1}SubShader {Pass{CGPROGRAM#pragma vertex vert#pragma fragment fragfloat _Offset;struct m2v{float4 vex : POSITION;float3 normal : NORMAL;};struct v2f{float4 position : SV_POSITION;};v2f vert(m2v v){v2f f;//v.vex.xyz += float3(1, 0, 0);//沿向量偏移v.vex.xyz += v.normal * _Offset;//沿法线偏移f.position = UnityObjectToClipPos(v.vex);return f;}fixed4 frag(v2f f) : SV_Target{return fixed4(1,0,0,1);}ENDCG}}FallBack "Diffuse"
}

溶解效果

Shader "Lesson/VFVertOffsetVertex" {Properties {_MainTex("纹理", 2D) = ""{}_DissTex("噪声图", 2D) = ""{}_MarginColor("边缘的颜色", Color) = (1,1,1,1)_DissValue("阈值", Range(0, 1)) = 0_MarginValue("边缘的宽度", Range(0, 1)) = 0.1}SubShader{Pass{CGPROGRAM#pragma vertex vert#pragma fragment fragsampler2D _MainTex;sampler2D _DissTex;float _DissValue;float _MarginValue;fixed4 _MarginColor;struct m2v{float4 vex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float4 position : SV_POSITION;float2 uv : TEXCOORD0;};v2f vert(m2v v){v2f f;f.position = UnityObjectToClipPos(v.vex);f.uv = v.uv;return f;}fixed4 frag(v2f f) : SV_Target{fixed4 texColor = tex2D(_MainTex, f.uv);fixed4 dissColor = tex2D(_DissTex, f.uv);//通过UV获取噪声图上的颜色if (dissColor.r < _DissValue)//借助噪声图的颜色的一个通道去做判断
                {discard;//裁剪掉小于阈值的部分
                }float lerpValue = _DissValue / dissColor.r;//边缘过渡if (lerpValue < 1 && lerpValue > (1 - _MarginValue)){return _MarginColor;}                                         return texColor;}ENDCG}}FallBack "Diffuse"
}

转载于:https://www.cnblogs.com/cnwuchao/p/10363728.html

Unity3D学习笔记(三十七):顶点偏移和溶解相关推荐

  1. openGL学习笔记三十七:绘制简单地图

      地形本质上由一个个顶点(x,y,z)组成多个三角面连接而成. 地形有两种来源:   1.美术使用3dmax.maya.bleader工具,画点.线.面,导出三维模型,然后在游戏中加载进来,进行绘制 ...

  2. Unity3D学习笔记(十七):IK动画、粒子系统和塔防

    新动画系统: 反向动力学动画(IK功能): 魔兽世界(头部动画),神秘海域(手部动画),人类一败涂地(手部动画) 如何启用(调整) 1.必须是新动画系统Animator 设置头.手.肘的目标点 2.动 ...

  3. brisk matlab,opencv学习笔记三十七:BRISK特征点检测与匹配

    简介 BRISK算法是2011年ICCV上<BRISK:Binary Robust Invariant Scalable Keypoints>文章中,提出来的一种特征提取算法,也是一种二进 ...

  4. Unity3D学习笔记3——Unity Shader的初步使用

    文章目录 1. 概述 2. 详论 2.1. 创建材质 2.2. 着色器 2.2.1. 名称 2.2.2. 属性 2.2.3. SubShader 2.2.3.1. 标签(Tags) 2.2.3.2. ...

  5. OpenCV学习笔记(十七):图像修补:inpaint()

    OpenCV学习笔记(十七):图像修补:inpaint() inpaint()函数 使用区域邻域在图像中还原选定区域. void inpaint( InputArray src, // 表示要修复的图 ...

  6. OpenCV学习笔记(十七):查找并绘制轮廓:findContours(),drawContours(),approxPolyDP()

    OpenCV学习笔记(十七):查找并绘制轮廓:findContours() 1.findContours() 函数 该函数使用Suzuki85算法从二值图像中检索轮廓.轮廓线是一种用于形状分析.目标检 ...

  7. Mr.J-- jQuery学习笔记(三十二)--jQuery属性操作源码封装

    扫码看专栏 jQuery的优点 jquery是JavaScript库,能够极大地简化JavaScript编程,能够更方便的处理DOM操作和进行Ajax交互 1.轻量级 JQuery非常轻巧 2.强大的 ...

  8. MATLAB学习笔记(十七)

    MATLAB学习笔记(十七) 一.符号对象 1.1 符号对象的建立 1.2 符号对象的运算 1.3 符号矩阵 二.符号微积分 2.1 符号函数的极限 2.2 符号函数的导数 2.3 符号函数的积分 三 ...

  9. Unity3D 学习笔记3——了解U3D引擎的操作面板和各种工具

    Unity3D 学习笔记3--了解U3D引擎的操作面板和各种工具 在完成了Unity的安装破解之后,我们接下来要做的当前是启动这个引擎,然后学会如何去使用它为我们提供的各种工具,这也是上手任何一个软件 ...

  10. Unity3D 学习笔记4 —— UGUI+uLua游戏框架

    Unity3D 学习笔记4 -- UGUI+uLua游戏框架 使用到的资料下载地址以及基础知识 框架讲解 拓展热更过程 在这里我们使用的是uLua/cstolua技术空间所以提供的UGUI+uLua的 ...

最新文章

  1. 自动驾驶开发云平台业务分析
  2. 浅入 spring ioc 单例容器
  3. WWDC 2018:iOS 12 通知的新特性
  4. Java手写Hashmap(HashMap的基本用法)
  5. javafx 自定义控件_JavaFX自定义控件– Nest Thermostat第3部分
  6. C语言中的转义字符【转ce123的技术博客】
  7. 初创公司5大Java服务困局,阿里工程师如何打破?
  8. android6.0 goldfish内核,ubuntu16.04下编译android-goldfish-3.4内核源码(android6.0.1系统源代码)...
  9. 显示器+测试软件,MonitorTest(显示器性能测试软件
  10. 实朴检测深交所上市:市值44亿 应收账款逾期6587万
  11. c中宏定义的特殊符号
  12. java日志系统介绍
  13. CoaoaChina开发者小测验常识题
  14. 机翻《C-CAM: Causal CAM for Weakly Supervised Semantic Segmentation onMedical Image 》
  15. JAVA面试潜规则大公开,能帮你多拿5k薪资!
  16. umi_tools使用
  17. AD GND铺铜与GND线没有连接上
  18. Python脚本解析BitTorrent种子文件内容
  19. 数字多道幅度分析器/APG7300
  20. webview Dialog在onPageFinished()中无法dismiss

热门文章

  1. 看到前一篇文章的感慨
  2. 程序关闭是总是出异常解决方法
  3. SVN—怎么删除 SVN 上已有的URl
  4. Windows中使用http-server搭建一个本地服务
  5. Alpha、Beta、RC、GA、RTM、OEM等版本的解释
  6. Asp.Net(C#.VB)Array、ArrayList和List的区别
  7. java基础 小知识点
  8. C语言scanf中%%,C语言scanf()和gets()及printf()和puts()的区别
  9. 计算机管理创建超级用户,win10家庭版怎么开启Administrator超级管理员帐户
  10. logrotate测试_日志管理工具logrotate