Code Monkey home page Code Monkey logo

iphone-x-face-gestures's Introduction

iPhone-X-Face-Gestures

The goal of this project was to prototype an app that controls an iPhone X with face gestures. It is written in Swift and was constructed in Xcode. The app will only run on an iPhone X because Apple's TrueDepth camera is the hardware that makes it possible. The code uses Apple's ARKit library to access the 3D face model generated by the TrueDepth camera, which is how face gestures are recognized under the hood. Specifically, however, this app recognizes face gestures through the FaceTrigger class written by GitHub user barnaclejive. His FaceTrigger repository can be found here: https://github.com/barnaclejive/FaceTrigger

The novelty in this app is the interface that the face gestures control. It's a simple app with only two tabs; one tab is a "busy box" of UI elements that are controlled by face gestures, and the other tab allows users to pick which gestures control which elements.

Video demo:

https://youtu.be/AZhhHOCXMTM

Demo Still 1 Demo Still 2

All source code files for the app are contained in the FaceGesturesPrototype folder. Within that folder is an MIT license (because this code is open source), a podspec file for FaceTrigger, and three other folders: FaceGesturesPrototype.xcworkspace, FaceTrigger, and FaceTriggerExample.

FaceGesturesPrototype.xcworkspace is the Xcode workspace of this project. To run this code on an iPhone X, all one really needs to do is clone this repo onto their local machine and then double click FaceGesturesPrototype.xcworkspace. That should open Xcode, allowing the app to be run.

The FaceTrigger folder contains source code files for FaceTrigger.

The FaceTriggerExample folder contains all the source code written specifically for this project.

  • FaceGesturesPrototype/FaceTriggerExample/FaceTriggerExample/ViewController.swift contains all the logic for gesture recognition and UI manipulation.

  • FaceGesturesPrototype/FaceTriggerExample/FaceTriggerExample/AssignmentViewController.swift contains all the logic to select which gestures get hooked up to which elements.

Pretty much everything else in this repo is stuff generated by Xcode.

UX

face gestures poster

iphone-x-face-gestures's People

Contributors

sapols avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

iphone-x-face-gestures's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.