Skip to content

Latest commit

 

History

History
67 lines (53 loc) · 3.54 KB

README.md

File metadata and controls

67 lines (53 loc) · 3.54 KB

ARFlow Client

release license

The ARFlow client is responsible for on-device AR data collection and high-performance AR data streaming. We implement the ARFlow client as a Unity application that can be easily ported to different platforms and devices.

Installation

This package can be installed with Unity Package Manager's Install from Git feature. This package has some dependencies that must be installed seperately.

  1. Install these dependency packages by specifying the following URL in Add package from git URL...
https://github.com/Cysharp/YetAnotherHttpHandler.git?path=src/YetAnotherHttpHandler#{1.0.0}
https://github.com/atteneder/DracoUnity.git
  1. Install the Unity Voice Processor package by importing the following .unitypackage into your Unity Project (dragging and dropping)
https://github.com/Picovoice/unity-voice-processor/blob/main/unity-voice-processor-1.0.0.unitypackage
  1. To install the latest package version, specify the following URL in Add package from git URL... of Package Manager on Unity
https://github.com/cake-lab/ARFlow.git?path=unity/Assets/ARFlowPackage/ARFlow

Implementation details

The core functions are implemented in unity/Assets/Scripts/ARFlow. We show three example ARFlow integration of three different data sources:

  • Mock data: inside ./Assets/Scripts/ARFlowMockDataSample.cs
  • ARFoundation device data: inside ./Assets/Scripts/ARFlowDeviceSample.cs
  • Unity scene data: inside ./Assets/Scripts/ARFlowUnityDataSample.cs

To use ARFlow with your own device, you should directly deploy our client code to your AR device. Please compile the Unity code for your target deployment platform and install the compiled application.

Currently, we support the following platforms:

  • iOS (iPhone, iPad)
  • Android (Android Phone) (*1)

Document generation

This document for the C# code was generated by a tool called Docfx. To get started on building the document:

  1. Make sure you have dotnet installed (preferably dotnet 6).
  2. Change directory into Documentation and run either scripts/build.cmd or scripts/build.sh

(If you want to have the web page served locally, instead of the script run docfx docfx.json --serve)

FAQ

When opening the app, I only see a black screen

In Build Settings, add Scenes/DeviceData to the scenes in Build. Add the corresponding scene of which you want to run

  • Sample data to test cameras (depth, RGB): add the DeviceData scene to build
  • Demos: add the corresponding demo scene to build.

(*1) I encountered a problem with building the android application. How do I resolve it?

Upon building the android application, I got a message saying uncompatible android version. Or the app crashes immediately

Building on Android is prone to some issues, regarding target SDK version (Android version), graphics API, and more. Below are some build configuration that has worked on our devices:

  • In Build Settings, add Scenes/DeviceData to the scenes in Build.
  • In Player Settings, uncheck Auto Graphics API, remove Vulkan.
  • In Player Settings, change Android minimal SDK version to at least 24 (Android 7.0).
  • In Player Settings, change Scripting Backend to IL2CPP
  • In Player Settings, check ARMv7 and ARM64 in Target Architectures. (Check any other architectures if needed).
  • In Player Settings, change Active Input Handling to Input System Package (New).