particular 0.3.4 copy "particular: ^0.3.4" to clipboard
particular: ^0.3.4 copied to clipboard

The Particular is a high performance particle effects flutter widget.

Particular Logo

Enhance your app or game visuals with this high-performance Flutter Particles System widget. Utilize JSON or programmatic configuration, seamlessly integrating with popular particles editors for effortless customization.

  • Customizable (live) Particle Effects.
  • Ready Presets (JSON Configs).
  • Seamless Integration with Editors.
  • Optimized Performance with 1~10k particle at frame

    Whether you're a designer or developer, Particular empowers you to bring your creative visions with ease.


    - Some Presets: #

    Meteor Galaxy Snow Meteor


    - Installation #

    Add particular to your pubspec.yaml file:
    For detailed installation instructions, refer to the installation guide on pub.dev.


    - Configurate your particles #

    You have two options for configuring your particles:

    1. Using Editors:

    Generate your particles system configurations by Particular Editor.


    1. Programmatic Configuration:
      Manually configure your particle controller in code. Refer to the following steps for more details.

    - Getting Started with Coding #

    Follow these steps to integrate the particles system into your Flutter app:

    I. Insert Particle Files into Your Project:
    The Particular Editor exports one or multiple particle layers. For each particle layer, it generates a configuration file (configs.json) and a related image file (texture.png). In the configuration file, there is a node named textureFileName, which refers to the image file. Place the image and configs.json file in your project's assets folder, and add the necessary assets entry in your pubspec.yaml file.

    assets:
      - assets/configs.json
      - assets/texture.png
    
    copied to clipboard

    https://docs.flutter.dev/ui/assets/assets-and-images


    II. Initialize the Particles Controller in `initState`:

    To use this library, import package:particular/particular.dart.

    final _particleController = ParticularController();
    ...
    @override
    void initState() {
      _loadParticleAssets();
      super.initState();
    }
    
    // Load configs and texture of particle
    Future<void> _loadParticleAssets() async {
    
      // Load particle configs file
      String json = await rootBundle.loadString("assets/configs.json");
      final configsData = jsonDecode(json);
    
      // Load particle texture file
      ByteData  bytes = await rootBundle.load("assets/${configsData["textureFileName"]}");
      ui.Image texture = await loadUIImage(bytes.buffer.asUint8List());
    
      // Add particles layer
      _particleController.addLayer(
        texture: frameInfo.image, // Remove in default-texture case
        configsData: configsData, // Remove in programmatic configuration case
      );
    }
    
    copied to clipboard

    III. Add the Particular widget in your widget three:

    @override
    Widget build(BuildContext context) {
      return MaterialApp(
        home: Scaffold(
          backgroundColor: Colors.black,
          body: Particular(
            controller: _particleController,
          ),
        ),
      );
    }
    
    copied to clipboard

    IIII. Live Update Particle Layer:

    _particleController.layers.first.update(
        maxParticles: 100,
        lifespan:1.2,
        speed:100,
        angle:30,
    );
    
    copied to clipboard

    You can also use different image types supported by Flutter, with varying names and locations, following the guidelines below:

    {
      "textureFileName": "images/particle_snow.webp"
    }
    
    copied to clipboard
    assets:
      - assets/data/particle_snow.json
      - assets/images/particle_snow.webp
    
    copied to clipboard
    ...
    
    // Load particle configs file
    String json = await rootBundle.loadString("assets/data/particle_snow.json");
    
    ...
    
    copied to clipboard

    This revised README provides clear installation instructions, options for configuring particles, and steps for integrating and customizing the particle system in your Flutter app. If you have any questions or need further assistance, don't hesitate to ask!

  • 35
    likes
    160
    points
    88
    downloads
    screenshot

    Publisher

    unverified uploader

    Weekly Downloads

    2024.09.13 - 2025.03.28

    The Particular is a high performance particle effects flutter widget.

    Homepage
    Repository (GitHub)
    View/report issues

    Topics

    #particle #particles #visualization #game #effects

    Documentation

    Documentation
    API reference

    License

    MIT (license)

    Dependencies

    flutter, image

    More

    Packages that depend on particular