问题: 倾斜mesh模型顶层由于是由底层瓦片合并而来,所以瓦片其实有很多缝隙, 传统的折边简化算法直接处理,并且造成这些缝隙扩大, 且简化有极限,基本不超过20倍, 另外折边算法用于封闭三角网效果较好, 用于倾斜这种非封闭三角网,受限于算法的半边结构无法对边界折边.
mesh本身的缝隙
由底层瓦片合成的瓦片线缝隙
如果直接使用折边简化算法(meshlab菜单 Filters->remeshing,simplification,reconstruction->Surface Simplification Using Quadric Error metrics)
其效果如下:
解决方案: 本次研究使用 思路是用重建思路去掉缝隙, 然后使用折边简化
期间碰到两个问题:
1:重建算法一般基于点云, 所以对于mesh模型要么转点云, 要么将重建三角网和以后三角网纹理融合(本次尝试后选的第二种方案)
2:重建后边界会扩大,需要裁剪(其实不需要裁剪,这是重建为了接边考虑的, 如果不考虑可以在重建的时候设置scale factor参数为1)
具体解决步骤:
1: 重建mesh: meshlab加载obj, 图层上选择需要重建的图层, 菜单依次点击: Filters->remeshing,simplification,reconstruction->surfae reconstruction screen poisson; 勾上pre-clean, 否则无法成功,完成处理效果如下:
2: 重建后mesh颜色设置: 菜单选择: Filters->Texture-> transfer-> Texture 2 vertex color,设置将原有mesh模型的纹理映射到重建纹理之上,配置如下:(obj是原始倾斜瓦片obj模型, Poisson mesh是重建后的白膜)
成功后如下图:
3: 使用简化: Filters->remeshing,simplification,reconstruction->Surface Simplification Using Quadric Error metrics: 参数设置10倍简化:最终效果如图:(白边还要根据原有mesh范围删除掉)
总结: 本次研究实验最终将效果:
上面所有白色截图 边界问题只需要重建得时候设置Scale factor 为1 即可, 默认为1.1.