问题描述:
对于3D游戏,AO作为全局光照的一部分已经成为很多3D引擎的标配,不管是静态还是SSAO。本文描述为在游戏开发后期为了提高整体效果而弥补的静态渲染的AO。
制作流程:
- 按文档划分UV(正常应该按场景的区域还划分?)
- 渲染生成AO贴图
- 运行期使用AO贴图
一些要点:
- 分UV,合并单个文档的Mesh为一个Mesh,然后转换为DX的标准Mesh,然后利用DX自带的UVAtlas来进行UV划分(UVAtlas分的UV并不是很好),UVAtlas中有很多参数需要注意.分好UV的Mesh,根据文档把第二套UV数据插入进去,保存Mesh以及文档.
- 渲染生成AO部分参考这篇文章,对于非封闭的模型,美术又没有补面的,要做一些特殊处理.
- 运行期AO贴图直接影响光照运算或者模拟乘上去(GameBryo的话直接放DarkMap通道来用了)
大专栏 静态渲染之Ambient Occlusionraft-ambient-occlusion">Minecraft Ambient Occlusion
ref:
每天进步一点点.