Processing Pointclouds In Blender

blender

Pointclouds are the native output of various 3D capture devices including LIDAR scanners, and structured light depth cameras. I have a need to process an animation of pointclouds, eventually getting them into Unreal Engine.

File Formats

There are a ton of different file formats for pointclouds. It looks like Leica has some particular to their LIDAR scanner, there's Realflow format, and others. My cloud is in PTS format.

Plugins

With Blender it's generally plugins to the rescue! As so often happens, if I have a need, someone else probably had a need and tackled it with a Blender addon.

Point Cloud Visualizer

This looks like a very powerful plugin, I noticed that it support a point cloud sequence which might do the trick for me. The Github is here, a Blender Artist description page is also available.

Importing a series of OBJ

One workflow I want to explore is to make a stop in Meshlab. So import the PTS into Meshlab, process it (smoothing, eliminating points etc.) and then go to Blender. It looks like one way to do this ends up with a bunch of separate OBJ files. The OBJ stop motion plugin solves this problem. Here's a Youtube video on how to get mesh animations into Unreal Engine. It sure would be nice if Alembic was working between Blender and Unreal Engine, but there is a consistent crash in Unreal anytime I try and import Blender's ABC file.

UE4 Point cloud

I also had a look at directly importing the point cloud into Unreal Engine. There is a marketplace plugin that does this, but I wasn't able to see a quick way to import a series of point clouds. Probably this plugin is meant to just deal with static LIDAR scans.

References

Photogrammetry pointcloud capture workflow

Agisoft Metashape

Brekel Point Cloud v2

VisualFSM (structure from motion)