Point Cloud Visualizer
Display, render and convert to mesh colored point cloud PLY files.
Display colored point cloud PLY in Blender’s 3d viewport. Optionally render point cloud to png sequence or convert to various mesh types with vertex colors for regular rendering.
Works with any PLY file with ‘x, y, z, nx, ny, nz, red, green, blue’ vertex values. Vertex normals and colors are optional. Color values must be in 0-255 range.
- Install and activate addon in a usual way.
- Add any object type to scene.
- Go to 3d View Sidebar (N) >
Point Cloud Visualizerpanel, click file browser icon, select ply file, click
Drawbutton to display point cloud,
Eraseto hide point cloud. Adjust percentage of displayed points with
Displayand point size with
- Display point normals as lines - click
Normalicon, adjust line length with
Lengthnext to it. Pro tip: for large clouds, set Display to some small percentage, adjust Length to appropriate value and then set Display back.
- Transforming parent object transforms point cloud as well.
Illuminationworks only when vertex normals are present
- When vertex colors are missing, cloud will be displayed in uniform gray, in this case you can enable
Illuminationto have better cloud view
- Single point cloud can be rendered on transparent and composed over regular render
- For rendering in regular render engine you can convert cloud to colored mesh
Display- percentage of displayed points
Size- point size in pixels
Normals- display point normals as lines, adjust line length with
Lengthnext to it
Illumination- enable extra illumination, works only when vertex normals can be loaded
Light Direction- light direction
Light Intensity- light intensity
Shadow Intensity- shadow intensity
Point cloud rendering
Currently only sigle point cloud per render/frame is supported. If you need more clouds at once, select another cloud parent and re-render with different suffix in
Render subpanel. Output image is RGBA 8bit PNG - transparent background with colored point cloud, which can be composed over something else later.
- Load and display ply first.
- Make a camera and adjust as needed.
- Set render image size in
Properties > Output > Dimensions. Resolution X, Y and % are used.
- Set render path in
Properties > Output > Output. Just path is used.
- Select cloud parent object, set point size with
Sizeor percentage of rendered points with
Illuminationis enabled it will be rendered as well
Size- point render size in pixels
Count- percentage of rendered points
Suffix- rendered image filename suffix. If filename in
Outputpath is defined result filename will be
NAME_SUFFIX_######.png, if only path is given, result is
Leading Zeros- image filename frame number leading zeros count
Point cloud to mesh conversion:
Convert point cloud to mesh. May result in very large meshes, e.g. 1m point cloud to cubes = 8m poly mesh. Depending on what point cloud data is available and desired mesh type, some options may not be enabled.
Type- Instance mesh type, Vertex, Equilateral Triangle, Tetrahedron, Cube or Ico Sphere
Subset- Use all points or random subset of by given percentage
Size- Mesh instance size, internal instanced mesh has size 1.0 so if you set size to 0.01, resulting instances will have actual size of 0.01 event when cloud is scaled
Align To Normal- Align instance to point normal, e.g. tetrahedron point will align to normal, triangle plane will align to normal etc.
Colors- Assign point color to instance vertex colors, each instance will be colored by point color (except vertices)
Default Color- Default color to be used upon loading PLY to cache when vertex colors are missing
Normal Color- Display color for vertex normals
- 0.8.10 fixes
- 0.8.9 ui tweaks, code cleanup
- 0.8.8 refactored convert to mesh
- 0.8.7 fixed vcols bug in convert
- 0.8.6 ui tweaks, a few minor optimizations
- 0.8.5 convert to mesh all or subset
- 0.8.4 preferences, ui tweaks
- 0.8.3 display normals
- 0.8.2 fixed shader unknown attribute name
- 0.8.1 fixed ply with alpha, fixed convert to mesh when normals or colors are missing
- 0.8.0 convert to mesh
- 0.7.2 ui tweaks
- 0.7.1 viewport performance fixes
- 0.7.0 ascii ply support
- 0.6.6 fixed drawing after undo/redo
- 0.6.5 point cloud illumination
- 0.6.4 refactored draw handlers, fixed occasional crash on erase
- 0.6.3 added percentage of rendered points, fixed render colors to look the same as in viewport
- 0.6.2 fixed point size display in viewport, separated view and render point size
- 0.6.1 single cloud rendering almost completely rewritten to be better and faster
- 0.6.0 single cloud rendering
- 0.5.2 refactored some logic, removed icons from buttons
- 0.5.1 load ply without vertex colors, uniform grey will be used
- 0.5.0 performance improvements using numpy for loading and processing data
- 0.4.6 fixed crash when parent object is deleted while drawing, fixed removal of loaded data when parent is deleted
- 0.4.5 added ‘Display’ percentage, better error handling during .ply loading
- 0.4.0 almost complete rewrite for blender 2.80, performance improvements using shaders, simplified ui
- 0.3.0 new ply loader, can be used with any binary ply file with vertex coordinates and colors
- 0.2.0 display percentage
- 0.1.0 first release
- If you duplicate object with cloud, duplicate will still control the original one until you load a different one. Currently there is no reliable way (as far as i know) to get unique id of an object and therefore no way to tell to which object stored properties (e.g. path to ply) belong.