[sig13]Lighting technology of "The Last Of Us"
最后更新于:2022-04-01 11:27:04
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-28_57215544b42b3.jpg "")
siggraph13上面的文章,相关技术还是用在ps3上。
《The Last Of Us》实实在在代表ps3的图像最高水平:
**LightMap**
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-28_57215544de376.jpg "")
使用的是light map,技术从quake1时代就一直在用,到现在依旧是很有生命力,对于静态场景静态光照的确是更优的选择。
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-28_5721554560941.jpg "")
分成ambient component和directional component两个部分:和之前valve的做法很像了,然后把相关的光照信息使用spherial harmonic系数存下来。
**directional ambient shadow**
paper中给的图不是特别好,看这个吧:
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-28_572155458bf62.jpg "")
不同于传统ambient occlusion这个是对于ambient lighting中有方向的部分
实际生活中ambient lighting也不是各个方向一样的,图中就是右上角照过来的ambient lighting要强一些,人在右上角方向才应该产生比较多的ambient shadow,而如果是在右下角就应该少。
传统ambient shadow会是根据物体表面normal来计算occlusion(或者说是shadow),没有考虑ambient lighting本身的方向。
这里naughty dog的做法是:
![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-28_57215545b5560.jpg "")
- 先是根据light map中有方向的部分去渲染屏幕空间中,ambient lighting的主要的方向
- 然后使用这个方向去和人物做line check
- 这个检测是在spu上做的
- 人物也是使用了胶囊体来模拟来简化计算
- 最后产生一个屏幕空间的ambient shadow
**接缝处理**
也谈到了light map典型的一些问题,比如接缝处理等等。
这些在地形渲染上也会有,做一个焊接的操作