Point Cloud Visualizer

by Jakub Uhlík in Scripts and Addons

Points are not drawn in viewport on macOS in Blender 3.5
  • PCV is not yet Metal ready, switch GPU Backend in Blender Preferences > System to OpenGL, Save Preferences and restart Blender. Metal support will be added as soon as possible.

Platform Compatibility
  • works on Windows, Linux and macOS
  • see Optional Libraries Compatibility for more details on 3rd party libraries

Blender Compatibility
  • PCV 2.0 is for Blender 3.0 and later, Blender 3.3 LTS is recommended
  • If using Blender 3.5 on macOS, switch GPU Backend in Blender Preferences > System to OpenGL, Metal backend is not yet supported, but will be as soon as possible.

About Optional Libraries
  • NONE of them is required for regular use, majority of PCV functionality has no dependencies
  • functionality that depends on any library is marked in PCV panel with plugin icon
  • all of them are installed from The Python Package Index (PyPI) using pip command
  • they are installed to user site-packages directory as defined in site.getusersitepackages(), exact location differs for each platform, if you click Read Me First button in PCV preferences, it will print out path to user site-packages directory

Where are Optional Libraries used?
  • Open3D: filters Voxel Downsample, Estimate Normals, Point Set Registration and Surface Reconstruction
  • laspy: import LAS files
  • laszip: import LAZ files (together with laspy)
  • pye57: import E57 files
  • PyMeshLab: import E57 files and filter Curvature
  • SciPy: filters Poisson Disk Elimination, Remove Duplicates and Voxel Downsample (only if Preserve Scalars option is enabled)

Optional Libraries Compatibility
  • Windows

    • do NOT install Open3D and PyMeshLab together, Blender will crash when one and the other is used (see documentation for possible workaround)
    • do NOT install Open3D and pye57 together, Blender will crash when one and the other is used (see documentation for possible workaround)
  • macOS

    • Open3D, PyMeshLab and laszip are available for macOS 10.15 and later
    • Open3D might require you to install libomp, see documentation for details (might not be required in future if it is a bug and libomp will be included in installation files)
    • on Apple Silicon you need to use Blender Intel build to install and use PyMeshLab
    • pye57 have to be built from source, see step by step guide in PCV full documentation
  • Linux

    • no known limitations/problems

Large Datasets
  • currently, PCV needs to load all points from source file and keep them in system memory
  • during loading, system memory usage will peak quite high, 4 (and more in some cases) times the runtime usage
  • for display, PCV need to upload all points that are going to be displayed (you can control amount with PCV > Display > Percentage slider) to gpu memory
  • to determine approximate maximum number of points your gpu can display at once you can use calculator in PCV preferences (for example 8GB gpu can display ~300M points with default shader and disabled scalars), calculator formula is simple:

    ram = 8192  # MB
    b = (1024*1024) * ram  # bytes
    # default shader uses 3x float32 for point location and 4x float32 for color (rgba)
    # float32 takes 4 bytes, hence 3*4 + 4*4 bytes
    n = int(b / (12 + 16))
    print(n)  # 306783378
  • trying to display more points (i.e. uploading more data than gpu memory can contain) will result in Blender crash or freeze

  • when extremely big data need to be loaded and is not required to work with exactly all points, alternative loading methods Every Nth or Slice can be used to reduce number of points during loading

Where is documentation?

Is there a trial version?
  • no, sorry. it is not possible


How to update to a new PCV version?
  • download latest version point_cloud_visualizer-###.zip
  • start Blender, go to Preferences > Add-ons and find PCV in list
  • expand by clicking left corner triangle
  • disable PCV unchecking checkbox next to addon name
  • click Remove button
  • click Save Preferences button at bottom (skip if you have Auto-Save Preferences enabled)
  • quit Blender
  • start Blender
  • install new PCV version and enable

How to install Optional Libraries?
  • please see compatibility notes for your platform in documentation
  • go to Preferences > Add-ons and find PCV
  • expand to see PCV preferences
  • click Install LIBRARY_NAME button
  • wait until Blender is responsive again (if you start Blender from command line you can observe progress)
  • restart Blender after each installed library

Points looks weird in viewport, they flicker or look "stratified"..
  • points overall dimensions or locations are too big to fit into 32bit float values required for display
  • enable Prevent Floating Point Precision Errors in PCV > Load panel before loading file (or enable and click reload button)
  • points will be scaled and moved to fit in precision range during loading
  • this transformation can be unapplied on file export back to original dimensions and locations

I got "Missing vertex normals" and "Missing vertex colors" warning messages under Shader drop down menu
  • loaded data does not have normals or colors so currently selected shader cannot work properly, missing values are substitued by default normal or colors (exact values are in PCV > Load panel)

Points are missing when blend file is saved and reopened?
  • PCV does not store loaded points in blend file because there is no suitable data type available. only PCV settings and path to data file is stored. when blend file is reopened, points need to loaded or imported from linked file again by clicking Draw (PLY files) or Import (other file types) button.
  • if you are working with multiple PLY clouds at once, you can use PCV 3d viewport panel (viewport header top right corner: cloud icon) to Draw all PCV instances in scene at once
  • any changes to points made with PCV have to be saved using Export panel to PLY before quiting Blender or loading blend file otherwise will be lost

How to render points in Cycles or Eeveee (with colors)?
  • points need to be converted to Blender native data type that can be rendered in engine. meshes, particles, instances, Geometry Nodes instances/points, see PCV > Convert panel
  • Converting points will create suitable color data and adds basic material using it so colors are preserved and available for render engine
  • best option for Cycles (in terms of performance and memory usage) is PCV > Convert > Type: Points From Mesh (Geometry Nodes), Cycles will render result as spheres (radius can be controlled)

Sales 1400+
Customer Ratings 11
Average Rating
Published about 3 years ago
Blender Version 2.81, 2.82, 2.83, 2.9, 2.91, 2.92, 2.93, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5
License GPL
Have questions before purchasing?

Contact the Creator with your questions right now.

Login to Message