前言

上一篇中我们已经实现了卡通渲染最基本的色阶分离的效果,并且与原生UE渲染效果进行了比较。虽然整体效果是有了但是细节上还是缺少打磨,所以接下来我们看看该如何修改我们的效果

问题

当我们拉近观察人物的脸部的时候,发现由于我们计算的是脸部的法线与灯光的点乘,所以在一些角度下脸部的阴影显得有些凌乱,不符合卡通渲染的大范围阴影的形式。

 

实现效果

我们要做的是简化脸部的阴影,例如下图的显示,脸部的阴影简化以后,看上去就会清爽很多,并且更符合卡通渲染的效果。

而且我们还得加上一些专门的特征区域,例如在鼻尖附件画上高光或者阴影,如下图所示,这样才更符合卡通渲染的效果。

实现方案

基于法线的修改,一种是比较简单的包裹体法线,主要是将球包裹体的法线传递到面部模型上,能让脸部法线的方向能呈现一个均匀分布的效果

也可以考虑面部膨胀这种方式来改变任务脸部的法线,《火影忍者-究极风暴》中就是这么实现的,如下图所示膨胀过后的脸部以及头发的阴影看上去就干净多了。

还有一种做法就是距离场阴影,具体来说就是使用SDF来制作的一张Mask图。下面这张mask图就是作者自己用PS画的,毕竟不是专业美术,大体上过的去就行了,毕竟我们也只是用来学习一些做法。

可以看出这张Mask图上就将鼻尖的阴影和高光都画出来了,还有就是眼睛下部分的高光,接下来就是阴影的过度。有了这张Mask图。接下来就是去到UE中实现具体的效果了。

首先新建一个母材质,然后运用上我们第一篇写的ShadingModel

首先先用灯光与人物X轴的方向进行点乘来判断灯光此时在人物的左侧还是右侧。为什么要有这一步?可以看到我们上方的mask图是默认灯光在右侧时的表现,如果灯光在左侧我们得镜像采样,才能得到正确效果。

然后这一步,我们不再以脸部的法线来点乘了,而是使用人物前向与灯光方向来进行点乘,具体的阴影分布效果是根据mask来决定的。完成这一步后就可以来看看我们实际运行后的效果了。

可以看到,整体脸部的阴影看上去干净很多,鼻尖部分的阴影或者高光都有了,虽然人物眼睛下的高光区域感觉位置不太对,不过应该无伤大雅,那可能是mask的问题,调整一下位置就可以了。至此我们的人物的脸部阴影已经完成了。

参考链接

二次元角色卡通渲染—面部篇 - 哔哩哔哩

【02】从零开始的卡通渲染-着色篇1 - 知乎

UE4从零开始的卡通渲染——阴影篇(二)相关推荐

  1. 寄存器分配图着色_【02】从零开始的卡通渲染-着色篇1

    专栏目录 2173:[01]从零开始的卡通渲染-描边篇​zhuanlan.zhihu.com 2173:[02]从零开始的卡通渲染-着色篇1​zhuanlan.zhihu.com 2173:[03]从 ...

  2. unity 3d物体描边效果_从零开始的卡通渲染描边篇

    序言: 一直对卡通渲染非常感兴趣,前后翻找了不少的文档,做了一些工作.前段时间<从零开始>的手游上线了,试着渲染了一下的其中模型,觉得效果很不错.打算写一个专栏记录其中的渲染技术.在后面的 ...

  3. UE4全场景卡通渲染

    UE4全场景卡通渲染效果 这个配色实在是.. 大概效果就是这样了. 用后处理材质做卡通渲染 色块渲染和描边都是用后处理材质做的.描边就不详细说了,以前的文章有. 色块渲染,前面文章UE4卡通渲染提到的 ...

  4. Unity shader 关于卡通渲染阴影闭塞的实现

    想实现一个胸部的动态阴影效果 这种 推测应该是,AO贴图 + 边缘光的算法 + 梯度图lerp.我没用AO贴图(嫌麻烦

  5. Unity下的日式卡通渲染实现-着色篇(一)

    这篇文章讲述的是项目中二次元日式卡通着色渲染用到的一些跟着色相关的技术点. 一.卡通着色 何谓卡通着色?大概是让角色看起来卡通的角色吧.这里说的卡通着色,实际上指的是色阶着色.即根据光照和法线计算出当 ...

  6. Unity下的日式卡通渲染实现-描边篇(三)

    这边文章讲述的是项目中用到的一些卡通渲染描边相关技术. 一.Back Face外扩描边 背面外扩描边和后处理描边是卡通渲染中主要应用到的描边方式. 1.1 实现原理 第一个Pass正常渲染物体.第二个 ...

  7. 二次元卡通渲染——进阶技巧

    前言 随着<原神>游戏的盛行,国内对于二次元游戏这块儿领域越来越看重了.二次元项目中本身基于日本的卡通动漫而来,所以最后的本质都是为了尽量还原2D立绘,而并不像PBR追求物理正确,只要好看 ...

  8. 【非真实渲染】【卡通渲染技术点介绍】

    阅读指南 文本介绍卡通渲染的基本技术,实现会放在另外的文档 关键词 Cel Shading,ToonShading,色块.色调,各向异性,描边,高光 特征 看起来像手绘的图片 少渐变(指光影的变换), ...

  9. 卡通渲染-平均法线描边

    [01]从零开始的卡通渲染-描边篇] 最近在学习渲染,入门的时候也学了Back facing描边法,但是表现在正方体上割裂严重,就先略过了. 看了这篇文章才了解到平均法线的做法,作者将平均法线存到模型 ...

最新文章

  1. c# 使用TCP连接(server)
  2. Android之Bmob移动后端云服务器
  3. AUTOSAR从入门到精通-AUTOSAR PPT介绍
  4. Java并发包基石-AQS详解
  5. unity: GetLocalizedString can only be called from the main thread 异常解决
  6. zblog php 二级菜单,ZblogPHP模版导航栏跟随效果
  7. 汇编语言属于计算机科学,汇编语言是一种依赖于计算机的低级程序设计语言吗...
  8. 软件开发实训(720科技)――第五课:前端css规范
  9. 泰勒级数(Taylor Series)和利用python计算自然常数
  10. matlab 非线性拟合残差,多元非线性拟合求参数及残差分析
  11. 修改Egg.js端口号
  12. win10打开计算机闪屏,Win10打开资源管理器闪屏怎么办?Win10资源管理器闪屏问题的解决方法...
  13. python线性回归预测pm2.5_线性回归预测PM2.5----台大李宏毅机器学习作业1(HW1)
  14. J酒店上海中心天之锦餐厅成为全球建筑物中最高的景观餐厅
  15. RK VOP设备树分析
  16. 一篇高中生都能看懂的MySQL入门博客(长文)
  17. ! LaTeX Error: File xxx.sty not found-统一解决办法
  18. android 系统 dpi设置,安卓系统DPI的划分
  19. 《大学的意义》一些摘抄和感悟
  20. 图形学基础 | 计算机图形学MOOC学习笔记

热门文章

  1. 杰理之关 MIC 处理方法。处理后对于减少喊话底噪 和啸叫有明显效果【篇】
  2. 入门网络安全常用术语
  3. mac远程桌面连接windows_mac连接windows远程桌面的方法
  4. 使用QML进行界面开发
  5. wxPython界面开发总结
  6. 装箱问题(20 分)
  7. 设计模式学习——解释器模式
  8. 【历史上的今天】7 月 2 日:BitTorrent 问世;商业系统 Linspire 被收购;索尼部署 PlayStation Now
  9. HTML三只松鼠怎么编写,网易新闻三只松鼠:2019防骗模拟考试
  10. ios中html怎么横屏,iOS如何实现强制转屏、强制横屏和强制竖屏的实例代码