【Unity Shaders】Lighting Models —— 光照模型之Lit Sphere

本文档详细介绍了如何在Unity中创建一个不依赖于场景光照的自定义Shader,实现Sphere map纹理照明效果。通过定义Properties,声明Surface Shader函数、顶点函数和光照模型,最终达到用贴图独立照亮模型的目标。文章还解释了切线空间旋转矩阵、逆转置模型视图矩阵等概念,并提供了完整代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。

这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。

========================================== 分割线 ==========================================



写在前面



照亮的球体(Lit Sphere,翻译过来很怪)类型的光照模型是一种非常有趣的基于图像的光照。实际上,我们可以使用一张2D贴图来完整地烘焙我们的光照。你可以得到Zbrush这个软件实现的相同效果。如果你对Zbrush的MatCaps(Material Captures)很熟悉,那么恭喜你,被照亮的球体是相同的实现原理。我们可以创建一个贴图,然后完全照搬各种烘焙类型,像漫反射,镜面反射,反射以及边缘光照等效果,然后再使用它来创建我们的Shader。这种方法唯一的缺点就是,因为我们将光照完全烘焙到了贴图上,因此无法改变光照,除非你根据你的环境替换另一张贴图,就像我们在反射一章中的简单的Cubemap反射一样。也就是说,这个Shader不会根据你环境中的光照做出任何变化,也不会再你移动你的视角时产生任何改变。下图展示了一个Lit Sphere贴图,它通常被称为一个Sphere Map:


这意味着,这种使
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值