UnityPBR介绍及经验分享.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Unity PBR介绍及经验分享 Outline PBR使用背景知识介绍 Standard Shader代码分析 使用经验及优化分享 Background 讨论的实质上是Physically Based Shading 核心:材质在真实物理环境下的反应 不考虑GI/AO/Light/Sun等 Background-Concepts 漫反射(Diffusion) 反射(Reflection) 金属(导电材料) 非金属(绝缘体) 能量守恒 材质不会比入射光更亮 菲涅尔(Fresnel) Background 常见误区 用了PBR我们的画面就会变强 PBR只能用于真实感游戏 PBR非常消耗性能 转PBR是很简单的一个事情 技术只要提供一个Shader就行了 第三方软件里的就是最终效果 Background-Advantages 优势 表达能力强,避免Shader爆炸 + 合并DC 能量守恒,在不同条件下都正确 项目内不同场景环境下复用,甚至项目间复用资源 Background-Advantages 优势 IBL提供间接光照,最大限度模拟真实环境下光照条件 让美术更容易制作金属感 美术的职责划分 感性=理性 只需要确保正确,不再需要对好看负责 制作流程进一步拆分,建模/贴图/灯光职责清晰,风格统一 Background-PBR vs. Non-PBR Background-References Basic Theory of Physically-based rendering Physically Based Shading in Unity SIGGRAPH 2010 Course: Physically-Based Shading Models in Film and Game Production Sébastien Lagarde PBR 除了工作流,还有什么优势? How to Make Photorealistic PBR Materials Standard Shader /get-unity/download/archive builtin_shaders-5.5.0f3 Standard Shader-Files DefaultResourcesExtra/Standard.shader CGIncludes/UnityStandardCore*.cginc Forward管线Standard Simple为例 禁用_PARALLAXMAP/DIRLIGHTMAP_COMBINED/DIRLIGHTMAP_SEPARATE Standard Shader shader_feature切换功能 ForwardBase Pass 平行光/自发光/lightmap/… ForwardAdd Pass 额外光源 一次一个 Standard Shader StandardShaderGUI.cs 根据UI切换参数 Standard Shader-Vert 77-79 初始化 81-85 世界空间/裁剪空间坐标 88-92 世界空间法线/视线 94-100 切空间 109-112 PBR预计算项 Vert输出值将插值后传入Frag 常见Shader优化技巧 Standard Shader-Frag MainLightSimple 获取主光源颜色/方向 ndotl 法向量和光源方向点积 SHADOW_ATTENUATION 接受阴影 Occlusion OCC贴图 FragmentGI 全局光照 UNITY_APPLY_FOG 硬件雾 Standard Shader-UNITY_SETUP_BRDF_INPUT Metallic工作流 输入:金属度+光滑度 specColor=lerp(DielectricSpec, albedo, metallic) diffColor=albedo*lerp(1-DielectricSpec, 0, metallic)) Specular工作流 输入:高光颜色+光滑度 diffColor=albedo*(1-SpecularStrength(specColor)) 能量守恒 金属specColor大,diffColor小 非金属反之 Standard Shader-FragmentGI 250-261 设置变量 光照贴图或环境光 263-274 Reflection Probe GPU Gems 3 Chap.19 IBL Sphere 无穷远 Box 本地校正 UnityGlobalIllumination GI核心函数 Standard Shader-UnityGlobalGI UnityGI_Base ShadeSHPerPixel 即Light Probe Lightmap

文档评论(0)

benzei244572 + 关注
实名认证
内容提供者

建筑工程师持证人

没啥好说的额

领域认证该用户于2024年10月16日上传了建筑工程师

1亿VIP精品文档

相关文档