분류, 패키지 및 저장소 검색

패키지 상세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는 Android 및 iOS에서 Flutter 앱에서 증강 현실 경험을 구축하기 위해 설계된 원본 AR Flutter 플러그인의 유지 관리되는 포크입니다. 원본 플러그인의 업데이트 부족 문제를 해결하기 위해 지속적인 지원과 최신 Flutter 버전과의 호환성을 제공합니다. 이 패키지는 3D 모델 렌더링 및 카메라 기반 상호작용과 같은 AR 기능을 애플리케이션에 통합할 수 있게 해줍니다. ARCore(안드로이드) 및 ARKit(iOS)와 같은 네이티브 AR 프레임워크를 활용하여 원활한 성능과 장치 고유의 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 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.