搜尋分類、套件與程式碼儲存庫

套件詳情v0.0.3

ar_flutter_plugin_2

此外掛是原始 AR Flutter 外掛的分叉,因為原始外掛自 2022 年以來未再更新,因此創建了此分叉。

AndroidiOS
近 30 天下載
332
喜歡數
17
Pub 分數
110

安裝套件

flutter pub add ar_flutter_plugin_2

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

ar_flutter_plugin_2 是原始 AR Flutter 插件的維護分支,專為在 Android 和 iOS 上的 Flutter 應用中建立增強實境體驗而設計。它透過持續支援與現代 Flutter 版本的相容性,解決了原始插件缺乏更新的問題。該套件讓開發者能夠將 3D 模型渲染和基於相機的互動功能整合至其應用程式中。它利用原生 AR 框架(如 Android 的 ARCore 和 iOS 的 ARKit),確保流暢的效能並存取裝置特定的 AR 功能。

適用情境

  • 建構AR產品預覽
  • 建立互動式教育應用程式
  • 使用3D物件開發遊戲體驗
  • 在零售應用中啟用虛擬試穿

主要特色

  • 支援 ARCore 和 ARKit
  • 即時3D模型渲染
  • AR 場景的相機整合
  • 定期更新和維護
  • 跨平台AR開發

適合對象

  • 尋求AR功能的Flutter開發者
  • 在真實環境中需要3D物體放置的應用程式
  • 需要最新AR支援的專案

使用建議

  • 需要支援AR的相容裝置
  • 僅限 Android 和 iOS 平台
  • 可能需要額外設定以實現複雜的AR互動

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

ar_flutter_plugin_2

pub package

This version is a direct adaptation of the original ar_flutter_plugin (https://pub.dev/packages/ar_flutter_plugin), migrating the Android component from Sceneform to sceneview_android, enabling the use of animated models.
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.
➡ Migration has been done from sceneform to sceneview_android with the help of Cursor (Ai editor) so maybe some parts are not fully correct (Any contribution is welcome)

❤️ 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_2

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

dependencies:
  ar_flutter_plugin_2: ^0.0.3

Or in FlutterFlow :

Simply add :
ar_flutter_plugin_2: ^0.0.3
in pubspecs dependencies of your widget.
Importing

Add this to your code:

import 'package:ar_flutter_plugin_2/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 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。