今天主要说的主题是如下图所示的几种毛绒材质的效果实现。

仔细看你就会发现3张图中的实现效果各不相同。一是和用的噪波图不同有关系,第二个就是实现方式有些不一样,里面实际上用了两种实现方式。

先说第一种简单的实现方式,主体思路是先用曲面细分,然后再将顶点按照法线方向和噪波图凸起。(这里说下曲面细分是不可以在手机平台使用的)。因为这种方法实现起来特别简单,我就直接用sf的连图做解释,不把敲的源码丢上来了。

这里需要注意的有3个地方。

第一个  就是必须要启用曲面细分,不然顶点数肯定是不够的。我在自己项目里是调用unity自带的曲面细分,并不知道SF怎么写的,所以不进行细讲曲面细分怎么写。

第二  就是我把噪波图作为AO图计算到了漫反射里面增加世界上的凹凸效果。

第三  就是vertex+=normalDir*噪波图.r*_power这个凸起计算了。可以看连图中VertexOff那个口的连线。

这种方法的优点是没有用混合模式,各种计算不容易出错,大家肯定都知道透明是一个大坑,能少碰少碰。

然后实际效果就是这样的,和我上面的展示图肯定有差距,大家自己进行优化,我也是敲了很久的。

=================================分割一下=================================

说完第一种低消耗效果还过的去的方法下面我们来说说第二种效果比较好但是处理起来消耗居高还很麻烦的方法。不过为了效果啥都可以忍。看下图,我想大部分人就可以知道大部分实现方法了。

这个效果是在一中的效果发现进一步过来的。你们应该都看出来了,这时候开启了混合计算。

首先这里继承上面一中的123点,不再重写了。

不过这里需要关闭深度,开启混合

        ZWrite OnCull OffBlend SrcAlpha OneMinusSrcAlpha // Alpha blending

然后要说的是这里采用的方法是用了50个pass逐层外扩,然后逐层缩小范围。这里上段其中一个pass的源码。

 Pass {Name "FORWARD"Tags {"LightMode"="ForwardBase"}Blend [_SrcBlend] [_DstBlend]CGPROGRAM#pragma target 5.0#pragma exclude_renderers gles#pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON#pragma shader_feature _EMISSION#pragma shader_feature _METALLICGLOSSMAP#pragma shader_feature ___ _DETAIL_MULX2#pragma shader_feature _PARALLAXMAP#pragma vertex vert#pragma fragment frag#pragma multi_compile_fwdbase#define MARZAFURBASEPASS#define FUR_OFFSET 0.010000//就是这里控制变化,有50个这样的pass,当然还有50个这样的forwardadd的pass#include "MFFZ.cginc"ENDCG}

这样原理就说完了,应该大家都看懂了,不懂的地方留言吧。实在不行就用方法一,方法二我搞实时渲染才用的。

【unity shader】毛绒材质效果的实现相关推荐

  1. Unity Shader 窗前雨滴效果衍生(表面水滴附着)

    Unity Shader 窗前雨滴效果衍生(表面水滴附着) 霓虹中国视频截图 现实中的水珠附着效果 实现思路 1.首先创建一个Cube来作为实现效果的物体 2.创建一个Shader开始着色器的编写 实 ...

  2. Unity Shader·屏幕破碎效果

    Unity Shader·屏幕破碎效果 前言 最近在做一个新的MMD(用Unity来实现),其中用到了一些好看的渲染技术在这里分享一下. 视频链接 https://www.bilibili.com/v ...

  3. Unity Shader 之 透明效果

    本文引用 Unity Shader入门精要 开启透明混合后,一个物体被渲染到屏幕上时,每个片元除了颜色值和深度值外,还有--透明度.透明度为1,则完全不透明,透明度为0,则完全不会显示. 在Unity ...

  4. Unity Shader - 翻书效果

    今天实现一个简单的翻书的效果,话不多说,先上一张效果图: 这里就随便用的一张纹理了,我们还是称为"翻木板"吧,哈哈. 实现过程: 其实这个效果实现起来还是挺简单的,大概思路其实就是 ...

  5. unity shader 抖音效果

    最近开始学习了unity shader,所以想要做一些简单的效果,来巩固一下知识.我第一个想做的就是做一些类似于抖音的效果.(PS:最近学习了markdown,所以就用markdown开始写博客了 ) ...

  6. Unity Shader 实现鬼魂效果

    Shader 实现鬼魂效果 前言 前言 我们在游戏中经常会角色碰到角色的情况,大多数游戏中角色和角色重叠的时候会显示一个虚幻的鬼影而不是完全遮挡,那么这个鬼影效果怎么实现呢?接下来我们就实现这样的一个 ...

  7. Unity Shader 屏幕后效果——高斯模糊

    高斯模糊是图像模糊处理中非常经典和常见的一种算法,也是Bloom屏幕效果的基础. 实现高斯模糊同样用到了卷积的概念,关于卷积的概念和原理详见我的另一篇博客: https://www.cnblogs.c ...

  8. Unity Shader 屏幕后效果——Bloom外发光

    Bloom的原理很简单,主要是提取渲染图像中的亮部区域,并对亮部区域进行模糊处理,再与原始图像混合而成. 一般对亮部进行模糊处理的部分采用高斯模糊,关于高斯模糊,详见之前的另一篇博客: https:/ ...

  9. Unity Shader 燃烧消融效果(surface表面着色器)

    有些时候需要让角色死亡时逐渐燃烧消失,用表面着色器很容易实现. 可以用一张黑白图片控制各部位的消融顺序,比如让该图片的某通道和一个变量相比,小于该变量则舍弃片元.变量从0不断变大,则消融面积逐渐扩大. ...

  10. Unity Shader 实现磨皮效果

    最近在做一些UI使用的shader,大部分是对UV进行一些操作,今天看需求文档时发现美术同学的要求里有一项是类似磨皮的效果,本来我也比较好奇这些美颜效果都是怎么做的,所以就趁此机会实验一下.查了一大堆 ...

最新文章

  1. 用对方法,开发与部署深度学习原来如此简单……
  2. JML规格编程——BUAA OO第三单元作业总结
  3. strings 命令——ELF文件格式与“链接和装载”
  4. MySQL5.7.12新密码登录方式及密码策略
  5. Python笔记-相关性分析(连续变量和分类变量)
  6. PHP mysql_real_escape_string() 函数防止数据库攻击
  7. 多图详解Spring框架的设计理念与设计模式
  8. 地理编码涉及的专项技术
  9. 图像预处理流程与方法
  10. 实战PyQt5: 137-QChart图表之散点图
  11. 第九届蓝桥杯 乘积尾零
  12. leetcode每日一题2021.7.14【1818. 绝对差值和】
  13. 51单片机--LED闪烁、流水灯的简单试验
  14. linux虚拟内存设置为多少合适,虚拟内存怎么设置最好_虚拟内存设置多少合适
  15. 计算机系一班班会,迎新 · 破冰会|“情暖计算机,友爱一九一”——记计算机类19-1班新生破冰班会...
  16. 快递100企业版接口(API)实时查询、订阅推送、云打印、电子面单实现.Net版
  17. 域名抢注,域名交易平台(国内国外)
  18. 苹果手机怎么设置来电铃声?4个步骤,快速学会
  19. 潜伏在前端巅峰 中同出来的前端秘笈
  20. 使用范例调教ChatGPT

热门文章

  1. 【学习强化学习】五、PPO算法原理及实现
  2. COPYPASTE: AN AUGMENTATION METHOD FOR SPEECH EMOTION RECOGNITION -论文阅读
  3. 自组织映射(SOM)聚类分析Python第三方库实现<minisom>
  4. 高考为什么考计算机信息,信息技术是否应该进入高考?
  5. 假设你毕业后有两个选择:一个是在某处找工作,另一个是自己创业。你要做决定。写一篇文章解释你的决定的理由
  6. 淘宝二面:说下二维码登录的原理?我懵了。。。
  7. 第三届上海市大学生网络安全大赛 流量分析
  8. 网络拓扑图是用什么软件画的?
  9. 第三次作业——K米评测
  10. android root 升级失败怎么办,手机root失败怎么办 安卓手机root失败原因分析