PBR 贴图制作准则

Metal / Roughness Workflow 总结

纯金属 (Metallic > 235)

  • BaseColor上的值是金属的反射值,应当有 70-100%,或者说 180-255 sRGB
  • 如果你得到某个金属素材,发现它的Base Color很黑,它可能是Specular/Glossiness工作流
    hexo

    介电质/绝缘体:

  • BaseColor暗部不应低于30-50 sRGB, 亮部不应高于 240 sRGB

符合PBR规则可以使素材在任何光照条件下都有合理的表现

  • 注意,不等于不符合规则的贴图一定看起来不好(在特定光照下有可能看起也合理)

根据以上原则,制作一个批量排查工具

查看更多

分享

阴影代理 (Shadow Proxy)

CryEngine: Shadow Proxy

分享

植被制作流程 Vegetation and SpeedTree

Cluster流程(Horizon 与 Farcry 的流程)

查看更多

分享

CommandBuffer 描边

参考:
Glow highlighting in Unity
Unity Shader-Command Buffer的使用(景深与描边效果重置版)

查看更多

分享

Fresnel

Fresnel

Example Water Fresnel

查看更多

分享

光照探针(LightProbe) 与 球谐(Spherical Harmonics)

需求:可以手动自定义,并且随Prefab保存的LightProbe

球谐函数 (Spherical Harmonics)

正经定义:
球谐函数是拉普拉斯方程的球坐标系形式解的角度部分

自分白话解释:
球谐函数 - 使用少量系数定义一个球面的整个表面:输入一个方向(球面上一点),输出该方向的颜色

Unity中使用的是二阶球谐函数 SphericalHarmonicsL2,保存为9个系数(27个float),使用时转换为7个Vector4提供给Shader(参考buitin shaders中的ShadeSH9)

Unity的实现参考的是 Stupid Spherical Harmonics (SH) Tricks

官方文档中关于光照探针的技术信息: Light Probes: Technical information

关于SH一篇非常好的文章: Benoît Mayaux (Patapom), Spherical Harmonics

还有企鹅学院的两篇:
(Unity Shader球谐光照解析)[https://gameinstitute.qq.com/community/detail/124147]
(球谐光照(spherical harmonic lighting)解析)[https://gameinstitute.qq.com/community/detail/123183]

自动布置LightProbe

将需要LightProbe的位置赋值给 LightProbeGroup.probePositions

官方例子:Placing probes using scripting

Unity中手动计算SH

SphericalHarmonicsL2提供两个方法

  • 添加环境光(AddAmbientLight)
  • 添加平行光(AddDirectionalLight)

Unity官方文档提供了一个例子:[LightProbes.bakedProbes(Unity文档)]https://docs.unity3d.com/ScriptReference/LightProbes-bakedProbes.html

查看更多

分享

收拾东西翻出一套搁置脑洞 (Animal Boxing)

查看更多

分享

阿西达卡与卡雅

查看更多

分享

练习

查看更多

分享

青海


分享