An ongoing Blender add-on by JibuFilm for importing Ouster LiDAR PCAP recordings into Blender as animated point cloud sequences.
This tool is part of an art project exploring LiDAR as a cinematic medium. More at jibujin.com (site under construction)
Point Motion LiDAR Importer enables importing raw Ouster LiDAR recordings into Blender for time-based point cloud visualization. It supports:
- Frame based lidar data animation inside of Blender
- Multi-sensor recordings
- Reflectivity/Near-IR/Range attribute import
- Auto Blender Sequence Configurations for Point-Cloud
- Auto detect Ouster sensor meta-data for Blender Configs
- Free camera navigation, lighting and renderin inside Blender
- Frame-by-frame animated point cloud playback
PCAP + JSON
↓
Ouster SDK decode
↓
Per-frame PLY export
↓
Blender animated point cloud sequence
The add-on decodes PCAP/Osf recordings using the Ouster SDK, exports per-frame PLY files, and loads them as an animated sequence inside Blender.
The add-on is currently stable on the author’s own Blender/Ouster workflow.
At this stage, the project is especially looking for contributors who can help adapt, test, and maintain support for:
Windows Linux Intel macOS Additional Ouster sensor configurations Non-Ouster LiDAR formats, including Velodyne, Livox, Hesai, and others Alternative point cloud input formats and workflows
If you are working with LiDAR, point clouds, digital cinematography, experimental imaging, robotics, or Blender visualization, contributions are welcome.
Testing with Ouster LiDAR sensors Outputs: OS0, OS1, OS2, OSDome.
Decoding is Ouster-specific via the Ouster SDK. Other manufacturers (Velodyne, Livox, Hesai) use different packet formats and require separate SDK integration. Contributions welcome.
- Blender 4.2+
- Ouster SDK 0.16.1
- Matching
.pcapand.jsonfiles — both must share the same filename and be in the same folder
1. Download all required wheels
*reference only
pip download ouster-sdk==0.16.1 rosbags blinker certifi \
charset-normalizer click flask idna ifaddr itsdangerous jinja2 \
laspy lz4 markupsafe more-itertools numpy packaging pillow \
prettytable psutil requests ruamel.yaml threadpoolctl \
typing_extensions urllib3 waitress wcwidth werkzeug zeroconf zstandard \
--dest ./wheels --only-binary=:all: \
--python-version=3.11 --platform=macosx_11_0_arm642. Place all downloaded .whl files inside point_motion_lidar_importer/wheels/
3. Ensure blender_manifest.toml lists all wheel filenames
4. Zip the entire point_motion_lidar_importer/ folder
5. Blender → Edit → Preferences → Get Extensions → Install from Disk → select ZIP → Enable
6. Open the N Panel → LiDAR tab
Import from PCAP:
- LiDAR panel → Import PCAP + JSON
- Select your
.pcapfile — matching.jsonis auto-detected - Frames are decoded and exported to PLY
- Timeline adjusts automatically to match recording length
Load existing PLY sequence:
- Use Load PLY Sequence → select any file in the folder
- Loads without re-decoding
SDK status: The LiDAR panel displays ✓ or ✗ depending on whether ouster-sdk was detected successfully.
Support for Windows, Linux, Intel macOS, and additional LiDAR manufacturers is not yet implemented. Issues and pull requests are welcome.
Sequence loading approach inspired by blender-sequence-loader (MIT License) © InteractiveComputerGraphics
LiDAR decoding powered by Ouster SDK
GNU General Public License v3.0 or later (GPL-3.0-or-later)
You may use, modify, and redistribute this software under the terms of the GPL. Any modified versions must remain GPL-licensed and be distributed with source code.
For the full license text see gnu.org/licenses/gpl-3.0
Part of an ongoing art research project by JibuFilm — jibujin.com