相关资料

https://therealmjp.github.io/posts/sss-intro/
里面讲解了次表明散射的概念原理,以及发展过程。到了实时渲染,早期的基于纹理空间的扩散,到现在经常会应用于移动端的预积分的次表明散射(就是有一张图的表,从上面取色,还需要一个曲率的东西去控制),然后就是屏幕空间的次表明散射(为了生成更好的曲率)。
https://www.iryoku.com/stare-into-the-future
讲解了如何渲染真实的皮肤效果
要说皮肤渲染,还是得看ue4,接下来看一下ue的相关
https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/Materials/HowTo/Human_Skin/
这个是直接告诉你了怎么在ue里面实现皮肤材质
https://docs.unrealengine.com/4.26/en-US/Resources/Showcases/PhotorealisticCharacter/
https://docs.unrealengine.com/4.26/en-US/Resources/Showcases/DigitalHumans/
https://texturing.xyz/pages/saurabh-jethani-creating-realistic-skin-in-ue4

渲染特性

次表面散射

我们正常渲染pbr物理材质brdf,只是做了表面效果,表面漫反射,表面高光。次表面散射就是光线进入物体内部,在物体内部进行反射后,又反射出来,带有一定内部的颜色的效果。
第一种方法是,基于屏幕空间的次表明散射(sssss),这种效果也是在ue里面使用到。原理就是不模拟物理上的真实的散射,而是根据当前位置和光线入射点的位置去计算出一个差不多的效果。这种效果需要一个Diffusion Profiles(扩散配置文件)来描述次表面散射行为中光线与散射距离的关系。
扩散配置纹理里面会配置滤波器的总宽度(散射范围),每个颜色的衰减,以及进入到皮肤内的光线的多少(越年轻的可以调的越大)。然后在屏幕空间中获取深度,采集周围的像素深度计算出曲率,来设置效果渐变。如果曲率越大,散射效果越弱。

第二种方法就是使用预先积分的次表明散射,和屏幕次表明散射的区别在于,不使用Diffusion Profiles(扩散配置文件)而是修改为使用一张LUT贴图来描述当前的散射效果。图如下,
通过法向和光线的点积确定横向坐标位置,通过曲率确定纵向。曲率可以通过软件烘焙出来,比如Knald,或者直接在shader中计算得出一个曲率。如果达到一个好的效果,推荐直接使用屏幕空间深度计算来获取,虽然耗性能,大家还是根据效果和性能折中即可。
为了达到质感柔和的效果,我们需要通过使用不同模糊的法线贴图,来进一步模拟Diffusion Profiles(扩散配置文件)。

高光的法向贴图就是默认贴图,红色透性最强,所以,它的贴图的模糊也最高,蓝色的最小,模糊度也最低,(红色的可以通过mip层级获取,蓝色和绿色可以通过红色和默认的lerp操作获取)然后我们把这些法向贴图获取到的高光进行融合,获取到一个更加不错的效果。

高光

双层高光进行混合,增加皮肤质感,第一层主要控制,占85%,第二层次要,占15%。它们也要给予能量守恒。
高光颜色强度 F0 (在ue里面有这个接口,值默认是0.5)默认是通用的0.04,皮肤的需要设置成 0.35,对应高光的起始值就是 0.028 。

细节贴图

细节贴图要实现皮肤的细节,就是有毛孔的效果的皮肤,然后和默认的法向贴图融合,实现一个细节的模拟。

粗糙度

粗糙度建议从0.4开始调整。贴图建议不用表现太多细节,只用来划定区域,值低的范围的就是光滑度高,值高的地方,就混合细节贴图高一些,也显得皮肤更加真实。

CavityMap

用来表现皮肤微观细节的ao信息,这个主要用来表现高光部分细节,在高量的部分展现更多的细节。所以,可以用来控制高光反射强度。

AO

环境光遮蔽,首先就是烘焙的贴图,然后需要屏幕空间ao,混合得出。

涂层 ClearCoat

用来实现脸部化妆的效果。腮红,唇膏等等。

涂层是在光进入的时候,首先进行了涂层的反射,一般为镜面反射,然后再进入表面,制作的时候注意能量守恒。

unity 皮肤材质效果实现分析相关推荐

  1. Unity开发备忘录000005:用Unity标准着色器构建金属材质效果(一)

    网上有很多第三方开发的构建金属材质的Unity包,但其实Unity自带的标准着色器Standard就可以调出不错的金属材质效果. 首先,建一个Unity工程,并创建一个球体对象,为了效果明显再添加一个 ...

  2. Unity开发备忘录000006:用Unity标准着色器构建金属材质效果(二)

    按照Unity开发备忘录000005:用Unity标准着色器构建金属材质效果(一)所介绍的方法,我们又做了一个如下的模型渲染. 在此基础上我们再给它加一个高度贴图,其立体感的细节会更加丰富,如下图: ...

  3. Unity Shader 皮肤水滴效果

    本文参考文章:[UE4]皮肤下雨效果复现 大体的思路就是使用UV坐标生成水滴遮罩以及法线. 1.原理简单阐述 首先建一个简单的Shader来输出UV坐标: fixed4 frag (v2f i) : ...

  4. 虚幻4皮肤材质_虚幻引擎4.5版本预览说明

    即将到来的4.5版本包含了大家翘首以待的新功能,包括了动画重定向.自动C++热重载.光照贴图UV生成以及动态载入视频贴图. 新的实时光线追踪的柔和阴影让您可以创建具有绚丽光照的动态场景,并且屏幕空间的 ...

  5. 虚幻4皮肤材质_虚幻周报20200721 | CJ就要开始啦~

    官方知乎号:虚幻引擎 搜集日期:20200713-20200719 整理编辑: 大钊,小辉辉,马古斯,小帅帅 声明:文档搜集来自网上,难免遗漏,请联系我们投稿和添加关注.该文档版权归整理编辑者共同所有 ...

  6. Unity 实现贴花效果的制作教程

    c#教程​https://www.cnblogs.com/Yesi/p/15829200.html ​ 有些游戏中的战斗痕迹的效果会通过贴花来实现的,贴花的方式多种多样.而在Unity中,有一种给官方 ...

  7. Unity Substance材质

    前言 Unity Substance材质是Unity3.4出现的新功能,也是程序化的材质.这篇说明是用来简单叙述Substance的用途,如何从substance material asset中制作新 ...

  8. Unity UV 水效果实现

    Unity UV 水效果实现 Unity Water Shader 组件搭载 基本参数调节 所需图片 效果呈现 Unity Water Shader Shader "Custom/SeaWa ...

  9. ViewPager系列之-仿掌上英雄联盟皮肤浏览效果

    封面图.png 能有一个双休的周末,对于程序员来说,也算是一件幸福的事情吧.苦逼的加了一周的班,终于可以休息放松放松了.作为一个LOL爱好者,周末最开心的事当然就是约上几个小伙伴一起开黑了.一起超神. ...

最新文章

  1. saltstack实现haproxy+keepalived负载均衡+高可用(二)
  2. R语言使用ggplot2包使用geom_density()函数绘制基础密度图实战(density plot)
  3. 微服务2017年度报告出炉:4大客户画像,15%传统企业已领跑
  4. C# access update 出错总结,注意事项
  5. java基础深入_java编程基础之方法深入
  6. Nacos配置中心-多配置文件加载
  7. 搭建Eclipse C++开发环境
  8. Spring-ConfigurationClassPostProcessor类
  9. 计算机对民间音乐,《中国民间歌曲》
  10. linux 用shell比较两个整数的大小
  11. ABAP 培训笔记 part 7
  12. 计算机考试网页制作演示视频教程,历年职称计算机考试网页制作真题及答案_计算机网页制作教程...
  13. 华为h12m03装系统_华为H22H-03服务器怎么从U盘装系统?
  14. 一秒实现免费下载百度文库资料的方法
  15. android手机平板如何使用usb有线网卡
  16. 通过js的File对象获取图片的base64字符串
  17. Navicat Premium 12.1.24
  18. 爱心~~~红色的~~~小爱心组成的大爱心~~~
  19. 2017计算机一级教学进度表,2016--2017年度第二学期16职高一年级《计算机应用基础》教学进度表...
  20. Win10 下安装PhotoShop CS6

热门文章

  1. Java基本类型、引用类型的初始值
  2. 反渗透和一拖3恒压供水 西门子SMART和海为云触摸屏做的反渗透和恒压供水电气控制系统
  3. 数据结构之线性表的链式存储实现(附完整代码)
  4. Python中的bytes与bytearray详解
  5. python中bytearray函数_Python内置函数(13)——bytearray
  6. linux远程开启redis服务端口
  7. VMware ESXI部署macOS(上)
  8. QT中QString转QTime
  9. 早就订了票但哪都没去成 谁来为泡汤的春节假期买单?
  10. Python Challenge全解(持续更新中)