Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/philipturner/ARHeadsetKit
Using $5 Google Cardboard to replicate HoloLens
https://github.com/philipturner/ARHeadsetKit
augmented-reality docc google-cardboard gpgpu ios metal swift virtual-reality
Last synced: 3 days ago
JSON representation
Using $5 Google Cardboard to replicate HoloLens
- Host: GitHub
- URL: https://github.com/philipturner/ARHeadsetKit
- Owner: philipturner
- License: mit
- Created: 2021-09-07T00:23:03.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2023-07-01T23:45:13.000Z (over 1 year ago)
- Last Synced: 2024-04-28T20:35:51.564Z (8 months ago)
- Topics: augmented-reality, docc, google-cardboard, gpgpu, ios, metal, swift, virtual-reality
- Language: Swift
- Homepage: https://sites.google.com/view/arheadsetkit
- Size: 8.33 MB
- Stars: 122
- Watchers: 3
- Forks: 12
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-swift - ARHeadsetKit - High-level framework for using $5 Google Cardboard to replicate Microsoft Hololens. (Libs / Augmented Reality)
- awesome-lidar - ARHeadsetKit - Using $5 Google Cardboard to replicate Microsoft Hololens. Hosts the source code for research on [scene color reconstruction](https://github.com/philipturner/scene-color-reconstruction). (Others / Object detection and object tracking)
- awesome-swiftui - philipturner/ARHeadsetKit - High-level AR framework for replicating Hololens, using SwiftUI instead of Storyboard (Samples)
- fucking-awesome-swift - ARHeadsetKit - High-level framework for using $5 Google Cardboard to replicate Microsoft Hololens. (Libs / Augmented Reality)
- awesome-ios-star - ARHeadsetKit Tutorials - Interactive guides to a high-level framework for experimenting with AR. (Courses / Getting Started)
- awesome-ios - ARHeadsetKit Tutorials - Interactive guides to a high-level framework for experimenting with AR. (Courses / Getting Started)
- fucking-awesome-ios - ARHeadsetKit Tutorials - Interactive guides to a high-level framework for experimenting with AR. (Courses / Getting Started)
- fucking-awesome-ios - ARHeadsetKit - High-level framework for using $5 Google Cardboard to replicate (ARKit)
README
# ARHeadsetKit
Using a $5 Google Cardboard, the average person can now replicate Microsoft HoloLens. Apps built with ARHeadsetKit are immersive AR headset experiences, simultaneously providing handheld AR alternatives. In just 30 lines of code, even someone without a background in Swift can work with AR.
ARHeadsetKit brings more than just AR experiences. With easy-to-render AR objects and a CPU ray tracing API, ARHeadsetKit provides a unique environment for experimenting with 3D graphics. Its tutorial series simultaneously serves as an introduction to headset AR and iOS, using AR to make the learning process interactive. It can even be used for creating VR apps, when virtual objects cover someone's entire field of view.
For the story behind how ARHeadsetKit was created, check out [creating the first affordable AR headset](https://medium.com/@philipturnerAR/how-i-made-the-first-5-ar-headset-be876d78c41f). This framework also has a [YouTube video](https://youtu.be/iBITDQyy0rw) and an official [research paper](https://github.com/philipturner/arheadsetkit-research-paper).
## Quick Start
Xcode 13 or higher is required for working with ARHeadsetKit, and an iOS device running at least iOS 14. You DO NOT need Google Cardboard. To get started, follow [this guide](docs/building-documentation.md) on how to use ARHeadsetKit's tutorials.
If you are just starting out, ignore the sections below that deal with configuring ARHeadsetKit. Sample code from each tutorial's project files already has those settings configured.
## Tutorial Series
Learning ARHeadsetKit involves following tutorials hosted in Xcode, similar to Apple's [SwiftUI tutorials](https://developer.apple.com/tutorials/swiftui). ARHeadsetKit's [article series](docs/article-list.md) compliments its tutorials to provide a deeper understanding of how the framework works.
- Ch. 1 - Essentials
- Tutorial 1 - Setting Up ARHeadsetKit
- Tutorial 2 - Adding Custom Settings
- Tutorial 3 - Working with AR Objects
- Tutorial 4 - Alternative Rendering Modes
- Ch. 2 - Interactive Experiences
- Tutorial 5 - Selecting Objects
- Tutorial 6 - Physics-Based Interaction
- Tutorial 7 - Using Delegate Renderers
- Tutorial 8 - Creating a User Interface
- Ch. 3 - Unlocking Everything
- Tutorial 9 - Reconfiguring ARHeadsetKit## How to Configure ARHeadsetKit from Scratch
Follow the "Creating an Xcode project" section of the [quick start](docs/building-documentation.md) guide, but name your project something other than "ARHeadsetKit Documentation". In the project navigator on the left of the Xcode window, click the folder at the very top with your project's name. The project settings will open, with a sidebar stating `PROJECT` and `TARGETS`. Click your project's name under `TARGETS`. In the tab bar at the top, ensure that "General" is selected.
If your app provides an AR experience supported by ARHeadsetKit, follow [this guide](docs/property-list-keys.md) to configure your app's Info.plist correctly. Otherwise, your app will crash on launch. You do not need to perform this step if you will only use ARHeadsetKit for its utility functions (such as [`MTLLayeredBuffer`](docs/articles/layered-buffer.md)).
## Choosing a Swift Package vs. an Xcode Framework
There are two options for adding a dependency to ARHeadsetKit: a Swift package or an Xcode framework. A Swift package is easier to set up, and recommended unless you plan to create Metal shaders. An Xcode framework is required for importing ARHeadsetKit's Metal Shading Language utility functions. In addition, the Xcode framework lets you use ARHeadsetKit's launch screen without breaking the file's connection to this GitHub repository.
To set up ARHeadsetKit as a Swift package, follow the "Adding the Swift package" section of the [quick start](docs/building-documentation.md) guide. To configure it as an Xcode framework, follow ARHeadsetKit's tutorials and reach "Unlocking Everything". The first tutorial in that chapter is a step-by-step guide to configuring the Xcode framework in a new or existing project.