重建模型导入unity的问题及解决记录

重建流程

环境:Ubuntu18.04 + COLMAP + openMVS + MeshLab

官方文档放在前面:COLMAP
应项目要求需要重建大场景,orb-slam2重建效果堪忧,试用COLMAP效果好一点,使用meshlab能够查看重建出的点云模型,但需要导入到Unity中进行下一步的工作。COLMAP得到的模型没有纹理贴图,为导出带有纹理贴图的obj文件在Unity中使用,做出以下尝试:

  • 在meshlab中参数化并导出纹理贴图(纹理错误

    纹理是歪的不要这样做只是记录一下
  1. Filters->Texture->Parametrization:Voronoi Atlas
  2. Filters->Texture->Transfer Vertex Attributes to Texture(between 2 meshes)
  3. File->Export Mesh As 然后选obj,把对应的png贴图选上,导出。
  4. 把.obj,.mtl,.png三个文件复制到Unity项目的文件夹里,新建一个材质球把贴图贴上即可。
  • 使用openMVS进行mesh的贴图

colmap+openmvs进行三维重建
这个兄弟说的很清楚,但是我遇到了问题,具体表现在:txt文件是空的(从稀疏的txt里面复制),无法导出mvs文件(重新编译一下最新的openMVS),使用openMVS时error:Invalid project(不明白,应该是前两步的错误结果导致),使用openMVS时出现段错误(重新编译openMVS) and so on…
具体的有空再展开,总之解决还是靠issues。

问题解决

在GitHub openMVS issues中会发现其实遇到的问题都有人遇到过- -
只不过是英语苦手一直逃避一直百度一直菜
我参考的大概就是这几个issues,能用,先存,有空再整理
https://github.com/colmap/colmap/issues/557
https://github.com/cdcseacave/openMVS/issues/360
https://github.com/cdcseacave/openMVS/issues/360#issuecomment-463257412

中心思想就是 camera.txt中应为PINHOLE

注意事项

  • 30多张图需要不到半小时,但效果差一些
  • 90多张图要跑三个小时差不多,obj模型要导入Unity也要好久,规划好时间

你可能感兴趣的:(三维重建)