引言: BlockBlender是一款Blender插件,用于将3D模型转换为离散的3D体素。这里记录一下,其最基本的使用操作。
基础操作
- 模型导入,这里就以Blender自带的猴头为例。
- 选中需要体素化的模型,然后点击插件面板处的
Turn Selected Into Blocks
按键,既可看见模型已经变为体素显示。
- 在该模型的修改器面板下,可见该插件的相关参数,这里重点看
Block Size
参数,该参数即为模型体素化时每个体素的尺寸大小。通过修改该数值,能够观察到模型上体素数量和大小的变化。 - 关于转换为网格功能的作用的说明
下图是转换为网格前后,模型在编辑模式下的显示结果。可见,转换为网格前,模型在编辑状态下的网格仍是原来的形状和网格节点;转换后,网格节点就变换我们得到的体素的网格节点。
从实际效果看,该功能的作用等同于应用修改器,因为点击该面板后,修改器列表中的BlockBlender面板就没了。或换一种操作,从修改器面板中将BlockBlender修改器应用以后,会发现和转换为网格功能的效果相同。
注意: 进行操作之前,确定模型处于被选中状态,不然会报错。
补充一个技巧:转换为网格以后,如果想要将这些体素分离成独立的元素,仅需在编辑模式下,网格–>分离–>按松散块,即可将这些体素变成独立的个体。但此时每个体素的坐标原点相同,均为原来的坐标原点,如果想要使得每个体素的坐标原点都在自己的体积中心上,需要在物体模式下,物体–>设置原点–>(原点–>几何中心)。
导出为点云ply文件
BlockBlende插件的基础操作到上面就结束了,下面是导出ply文件的操作(个人有这样操作的实际需求)。
- 导出为ply格式的文件。
- 在导出选项面板中,可选择数据格式为
ASCII
便于查看数据,如果不勾选,则导出的数据为二进制格式。
如果只是为了获得纯粹的点云数据(例如:我就只想获得点云的位置),可以在导出面板中,将几何数据
和顶点色
相关选项全部取消勾选。但是可以看到,即便取消勾选后,导出的ply文件中还是有模型几何面信息的导出。文件头部中的element face 1548
表示导出的文件中有1548个面的数据,在处理时需要将这里的数字改为0,并考虑将后面的数据文件中对应的面数据删除。
- 可视化导出的点云(体素尺寸为1m)。