link:
短小精悍的文章,拥有真材实料:数据
总体说来是介绍lod mesh pipeline的一个文章。
自动化的从高模产生低摸的pipeline,这个部分对于开发效率可以说是过于重要。
bungie高模到底模不是用的geometry数据来直接合并附近的点的方式。
而是采用voxel的方式。
- 把一个模型从6各方向拍depth,
- 用类似visual hull的方法产生3d空间grid的一个描述,类似做3d 扫描
- down sample
- 使用iso surface算法construct triangle
- 用progressive mesh产生低模。
这个办法的好处就是根据能看到的东西来产生低模,而不是实际的模型,但是我想童鞋,这个是不是有点太费事了?
然后比较担心的是骨骼信息,是用对应区域的方式mapping过去(真的靠谱么,虽然halo做出来了,跑得还挺好)
- 使用单骨骼的animation,选weight最大的
一些植被等东西直接用了card imposter。
其余的就是simple material,这个没问题。
数据
- Performance:Dynamic objects 5~10% cost, environment objects 1~2% cost
- Storagecost: Dynamic objects ~12% cost, environment objects 20% cost
- 取%12的全模型的顶点量比较合适
- 30倍bounding box radius的fading distance比较合适
后面还发邮件问了下作者两个问题:
- 文中的imposter就是指低模,card imposter才是指复杂模型render到billboard上
- lod切换使用alpha blend的方式,尽管这个看起来很费,但是距离适当的话,可以在performance和quality上取得一个平衡。