power3d 2.3.0 copy "power3d: ^2.3.0" to clipboard
power3d: ^2.3.0 copied to clipboard

A powerful, industry-level 3D model viewer for Flutter using Babylon.js. Supports advanced controls, lighting, and object selection.

Power3D #

pub package Language License: MIT

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.

pub.dev | Repository | Documentation | Examples

📸 Showcase #

Core Viewer Advanced Lighting Material Shading
Main View Lighting Engine PBR Overrides
Scene Graph Part Inspector Metadata Systems
Hierarchy Tree Mesh Explorer GLTF Extras
Texture Management Selection System Visibility Controls
Bitmap extraction Mesh highlighting Per-part Toggles
Interactive Points Annotation Data Bounding Boxes
Hotspot Logic Detail Cards Selection Feedback
Skeletal System Alternative Scene
Dynamic Animation Secondary View

Features #

  • 🚀 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.

Quick Start #

1. Add dependency #

dependencies:
  power3d: ^2.3.0

2. Basic Setup #

Power3D 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.

3. Usage #

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),
  );
}

Documentation #

Find detailed guides and API references in the doc folder:

🚀 Getting Started #

🎮 Controls & Interaction #

🎨 Advanced Scene Manipulation #

🛠 Technical Reference #

Example #

Check the example folder for a complete demonstration of all features.

2
likes
160
points
284
downloads
screenshot

Publisher

unverified uploader

Weekly Downloads

A powerful, industry-level 3D model viewer for Flutter using Babylon.js. Supports advanced controls, lighting, and object selection.

Repository (GitHub)
View/report issues

Topics

#three-d #babylonjs #model-viewer #flutter #graphics

Documentation

API reference

License

MIT (license)

Dependencies

archive, cupertino_icons, flutter, flutter_inappwebview, meta, path, path_provider

More

Packages that depend on power3d