在先前的博客Unreal Engine 4 —— Kajiya-Kay Shading在UE4中的实现 中过了一遍怎么在UE4中实现Kajiya-Kay Shading,但是这个着色效果还是略显简陋。因此这篇博客是基于Kajiya-Kay Shading对这个材质进行了迭代,力争使其更有表现力。


发丝颜色过渡

在发丝的表现中,有时会出现发根与发梢有着不同的颜色(例如对于比较干燥的头发,往往发根偏黑而发梢偏白)。因此这里输入两个颜色分别代表发根与发梢的颜色、输入过渡高度以及过渡程度的参数,从而实现在两个颜色之间的过渡:

边缘光(Fresnel Effect)

菲涅尔效应在很多地方都有用到,主要用来表现反射材质的高光、特殊状态的表现等。Fresnel Effect主要表现在物体越与视线相切的地方,则值越大,越与视线重合,则值越小(其实Fresnel Effect很好实现,法线与视线的叉乘即可):

在发丝的表现中,也需要有这种的边缘光表现,唯一不同的是将视线换成光线方向,也就是说光线与物体相切的地方则越亮,否则越暗:

高光噪点

在现实的发丝中,由于很多时候光线在第一层头发反射后,一部分光线会穿过第一层头发,在第二层头发上反射再一次照亮第一层头发。这也就是很多时候会有高光的噪点。

在这个材质里面如果真的要模拟现实的计算,未免计算量太大。因此在这里直接使用噪点图,分别加在两个高光分量上:

高光跟随视线

在Kajiya-Kay Shading中,高光的表现通常是与V向量相关,也就是说只要摄像机位置不动,无论其如何旋转,高光的表现是不会变化的。

我在晚上上街去观察了一些长发女生的头发在路灯下的表现,发现的确也是无论视线盯着哪个地方,高光信息的确是不变的(不敢太凑近看会被打)。

在我与公司的原画美术讨论后,他倒是认为高光信息随着视线改变实际上会更有表现力,因此将对于V向量进行了进一步的处理:

最终能达到这个效果,我个人其实相当满意:

<全文完>

转载于:https://www.cnblogs.com/arrowinmyknee/p/5470383.html

Unreal Engine 4 —— 基于Kajiya-Kay的材质迭代相关推荐

  1. Unreal Engine 4 基于网格的水面模拟实现

    http://blog.csdn.net/shangguanwaner/article/details/51862644 Unreal Engine 4 水面模拟实现 一般游戏里水面的模拟都是实用动态 ...

  2. 游戏音频技术备忘 (五)Wwise Unreal Engine 集成代码浅析 二

    AkAmbientSound类的实现 Unreal Engine提供了一个基本对象的构造器ObjectInitializer,一般来说用户创建的类总是拥有很多变量,因此 AkAmbientSound  ...

  3. 基于Unreal Engine 2的救援机器人仿真平台开发(一)

    Ureal Engine(以下简称UE)是Epic Games开发的游戏引擎.他与游戏Ureal Tournament 2004(UT2004)一起发布.UE和UT2004都分别发布了Windows, ...

  4. Unreal Engine 4 系列教程 Part 3:材质教程

    原文:Unreal Engine 4 Materials Tutorial 作者:Tommy Tran 译者:Shuchang Liu 通过这篇教程,你将学会如何在材质编辑器里修改贴图,创建材质实例, ...

  5. 剖析Unreal Engine超真实人类的渲染技术Part 3 - 毛发渲染及其它

    目录 四.毛发渲染 4.1 毛发的构造及渲染技术 4.1.1 毛发的构造 4.1.2 Marschner毛发渲染模型 4.1.3 毛发的间接光照 4.2 毛发的底层实现 4.3 毛发的材质解析 4.3 ...

  6. 虚幻引擎C++终极射手教程 Unreal Engine C++ The Ultimate Shooter Course

    虚幻引擎C++终极射手教程 Unreal Engine C++ The Ultimate Shooter Course MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 ...

  7. Unreal Engine 4 的 光和影

    Unreal Engine 4 的 光和影 UE4中的所有光源通过lightmass和直接两种方式作用于物体.同时灯光分直接光和间接光.各种灯光的Movable和Stationary类型都会对物体产生 ...

  8. Unreal Engine 4 —— Pixel Depth Offset的使用心得

    http://blog.csdn.net/noahzuo/article/details/51361789 这篇博客解释了Unreal Engine 4中的Pixel Depth Offset通道的使 ...

  9. UNREAL ENGINE 4.13 正式发布!

    这次的版本带来了数百个虚幻引擎 4 的更新,包括来自 GitHub 的社区成员们提交的 145 个改进!感谢所有为虚幻引擎 4 添砖加瓦贡献的人们: alk3ovation, Allegorithmi ...

最新文章

  1. 这家公司耕耘超算20年,连续3年世界第一,现在加速中国AI
  2. python configuration is still_通过Python配置关闭Release优化
  3. 结构(struct)
  4. PowerShell图形化编程2-快速入门
  5. 如何设置顶部和底部固定,中间填满
  6. Kettle, Solr
  7. WinAPI: SetTimer、KillTimer - 创建与移除高性能定时器
  8. 2.mongoDB 命令
  9. 【深度】专访华宝基金首席信息官李孟恒:搭建数据驱动引擎,开创投研一体新格局
  10. 高德地图上覆盖物polygon方法的使用
  11. bzoj3207主席树
  12. 曾国藩修身十三条,值得学习
  13. 4个公认高用的OCR文字识别网站,免费高效率!
  14. Kotlin初学者笔记
  15. left join 多表关联查询
  16. 【001】光学系统的像质评价方法
  17. 操作系统(第四版)期末复习总结(上)
  18. 封神台-尤里的复仇II 回归sql-注入绕过防护getshell
  19. CreateJS神坑之旅
  20. kvm 1.创建虚拟机

热门文章

  1. pip环境变量配置 python3.6_零基础学python之爬虫第一节环境配置第一章:Python3+Pip环境配置...
  2. [计蒜客]T1853 非常男女
  3. Linux之特殊权限
  4. 2017蓝桥杯C++A:方格分割(DFS)
  5. python机器学习案例系列教程——决策树(ID3、C4.5、CART)
  6. 默认文件夹为空,如何从Microsoft Edge下载收藏夹
  7. AD19PCB增加board shape即增大黑色布的面积
  8. P1754 球迷购票问题 (卡特兰数,递推)
  9. springmvc中Date类型转换
  10. AIR学习教程(一)