Lovely Augmented Reality Charts for iOS - Built with ARKit

Overview

ARCharts

Build Status Version License Platform

ARCharts is a library making it easy to create beautiful charts tailored for augmented reality.

Table of Contents

Project Details

Demo Gif
1 2 3 4 5

Requirements

  • Requires iOS 11 or later
  • Optimized for A9 and A10 processors (ARKit)

License

See the License. You are free to make changes and use this in either personal or commercial projects. Attribution is not required, but highly appreciated. A little "Thanks!" (or something to that affect) is always welcome. If you use ARCharts in your app, please let us know!

Sample App

The iOS Sample App included in this projects demonstrates one way of setting up and using ARCharts. Give it a try to see what can be accomplished!

Getting Started

Installation

There are three different ways of adding ARCharts to your project.

CocoaPods

Cocoapods is a dependency manager for Swift and Objective-C. To install ARCharts with CocoaPods, simply add the following line to your pod file:

pod 'ARCharts'

Carthage

Carthage support is coming soon.

Manual

You can always install ARCharts manually by dragging the ARCharts folder into your XCode project. When you do so, make sure to check the "Copy items into destination group's folder" box.

Setup

ARCharts is a simple SCNNode subclass. That makes it very easy to use in your project!

Comments
  • Initializer for conditional binding must have Optional type, not 'SCNAction'

    Initializer for conditional binding must have Optional type, not 'SCNAction'

    Having trouble with 'SCNAction' and its bindings.

    private func pulseAction() -> SCNAction? {
    		let pulseOutAction = SCNAction.fadeOpacity(to: 0.4, duration: 0.5)
    		let pulseInAction = SCNAction.fadeOpacity(to: 1.0, duration: 0.5)
    		pulseOutAction.timingMode = .easeInEaseOut
    		pulseInAction.timingMode = .easeInEaseOut
    		
            if let sequence = SCNAction.sequence([pulseOutAction, pulseInAction]) {
                return SCNAction.repeatForever(sequence) 
    
    question 
    opened by 3wjr 4
  • Highlight a bar with long-press

    Highlight a bar with long-press

    • Long-press on a bar to highlight it
    • Tap anywhere in the view to unhighlight
    • New ARChartHighlighter class
    • Support for two types of highlighting animations: .dropAway and .fadeOut
    • Refactor of AnimationManager -> ARChartAnimator to match style of ARChartHighlighter
    opened by chrischute 0
  • Minor refactor

    Minor refactor

    This PR is just a simple refactor. None of the functionalities should change.
    It's basically breaking the functions down into smaller, easier to understand ones and renaming variables.

    opened by Boris-Em 0
  • Value for Bar

    Value for Bar

    Hi guys And thank you @Boris-Em for the amazing works ! Anyway I have a problem ( seems very easy but I can't understand how to do it )... I would like to show the bar value over or near the bar I've found this method

    private func addLabel(forIndex index: Int, atXPosition xPosition: Float, withMaxHeight maxHeight: Float)

    but I can't use it.

    Does anyone have an example code on how and where to use this method?

    Thanks in advance

    and excuse me for my terrible English

    Vanni

    opened by Ragazzetto 0
  • Interworking with Obj-C app - 80% of methods not available

    Interworking with Obj-C app - 80% of methods not available

    Hey,

    I've been trying to integrate this library with some obj-c code; and I am stuck a bit. It seems like auto-generated file from Xcode has only very limited method set for each class: `SWIFT_MODULE_NAMESPACE_PUSH("ARCharts") @class NSCoder;

    SWIFT_CLASS("_TtC8ARCharts10ARBarChart") @interface ARBarChart : SCNNode @property (nonatomic) double animationDuration;

    • (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
    • (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
    • (void)reloadGraph; /// Render the chart in the SCNView.
    • (void)draw; /// Remove any highlighting currently active on this chart.
    • (void)unhighlight; @end`

    I compiled the Swift code; and played around - it seems like the problem is Delegate pattern - adding @objc flag to public method leads to an error:

    screen shot 2017-12-23 at 14 03 50

    And then of course the method is not supported: screen shot 2017-12-23 at 14 04 10

    Does anybody tried to connect the library to obj-c code?

    opened by ilia510 0
  • It would be great to visualize Graph Data

    It would be great to visualize Graph Data

    It would be Great to Visualize Data as Graph. Is it possible, to implement something like this http://anvaka.github.io/ngraph.forcelayout3d/demo/ in ARCharts?

    opened by PrinzTu 0
  • Title for every bar in ARChart

    Title for every bar in ARChart

    There should be an optional/compulsory functionality where you could label every bar in Bar chart. So that the specific value can be shown on top of every bar node.

    enhancement 
    opened by jay58 6
Releases(0.0.1)
Owner
Boris Emorine
Boris Emorine
Augmented Reality image tracking with SwiftUI, RealityKit and ARKit 4.

ARImageTracking This is an Augmented Reality Xcode project that uses Apple's newest RealityKit framework and ARKit 4 features, to dynamically track a

Richard Qi 198 Dec 7, 2022
ARID - Augmented Reality app using Apple’s ARKit framework which can recognise faces of famous scientists

ARID Augmented Reality app using Apple’s ARKit framework which can recognise fac

Hemanth 0 Jan 12, 2022
ARDicee - Simple augmented reality app using SceneKit and ARKit

ARDicee Simple augmented reality app using SceneKit and ARKit Requirements Xcode

donggyu 3 Feb 4, 2022
Develop simple and fun Augmented Reality (AR) iOS apps

AR-Dice Simple and fun to use iOS app made to make Augmented reality (AR) be in

Dishant Nagpal 1 Feb 23, 2022
Smart Online Shopping iOS App with Augmented Reality (AR) and simple Social Media features using SwiftUI and Google Firebase Cloud Services

Table of contents App Demo How to Run Context Content How it's written Inspiration App Demo AR.online.shopping.iOS.demo.mp4 How to Run First make sure

Ashkan Goharfar 13 Nov 1, 2022
Browse the streets of Los Angeles on an Augmented Reality historical walking tour.

Ruscha AR 0.3 Browse the streets of Los Angeles on an Augmented Reality historical walking tour. Explore Hollywood through the photos of Ed Ruscha. Th

Rick van Voorden 2 Jul 9, 2022
It is a music and podcast creation system that enables users to create multiple tracks using AR(Augmented Reality).

AR-Studio It is a music creation system enables users to create multiple tracks using AR(Augmented Reality). Introduction AR Studio turns your iPad, a

Ayush Singh 5 Dec 3, 2022
An augmented reality (AR) ghost hunting simulation for iPhone

ARanormal An augmented reality (AR) ghost hunting simulation for iPhone About ARanormal was the first game by Jesdo Software, released for iPhone in O

Jesse Douglas 1 Nov 2, 2021
Placing Virtual Objects in Augmented Reality

Placing Virtual Objects in Augmented Reality Learn best practices for visual feedback, gesture interactions, and realistic rendering in AR experiences

Yuchao 279 Dec 11, 2022
An iOS Framework Capture & record ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆.

An iOS Framework that enables developers to capture videos ?? , photos ?? , Live Photos ?? , and GIFs ?? with ARKit content.

Ahmed Bekhit 1.5k Dec 24, 2022
IOS example app to generate point clouds in ARKit using scenedepth

Visualizing a Point Cloud Using Scene Depth Place points in the real-world using the scene's depth data to visualize the shape of the physical environ

Isak Diaz 20 Oct 31, 2022
PlacenoteSDK Sample app in native iOS using ARKit, written primarily in Swift

Placenote SDK for iOS Placenote SDK lets you easily build cloud-based Augmented Reality (AR) apps that pin digital content to locations in the real wo

Placenote 93 Nov 15, 2022
AR Ruler - A simple iOS app made using ARKit and SceneKit

A simple iOS app made using ARKit and SceneKit.Which can try to simplify little things in your life such as measuring stuff.

Dishant Nagpal 5 Aug 31, 2022
ARKit + CoreLocation: Combines the high accuracy of AR with the scale of GPS data.

ARKit: Uses camera and motion data to map out the local world as you move around. CoreLocation: Uses wifi and GPS data to determine your global locati

Andrew Hart 5.3k Dec 27, 2022
ARKit Demo Application

ARKitNavigationDemo Work in progress. In Progress Region — For one, we could render far fewer nodes. In fact, it’s a bit distracting that the entire t

Christopher Webb 296 Dec 16, 2022
ARKit Base Project. Place virtual objects based on WWDC example project

ARKit - Placing Virtual Objects in Augmented Reality Learn best practices for visual feedback, gesture interactions, and realistic rendering in AR exp

Ignacio Chiazzo Cardarello 338 Jan 5, 2023
A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities.

ARKitEnvironmentMapper Example To run the example project, clone the repo, and run pod install from the Example directory first. Installation ARKitEnv

SV Hawks 91 Dec 4, 2022
This library uses ARKit Face Tracking in order to catch user's smile.

SmileToUnlock Make your users smile before opening the app :) Gif with the demonstration Installation Cocoapods The most preferable way to use this li

Ruslan Serebriakov 628 Oct 22, 2022
Power! Unlimited power for ARKit 2.0!

A long time ago in a galaxy, far, far away... It is a period when iPhone SE and iPhone X were destroyed from the apple store, the AR market was under

KBOY (Kei Fujikawa) 516 Dec 1, 2022