Shader学习25:织物 之 天鹅绒

发布时间:2026/11/15 1:05:26

Shader学习25:织物 之 天鹅绒 一、关于布料表现布料表面不是光滑的是无数根细小纤维竖立着传统的微表面brdf更适用于致密表面但对于松散结构的布料 缺少了一些真实布料的特征因为表面的纤维会吸收、散射入射光。边缘光照效果》Sheen 环织物在掠射角时出现的那一圈柔和的光泽环。1正面的光大量被吸收和漫散射掉汇聚到你眼睛里的能量反而很少2侧面的由于当光线与观察者的视线方向一致时镜面反射光会主要集中在物体的边缘。织物表面有细小的纤维这些纤维会试图保持垂直状态所以这时纤维的整根侧面都朝向你接收光的面积一下子变大了很多倍。同时纤维之间不再互相遮挡侧面大量纤维侧面同时把光散射进你眼睛。当光线方向与表面的法线方向成90度时光线会发生反(后)向散射从而形成漂亮的边缘照明效果。如果光线来自物体的后方纤维则会使光线向前散射进而产生类似的边缘照明效果。Sheen环 D项算法简介图1反高斯Inverted Gaussian将标准高斯分布(正态)函数进行反转图2绿线标准PBR的Microfacet GGX分布在0角度下法线、灯光和视线同向获得最大的高光强度然后随着角度的增大做正态分布红线用来做天鹅绒的分布函数正相反最高峰在90°图3左GGX高光右天鹅绒高光代码实战常见的Fabric算法有两个Ashikhmin Charlie 的算法GGXAshikhmin基于倒置高斯标题“Charlie” sheen基于正弦布料渲染的两种BRDF我使用了BSDF文件里现成的Ashikhmin_V和Charlie_D方法。F * V * D sheen * Ashikhmin_V * Charlie_Dhalf3 FabricSheenDirect(half NdotL, half NdotV, half NdotH, half3 sheenColor, half sheenRoughness) { half r max(sheenRoughness, HALF_MIN_SQRT); half safeNdotL max(NdotL, HALF_MIN); half safeNdotV max(NdotV, HALF_MIN); half safeNdotH max(NdotH, HALF_MIN); half D D_Charlie(safeNdotH, r); // NDFsin^invR模拟微纤维散射 half Vis V_Ashikhmin(safeNdotL, safeNdotV); // 轻量 Visibility term return D * Vis * sheenColor; }法一在原有光照模型基础上去叠加一个Sheencolor UniversalFragmentPBR(inputData, surfaceData); #if defined(_FABRIC) { half3 sheenColor _SheenColor.rgb * _SheenIntensity; color.rgb ComputeFabricSheenContribution(inputData, sheenColor, _SheenRoughness); } #endif金属度粗糙度的pbr效果还在但是只是在原有基础上去叠加了 还会有高光和明显的明暗交界线会破坏原有的能量守恒法二替换原BRDF项#if defined(_FABRIC_REPLACE_BRDF) { half3 sheenColor _SheenColor.rgb * _SheenIntensity; half3 fabricRGB ComputeFabricBRDFLighting(surfaceData, inputData, sheenColor, _SheenRoughness); color half4(fabricRGB, surfaceData.alpha); }边缘可能差不多但是灰部有了更多的布料细节能量守恒二、天鹅绒纹理表现单纯调布料效果还不能调出天鹅绒的效果需要靠纹理来加强表现纤维感随机感虽然布料纤维大多倾向于垂直于表面排列用手指拨布料可以让纤维朝某个方向排列。几个尝试用Substance Designer绘制了一张总的趋势是模拟了毛流的随机方向感放大后也有单根纤维的纹理前面的示例图用的就是这个法线出于天鹅绒纤维表面的随机性还试了一个看起来天鹅绒感很重的图找素材时突然发现以闪亮之名里面有丝绒裙子红丝绒我认为这个纹理是雾面、绒面感最强的
延伸阅读

更多相关文章

2026/11/14 13:21:34

钉钉待办API迁移实战:从旧版接口升级到新版待办任务接口

1. 项目缘起:从“旧”到“新”的待办接口迁移之痛最近在重构一个内部任务协同系统,核心功能之一就是自动将系统内的任务同步到钉钉待办,方便团队成员在钉钉里统一查看和处理。这个功能原本跑得好好的,用的是钉钉开放平台提供的“创…

2026/11/15 1:02:54

特种工培训可以管几年 上岗必备怎么考

特种工培训可以管几年 上岗必备怎么考 怕考不过白交培训费?特种工培训不是“一锤子买卖”,它的有效期和复审周期直接关系到你能不能长期持证上岗、稳定就业。特别是对濮阳应届工程类毕业生来说,特种作业操作证不仅是 上岗必备…

2026/11/15 1:02:54

乡镇免费培训电工证怎么报名 外省证能转过来吗

乡镇免费培训电工证怎么报名 外省证能转过来吗 之前考的证在外省能不能转过来,这是很多在乡镇工作的电工最关心的问题,尤其是那些在外地打工、后来回到老家乡镇发展的朋友。今天我们就来聊聊乡镇免费培训电工证怎么报名,以及你手里的证是否能在本地顺利使…

2026/11/15 1:02:54

考低压电工证什么条件证全国通用吗

低压电工证怎么考?2026河南最新政策你必须知道 证书过期了不知道怎么复审延期?别急,2026河南最新政策已经出炉,你还在用旧方法处理特种作业证?低压电工证作为特种作业中最常见的一种,涉及范围广,使用频率高,不管是建筑、电力还是制造业,都需…

2026/11/15 1:02:53

山东电工证可以补贴吗怎么考官方报名入口全攻略

山东电工证可以补贴吗怎么考官方报名入口全攻略 实操考试心里没底怕挂科?你不是一个人,很多电工朋友都有这样的担忧。尤其是在山东地区,电工证不仅关系到能否上岗,还能享受一定的补贴政策。但很多人不知道【山东电工证可以补贴吗】,也不知道在哪里报名,…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/13 22:32:11

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/13 12:14:39

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑