本文最后更新于7 天前,其中的信息可能已经过时,如有错误请留言
各向异性
(51 封私信 / 81 条消息) 虚幻4渲染编程(材质编辑器篇)【第六卷:各向异性材质&玻璃材质】 – 知乎
- 普通高光用 N 和 H 算,得到圆形亮斑;各向异性高光用 T 和 H 算,得到沿纤维方向拉开的亮带,这就是丝袜、头发、丝绸这类材质看起来更真实的关键。
- H是半角向量
- 各向异性就是材质的反光有方向性;丝袜因为有细密纤维,所以高光应该沿纤维方向被拉长,而不是像塑料一样出现普通圆形亮斑。
丝袜表面极细纤维层
(51 封私信 / 81 条消息) 虚幻5渲染编程(材质篇)[第二卷: Shell Fur Cloth Material] – 知乎
Shell Fur的原理:就是把模型重多层,然后每一层贴图收缩一点,这样就产生了立体感。

如果真的把模型拖多套到场景里是十分不科学的,会产生大量的冗余数据,我们真正的需求是画多次模型而已,所以我们只需要添加多个MeshDrawCommand即可。
Microfacet Sheen BRDF
(51 封私信 / 81 条消息) 虚幻5渲染编程(材质篇)[第三卷: Microfacet Sheen BRDF in UnrealEngine] – 知乎
Sheen 是布料、绒面、纤维材质常用的边缘柔光/纤维反射模型,对“高级丝袜材质”很有参考价值。
其实就是修改了个D项
Translucent Specular Shading
很多游戏半透明物体质感表现不好。这个对应丝袜的 透明 + 高光 + 反射 问题
一、核心问题:现实光学 vs 传统光栅渲染逻辑脱节
- 真实物理光路:透明物体受光照后分为三类光线:表面直接镜面 / 漫反射光、光线穿入物体后的内部反射光(易形成焦散 Caustic、折射)、背面环境透射光;内部多次反射会让局部亮度更高,透射还会在地面形成光斑。
- 传统光栅半透明渲染缺陷:先渲染背景、再渲染半透物体,依靠固定透明度混合叠加画面。该混合逻辑不符合真实光线传播,直接光镜面高光、环境反射高光会被透明混合稀释,半透明材质高光发灰、质感虚假,是游戏半透明材质普遍通病。
文章聚焦表面直接镜面高光优化(折射、透射在往期内容讲解):
- 传统做法弊端:固定透明度
Output.a=固定值,高光区域被透明混合压低亮度,丢失镜面反射能量。 - 改进公式:透明度绑定高光面积 GGX,
Output.a = saturate(固定透明度+GGXArea);或把高光、环境反射从整体透明度拆分,拆分成多 Pass 采用不同混合模式渲染,让表面直接反射高光不再受背景透明混合干扰。 - 透明度设计:整体不透明度
Opacity = SpecularArea + EnvRefkectionAra,用高光面积、环境反射面积补偿被透明混合损耗的反射能量,不用场景抓取、Cubemap 缓存场景数据,仅靠材质节点实现优化。
这篇标题就包含“丝绸、纱”,和丝袜的纤维布料质感很接近。摘要里也提到做 shading 最重要的是能自己对光照模型做数学建模
(51 封私信 / 81 条消息) 虚幻4渲染编程(材质编辑器篇)【第五卷:布料,丝绸纱皮革棉】 – 知乎
我觉得你老师推荐他,应该不是让你直接找“丝袜 Shader 成品”,而是让你学他的材质拆解方式。对你现在最有用的是这条学习线:
布料/丝绸/纱
→ 各向异性材质
→ 半透明高光 Translucent Specular
→ SSS / 厚度 / Ramp 控制透肉感
→ Sheen BRDF 做纤维边缘光
也就是说,你的丝袜 Shader 不应该只做:
Alpha 透明 + 一张网纹贴图
而应该拆成:
厚度透明
+ Fresnel 边缘增厚
+ 纤维 Detail Normal
+ 各向异性高光
+ 半透明 Specular
+ Ramp 控制透肉/厚薄
+ 可选 Sheen
Fresnel
用它来给模型描边,以后会经常经常用到








