MeshLab是一款电脑3D模型处理软件,该工具可以对模型进行从扫描到重建到设计的完整流程,广泛应用于3D打印领域,同时多种辅助工具为你自动修复错误。
软件介绍
MeshLab用于处理和编辑3D三角形网格的开源系统。它提供了一套用于编辑、清理、修复、检查、渲染、纹理和转换网格的工具,还提供了处理由3D数字化工具/设备产生的原始数据以及为3D打印准备模型的功能。
软件特色
1、所有与颜色相关的滤镜都可以正确使用Alpha值。
2、各种帮助/描述文本的改进和拼写错误删除。
3、在SketchFab上直接上传模型。
4、基于2D / 3D对应的3D模型上的光栅配准。
5、在几乎所有过滤器上修复错误。
6、MeshLab用于各种学术和研究环境,如微生物学、文化遗产及表面重建等。
支持格式
输入:PLY、STL、OFF、OBJ、3DS、COLLADA、PTX、V3D、PTS、APTS、XYZ、GTS、TRI、ASC、X3D、X3DV、VRML、ALN
输出:PLY,STL,OFF,OBJ,3DS,COLLADA,VRML,DXF,GTS,U3D,IDTF,X3D
如何全屏
可以看下导航快捷键的功能
1、鼠标左键+拖动:围绕球中心旋转
2、鼠标滚轮:向前或向后移动
3、鼠标按钮+拖动: pan
4、shift+鼠标轮:改变摄像机视野
5、双击特定点:指向轨迹球中心的位置
6、控制+鼠标轮:移动到裁剪计划附近
7、控制+ shift+鼠标滚轮:移动远切平面图
8、alt + enter:进入全屏模式
9、控件+ shift +鼠标左键+拖动:改变方向( this )
只有当有法线时才会生效)
meshlab中的可视化选项
在菜单工具下可以找到外观选项。
可以在菜单视图下找到其他外观和信息选项。
还探索菜单渲染以改变灯光、阴影、渲染模式
和颜色。
使用教程
1.打开 bundle.rd.out 文件 :
a. 点击按钮1,打开由 VisualSFM生成的存储在xx.nvm.cmvs文件夹下的 bundle.rd.out 文件。随后会询问是否选择照片列表文件,选择同文件夹下的 “list.txt”即可。这一步会把相机及对应的照片导入进来,对后续的纹理处理至关重要。
b. 点击按纽2 ,打开显示层目录,检测相机载入是否正确, Render –> Show Camera,因可视化相机的尺寸比网格尺寸大得多,所以需调整相机的缩放因子,scale factor可以从0.001开始调小,直到相机位置清晰可见。
2.稠密点云代替稀疏点云:
a. 点击按钮3,隐藏可视的稀疏点云;
b. File –> Import Mesh加载稠密点云(xx/00/models/option-0000.ply);VisualSFM生成多个.ply文件时,需合并成一个mesh。在载入的任何一个.ply上右键选“Flatter Visible Layers”。
3. 清除杂点:
按钮4选中杂点区,按钮5删除之。
4.网格化:
Filter –> Point Set–> Surface Reconstruction: Poisson.
参数可调, Octree Depth:控制着网格的细节,此值越大细节越丰富但占内存越大运行起来慢,一般设10,可慢慢调大。
利用 Poisson Surface Reconstruction算法由稠密点云生成多边形网格表面。 ,Poisson表面重建算法会生成一个“不漏水”气泡,把所有场景对象包裹在其中。即模型是封闭的。可以移除多余的面Filters –> Selection –> Select faces with edges longer than,而后删除。
5.修复流形边缘:
后续的纹理处理要求网格化的模型必须是流形(MANIFOLD)的,因此需删除非流形边(简单讲就是任何由多面共享的边)。Filters –> Selection –> Select Non-Manifold edges,而后删除之。
6.参数化:
Filter –> Texture –> Parameterization from registered rasters。
根据相机投影关系创建UV映射。
7.纹理投影:
Filter –> Texture –> Project active rasters color to current mesh, filling the texture。
可设置任意分辨率(512的2的二次方倍:512 / 1024 / 2048 / 4096 / 8192…)的纹理图。
6和7可以合为一步: Filter –> Texturing –> Parameterization + texturing from registered rasters.
8.完成导出:
当你调整满意了之后,File –> Save mesh as… a .obj文件。即可便有了一个包含你选定分辨率纹理的obj文件。
如何剪裁模型
发现对有些与坐标平面未对齐的model(如下图)效果不是太好。
因此,需要将其与坐标平面对齐。
用MeshLab打开obj文件。尽量先将模型中心调整到坐标原点,(若不调整可能会导致与坐标平面对齐后模型不知道到了什么地方),如下图,选择Center on Scene BBox,点击Apply。
然后选择下图中的操作,按默认设置,apply,将模型与主轴对齐。(也可以选择Transform Rotate自行调整旋转参数)
保存,重新打开,可以看到模型已经与坐标平面对齐。
处理后的结果如下图。
如何选择删除区域
1、打开meshlab,导入待加工网格,这里以斯坦福兔子为例
2、如图所示,在菜单栏中点击“select vertex clusters”
3、用鼠标点击要删除的网格顶点
4、按住ctrl键,可选中多个顶点。如果没有精确点到顶点位置上,红点会消失,不要紧张,按住ctrl键,继续点击顶点,红点仍会出现。
5、选好所有要操作顶点之后,如图所示,点击菜单栏,“Filters”—“selection”—“delete selected vertices”即可删除指定顶点
6、得到的结果如图
怎么导出dae文件
(1)在Blender中新建场景
(2)在右上侧栏中将自动生成的Cube、Camera等3个物体删掉
(3)导入我们已有的模型文件
(4)调整我们的模型文件的方向、大小
(5)在右上侧栏更改模型文件及子文件的名字为你要导出的dae文件的名字(这一步很重要!)