A powerful, industry-level Flutter plugin for rendering 3D models using Babylon.js. Designed for ease of use, extensibility, and seamless integration into any architecture.
| Main View | Scene Hierarchy | Texture Management |
|---|---|---|
![]() |
![]() |
![]() |
| Lighting Controls | Bounding Boxes | Visibility & Mesh List |
|---|---|---|
![]() |
![]() |
![]() |
- 🚀 Architecture Agnostic: Uses a Controller pattern, compatible with Riverpod, Bloc, Provider, GetX, or plain
setState. - 📦 Versatile Loading: Load models from Assets, Network, or local Files.
- 🎮 Advanced Controls:
- Auto-rotation with custom speed and direction.
- Automatic stop timer for rotation.
- Zoom limits (min/max) and toggles.
- Position locking (enable/disable panning).
- 🎬 Animation Control:
- Play, pause, stop, and resume skeletal animations.
- Real-time speed and loop configuration.
- Support for multiple simultaneous animations.
- Managed Screenshots: Capture and automatically save screenshots to a specified path.
- 🎨 Scene Inspection:
- Inspector Hierarchy: Full scene graph (Meshes, Cameras, Lights) and Materials view.
- Metadata Extraction: Fetch raw GLTF extras and Babylon metadata.
- 3D Bounding Boxes: Customizable wireframe boxes and spheres for selection feedback.
- Visibility Handling: Per-part visibility controls and batch actions.
- 🎨 Customizable UI: Provide your own loading and error widgets.
dependencies:
power3d: ^2.0.0Power3D supports Android, iOS, Web, Windows, macOS, and Linux.
| Platform | Setup Requirement |
|---|---|
| Android | Internet & Cleartext permissions |
| iOS / macOS | App Sandbox Entitlements |
| Windows | WebView2 Runtime |
| Web | No special config (CORS handled) |
| Linux | WebKit2GTK installation |
See the full Platform Setup Guide for detailed instructions.
import 'package:power3d/power3d.dart';
// 1. Create a controller
final controller = Power3DController();
// 2. Add the widget
Power3D.fromAsset(
'assets/my_model.glb',
controller: controller,
);
// 3. Control the view
void rotate() {
controller.updateRotation(
enabled: true,
speed: 1.5,
stopAfter: Duration(seconds: 5),
);
}Find detailed guides and API references in the doc folder:
- Installation & Setup: Android/iOS permissions and basic configuration.
- First Model: A step-by-step guide to rendering your first 3D scene.
- Loading Models: Details on loading from Assets, Network, and Local Files.
- Camera & Rotation: Auto-rotation, zoom limits, and position locking.
- Animations: Playing, pausing, and controlling skeletal animations.
- Light & Atmosphere: Configuring hemispheric, directional, and point lights.
- Environment & Background: Customizing the scene environment.
- Object Selection: Basic part identification and selection.
- Advanced Selection: Hierarchy, visibility, and bounding boxes.
- Materials & Shading: Overriding materials and applying shading modes.
- Object Parts: Detailed guide on working with GLTF nodes.
- API Reference: Full controller and model documentation.
- Optimization Guide: Tips for high-performance rendering.
- Babylon.js Version Info: Understanding the underlying 3D engine.
Check the example folder for a complete demonstration of all features.





