Point Clouds and Blender
Last updated
Was this helpful?
Last updated
Was this helpful?
Points are treated as the vertices of a mesh, this allows them to be manipulated point clouds as if they were any other object inside Blender - conversely, this means that they cannot be rendered properly without some physicality first.
This page is not a guide for Blender, instead it introduces a base workflow for working with Point Clouds in Blender.
It is recommended to process all of your point clouds in a dedicated point cloud processing software like CloudCompare first.
Point clouds are to be in a .ply format. The .ply file format is a standard static 3d data - i.e. static textured objects. Point clouds are represented as geometric vertex data, with vertex attributes that represents the scalar field attributes.
Drag and drop or import via the File menu.
Use Edit Mode to edit point cloud objects as mesh vertices. Note that you have to be in vertex/point selection mode to interact with the data.
By default, selection in Blender only works for non-occluded objects, so to select-through, x-ray view must be toggled on.
As point clouds are the same as mesh vertices in Blender, they can be given physicality via geometry instancing using particle systems or Geometry Nodes.
When instancing on vertices, these objects need a material to be re-applied.
Below is an example of the Shader setup and updated basic Geometry Nodes setup for rendering basic point colour.
As the scalar field attributes of the point cloud are stored as vertex attributes, the shader uses an attribute node to pull out these properties. Note that the names are case sensitive.
Re-assign with Set Material, use the drop-down list to find your material.
Use the spreadsheet view to view these attributes numerically:
In the Shader, access other attributes the same way as colour, by specifying the corresponding attribute name.
Geometry Nodes
Change the rendering engine to Cycles, and enable GPU if possible.
The scene can be set up as in a standard scene; camera, lights, other VFX; and render.
This is an example of a Geometry Nodes setup to draw basic spheres at each vertex location using the node. For all intents and purposes, these are mesh spheres, but technically this is an optimised point renderer.
Note that this setup only works for Blender's Cycles render engine; for EEVEE, you can instance geometry on the points using a workflow.
In Geometry Nodes, attributes can be accessed via the node; pick from the drop-down or enter the field manually (case-sensitive).