Blender

您所在的位置:网站首页 blender光程干什么用的 Blender

Blender

2024-07-13 11:08| 来源: 网络整理| 查看: 265

文章目录 什么是次表面散射建模、添加 SSS 材质

什么是次表面散射

Subsurface Scattering - 次表面散射,简写 SSS

以前没去了解过,但是发现,如果要制作光通透效果,还是要了解实现原理,对于参数调整也会得心应手

Subsurface Scattering (SSS) 的说明,我参考了一篇写得很不错的:【插播002】Subsurface

我自己总结理解为:光波在射入物体后,部分光波在物质中穿透,最后从他物体内多次散射后射出,然后我们的眼睛(相机)捕抓到这些光波的颜色。

Radius(光通透距离)

光波在射入物体后,部分光通透性一般的介质,如:我们的手,耳朵、大理石、蜡烛等,这些物质,大概弄个1~2厘米,都有中等的光通透性,这些光波都比较容易穿透这些物质。

所以也就有:光通透距离,不同介质(材质)该系数不一,有些叫:光自由程(光波射入后,还能自由行程的距离) (很多渲染系统都叫:Surface Scattering Radius,用半径来描述这个距离)

Radius Channel(光通透的 RGB 分量) 就是对白光的 RGB 复合光的每个通道的光通距离,数值越大,那么能同透的颜色分量就可能越大

如果我们要设置我们的皮肤光通透距离分量的 R 总是偏高的,因为很多时候都是散射出红光(你可以自己用手机开启手电筒光,然后用单个手指挡住光源,你会发现你的手指非常的红)

建模、添加 SSS 材质

使用了 Vertex Group(顶点组) + Weight Paint(笔刷调整 Vertex Group 权重) + Displace(置换)+ NoiseTex(噪点纹理)+ Bool(布尔挖空)就可以建模成功

在了解了参数的用意后,我们就可以添加材质,并调整参数

先来张效果图,与参数的截图 在这里插入图片描述

Base Color - 是奶酪的基础反射率的颜色值(如果要自己用 Unity 或是 C++ 中的 OpenGL,也可以只用纹理)Subsurface - 是调整次表面散射的放大强度,可以说是一个缩放值,对 Radius 的缩放值Subsurface Radius - 值为:(20, 20, 0.05),就是我们上面所说的光通透距离分量(RGB),因为奶酪本身偏黄,透出来的光也就偏黄色,所以你可以看到 RG 通道值都比较高Subsurface Color - 值为:(255,255,255),就是它能透出来的光的颜色分量系数,白色,就是说每个通道量都有透光性(所以透光计算时,计算散射出来的颜色,需要使用光源颜色与这个 Subsurface 相乘后,才是后续用于与 Radius 透光距离计算次散射的颜色)

用我自己的 E-Name 来弄一张 SSS 效果: 在这里插入图片描述

这个实现,后面如果有空我会尝试在 Unity 或是 C++ + OpenGL 中实现,但也只能实现效果一般的模拟版本,如果要实现比较好的,还是只能光追方式的版本



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3