搜索分类、插件与代码仓

插件详情v0.7.56

ar_flutter_plugin_flutterflow

此插件是原始 AR Flutter 插件的分支,由于原始插件自 2022 年以来未再更新,因此创建了此版本。

AndroidiOS
近 30 天下载
215
喜欢数
35
Pub 分数
110

安装插件

flutter pub add ar_flutter_plugin_flutterflow

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

AR Flutter 插件的维护分支,专为在 Android 和 iOS 上的 Flutter 应用中构建增强现实体验而设计。由于原插件自 2022 年以来缺乏更新,本版本旨在确保持续的兼容性和功能完整性。它使开发者能够集成平面检测和 3D 对象放置等 AR 功能,提升可靠性,并支持现代设备能力。

适合场景

  • 构建AR产品预览
  • 创建交互式AR教育工具
  • 在零售应用中启用虚拟试穿
  • 开发AR游戏和体验

主要特点

  • 积极维护和更新
  • 对 Android 和 iOS 的支持
  • 相较于原始插件,稳定性得到提升
  • 与 FlutterFlow 工作流集成
  • 平面检测和3D渲染

适合对象

  • 需要AR功能的Flutter开发者
  • 使用 FlutterFlow 进行应用开发的团队
  • 需要最新AR支持的项目

使用建议

  • 需要兼容的AR设备
  • 仅限基本的AR功能,不支持高级追踪
  • 复杂场景可能需要额外配置

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

ar_flutter_plugin_flutterflow

status: inactive

⚠️ Package discontinued

This package is discontinued due to the creation of a new plugin which use Sceneview instead of sceneform for the android part.

The new plugin is called ar_flutter_plugin_2 and can be found here:
- Pub.dev : https://pub.dev/packages/ar_flutter_plugin_2
- Github : https://github.com/hlefe/ar_flutter_plugin_2


This version is a direct adaptation of the original ar_flutter_plugin (https://pub.dev/packages/ar_flutter_plugin), maintaining all its powerful features and capabilities. This fork was created because the original plugin had not been updated since 2022.

➡ Changes include an update to the AR Core endpoint, a gradle upgrade, and compatibility with FlutterFlow.

🚀 I am working on moving away from Sceneform, which has been archived by Google, and instead using Sceneview Android version 2.2.1, which supports the latest versions of ARCore with Google Filament as the 3D engine. This offers support for model animations and many other improvements. You can follow the progress of this development on the sceneview-android branch and in this pull request.

❤️ I invite you to collaborate and contribute to the improvement of this plugin.
To contribute code and discuss ideas, create a pull request, open an issue, or start a discussion.

Fluterflow demo app

You can find a complete example running on FlutterFlow here :
https://app.flutterflow.io/project/a-r-flutter-lib-ipqw3k
Installing

Add the Flutter package to your project by running:

flutter pub add ar_flutter_plugin_flutterflow

Or manually add this to your pubspec.yaml file (and run flutter pub get):

dependencies:
  ar_flutter_plugin_flutterflow: ^0.7.56

Or in FlutterFlow :

Simply add :
ar_flutter_plugin_flutterflow: ^0.7.56
in pubspecs dependencies of your widget.
Importing

Add this to your code:

import 'package:ar_flutter_plugin_flutterflow/ar_flutter_plugin.dart';

IOS Permissions

  • To prevent your application from crashing when launching augmented reality on iOS, you need to add the following permission to the Info.plist file (located under ios/Runner) :

    <key>NSCameraUsageDescription</key>
    <string>This application requires camera access for augmented reality functionality.</string>
    
    

If you're using FlutterFlow, go to "App Settings" > "Permissions"
For the "Camera" line, toggle the switch to "On" and add the description :
"This application requires access to the camera to enable augmented reality features."


If you have problems with permissions on iOS (e.g. with the camera view not showing up even though camera access is allowed), add this to the podfile of your app's ios directory:

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      flutter_additional_ios_build_settings(target)
      target.build_configurations.each do |config|
        # Additional configuration options could already be set here

        # BEGINNING OF WHAT YOU SHOULD ADD
        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
          '$(inherited)',

          ## dart: PermissionGroup.camera
          'PERMISSION_CAMERA=1',

          ## dart: PermissionGroup.photos
          'PERMISSION_PHOTOS=1',

          ## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
          'PERMISSION_LOCATION=1',

          ## dart: PermissionGroup.sensors
          'PERMISSION_SENSORS=1',

          ## dart: PermissionGroup.bluetooth
          'PERMISSION_BLUETOOTH=1',

          # add additional permission groups if required
        ]
        # END OF WHAT YOU SHOULD ADD
      end
    end
  end

In FlutterFlow :

Unfortunately, at this stage, it is not possible to carry out the procedure above within FlutterFlow.
Therefore, it is necessary to publish your project with github and make the modifications manually.
And then publish wih Github selected in Deployment Sources :
FlutterFlow Publish from Github
Example Applications
Example Name Description Link to Code
Debug Options Simple AR scene with toggles to visualize the world origin, feature points and tracked planes Debug Options Code
Local & Online Objects AR scene with buttons to place GLTF objects from the flutter asset folders, GLB objects from the internet, or a GLB object from the app's Documents directory at a given position, rotation and scale. Additional buttons allow to modify scale, position and orientation with regard to the world origin after objects have been placed. Local & Online Objects Code
Objects & Anchors on Planes AR Scene in which tapping on a plane creates an anchor with a 3D model attached to it Objects & Anchors on Planes Code
Object Transformation Gestures Same as Objects & Anchors on Planes example, but objects can be panned and rotated using gestures after being placed Objects Gestures
Screenshots Same as Objects & Anchors on Planes Example, but the snapshot function is used to take screenshots of the AR Scene Screenshots Code
Cloud Anchors AR Scene in which objects can be placed, uploaded and downloaded, thus creating an interactive AR experience that can be shared between multiple devices. Currently, the example allows to upload the last placed object along with its anchor and download all anchors within a radius of 100m along with all the attached objects (independent of which device originally placed the objects). As sharing the objects is done by using the Google Cloud Anchor Service and Firebase, this requires some additional setup, please read Getting Started with cloud anchors Cloud Anchors Code
External Object Management Similar to the Cloud Anchors example, but contains UI to choose between different models. Rather than being hard-coded, an external database (Firestore) is used to manage the available models. As sharing the objects is done by using the Google Cloud Anchor Service and Firebase, this requires some additional setup, please read Getting Started with cloud anchors. Also make sure that in your Firestore database, the collection "models" contains some entries with the fields "name", "image", and "uri", where "uri" points to the raw file of a model in GLB format External Model Management Code

Plugin Architecture

This is a rough sketch of the architecture the plugin implements:

ar_plugin_architecture

所属分类

依赖

依赖清单 4 项

源码仓库

使用此插件的项目

暂无相关数据。