This project offers a comprehensive template that enables live Blender scene streaming to Three.js via WebSocket. It includes advanced performance optimizations, runtime intelligence for scene diagnostics, and a character wardrobe system, making it ideal for developers looking to create immersive web experiences with real-time 3D graphics.
Blender Three.js WebSocket Sync Protocol (B3)
The B3 project is a sophisticated template designed for rendering 3D scenes in the browser using the powerful combination of Vite, React, and Three.js (WebGPU). It encompasses three main systems that enhance the development experience:
- Blender to Three.js Sync: Leveraging a dedicated Blender add-on, this project streams 3D scenes over a WebSocket connection, allowing real-time rendering within the browser. The workflow includes scene streaming, snapshotting, optimization, and deployment as a self-contained
scene.zip file.
- Three.js Performance Optimization: Implemented through a build-time optimizer, this system utilizes AVIF textures and Draco geometry to refine the output. A local agent bridge is included to measure running scene performance, monitor draw calls, triangle costs, frame budgets, and more, providing insights into GPU memory usage.
- Avatar Wardrobe System: This feature allows for a dynamic character assembly system where body parts, head types, and motion sets can be swapped at runtime, accommodating a range of customization options with adjusted seating offsets for each combination.

Key Features
- Live Development: The template includes a live development page that renders Blender scenes in real time. Changes made in Blender are reflected instantly in the browser.
- Production Viewer: A dedicated deployment page plays back packaged scenes statically, complete with navigation meshes and character rigs.
- Runtime-Intelligence Bridge: Enables real-time queries and modifications to the live scene graph through a local REST and WebSocket service, enhancing debugging capabilities without having to rebuild the application.
- Performance Metrics: Measures various performance metrics in realtime—such as draw calls and frame rates—enabling performance tuning based on actual running conditions rather than estimates.
- GPU Offloading: With a WebGPU renderer, simulation tasks can be offloaded to the GPU, allowing for richer visual effects and smoother interactions.
- Interactive Avatar System: Users can interactively assemble characters at runtime using an easy-to-use UI, fostering engaging experiences through live customization.
Getting Started
To dive deeper into the functionalities of the B3 template and start developing, the repository provides extensive documentation and setup instructions, which cover installation, usage examples, and guidelines for both developers and designers working with Blender and Three.js.
The versatility and advanced features of this framework make it a valuable tool for developers looking to create high-performance 3D applications that seamlessly integrate Blender designs with web technologies.
Comments
0Start the conversation
Share the first comment.