核心问题
为什么现代游戏画面看起来越来越"真实"?为什么不同光照环境下,同一把枪看起来都像是用同一种金属做的?答案就是 PBR——基于物理的渲染。
传统经验光照模型(如 Phong/Blinn-Phong)靠美术调参凑效果,换个光照环境就穿帮。PBR 的目标是:
用物理规律(能量守恒、菲涅尔效应、微表面理论)描述光与材质的交互,让材质在任何光照下都表现一致、可信,参数也符合物理直觉(金属度、粗糙度)。
2026/7/26大约 10 分钟
核心问题
为什么现代游戏画面看起来越来越"真实"?为什么不同光照环境下,同一把枪看起来都像是用同一种金属做的?答案就是 PBR——基于物理的渲染。
传统经验光照模型(如 Phong/Blinn-Phong)靠美术调参凑效果,换个光照环境就穿帮。PBR 的目标是:
用物理规律(能量守恒、菲涅尔效应、微表面理论)描述光与材质的交互,让材质在任何光照下都表现一致、可信,参数也符合物理直觉(金属度、粗糙度)。
对FlowMap的原理进行解释,并在Unity Shader中做简单实现
FlowMap的关键并不在于使用两个相隔半个周期的采样。FlowMap可以使用任意多次且不低于一次的采样,其关键在于如何构造这些采样结果的权重,使得每个采样在跳变时权重为0。
其实一次采样也行,保证新旧周期切换时uv连续即可。
想要让图形在视觉上发生运动,不外乎两种情况:改变顶点位置和改变顶点颜色。让模型(普通mesh或蒙皮mesh)发生运动就属于前者,而神奇的FlowMap就属于后者。
下面是Unity生成的线性空间和Gamma空间的颜色强度图像,可以看到线性空间下能表征暗部(视觉意义上的暗部)的数值区域十分有限,而Gamma空间下明暗很均匀。
首先要明确两者所描述物理量的不同:
本来想用猛兽派对的尼莫模型尝试一下毛发渲染。但截帧拿到模型csv后,在用现成工具转fbx这一步总是出现各种问题【比如某个通道的数据读不出来balabala..】,遂决定自己写一个csv转fbx的工具。
比较好用的一个转换工具是CsvConverter