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

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

Power3D #

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.

📸 Showcase #

Main View Scene Hierarchy Texture Management
Main View Hierarchy Textures
Lighting Controls Bounding Boxes Visibility & Mesh List
Lighting Bounding Box Visibility

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.0.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 #

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

🎮 Controls & Interaction #

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

🎨 Advanced Scene Manipulation #

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

🛠 Technical Reference #

  • API Reference: Full controller and model documentation.
  • Optimization Guide: Tips for high-performance rendering.
  • Babylon.js Version Info: Understanding the underlying 3D engine.

Example #

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

2
likes
0
points
382
downloads

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

License

unknown (license)

Dependencies

cupertino_icons, flutter, flutter_inappwebview, meta, path, path_provider

More

Packages that depend on power3d