基于blender的点云数据渲染

做点云相关的科研论文,需要渲染一些好看的可视化图片,来表现点云数据的一些几何特性。我在之前的论文中,渲染点云可视化图片的流程是,先在VS里用C++把需要渲染的点云颜色信息计算好,然后存储成带有颜色对应关系的ply文件,直接在meshlab里做可视化就可以了。但是,在meshlab里的可视化效果只能说是一般,如果要投图形学Siggraph, TOG和TVCG这样级别的文章,还需要提高图片的渲染质量。经过调研,发现了一个很不错的工作流,今天本文就来分享下这个新的工作流,以及如何利用该工作流渲染点云数据的。

1. Blender插件:Point Cloud Visualizer

项目及链接地址:https://github.com/uhlik/bpy

Point Cloud Visualizer是一个基于python实现的blender插件。其主要功能是提供了一套针对点云ply数据的模型加载,处理以及渲染方法。结合blender内部的渲染工具,能够得到真实度极高的渲染结果。

基于blender的点云数据渲染_第1张图片

安装插件方法:

1)首先在blender Market购买该插件,该插件49美元,请尊重插件设计团队的知识产权,在能力所及的前提下,支持正版,链接:https://www.blendermarket.com/products/pcv

2)blender安装。我选择的blender版本为2.92。点选菜单栏编辑选项->偏好设置->插件->安装,选择插件的zip包,完成安装。

基于blender的点云数据渲染_第2张图片 基于blender的点云数据渲染_第3张图片

3)安装完成后,可以看到出现新的选项,3D View: Point Cloud Visualizer,勾选,完成安装。

基于blender的点云数据渲染_第4张图片

4)检查功能,文件->导入,如果增加了选项 Point Cloud Visualizer,说明安装成功。

基于blender的点云数据渲染_第5张图片 基于blender的点云数据渲染_第6张图片

2. 渲染工作流

1)首先利用导入Point Cloud Visualizer,加载需要渲染的点云ply文件:(这里的点云颜色是我之前利用测地线程序生成的,个人建议根据需要提前计算好)

基于blender的点云数据渲染_第7张图片

2)调整姿态,以得到一个较好的视角,这里我会使用动画选项来进行同步预览:

基于blender的点云数据渲染_第8张图片

调整后:

基于blender的点云数据渲染_第9张图片

3)设置插件参数,在右侧菜单栏,Point CLoud Visualizer里

基于blender的点云数据渲染_第10张图片

4)Convert 立方体,Iso Sphere或者粒子系统

你是不能在点上直接算出真实感较好的光照结果的,因此需要把点转换成可以计算光照的几何体,包括球,立方体,可反射粒子等。这里我选择立方体。请看下图,使用不同光源生成的实时预览图,可以看到阴影的位置变化。注意,这里需要把视图着色方式切换成渲染,才能看到颜色渲染的结果。

基于blender的点云数据渲染_第11张图片 基于blender的点云数据渲染_第12张图片

5)渲染

为了方便看到模型与周围环境的光照混合效果,我添加了一个平面作为地面。

基于blender的点云数据渲染_第13张图片

一些渲染设置可以在右侧菜单栏渲染选项中看到:

基于blender的点云数据渲染_第14张图片

这里的渲染引擎,我选择Cycles.,其他的基本都是默认。然后选择上部菜单栏渲染选项,渲染图像

基于blender的点云数据渲染_第15张图片

得到渲染图像:

另存为png图片,得到高清的渲染结果。可以看到,点云模型与周围环境光照的渲染效果。

3. 总结

该工作流基于blender平台与Point CLoud Visualizer插件,能够实现对点云数据的可视化。通过丰富的参数选择,能够调整点云的材质特性和粒子属性,得到真实感较好的渲染结果。该工作流非常适合期刊论文的图片生成以及点云相关项目的可视化展示。

你可能感兴趣的:(图形学算法,点云,3d渲染)