Home

Awesome

<img width="900" alt="thum" src="https://user-images.githubusercontent.com/17683316/45263530-90de8980-b465-11e8-846f-9e04a5e80874.png">

arkit platform ios swift license <a href="https://twitter.com/kboy_silvergym">tw</a>

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 pressure by the Pokemon GO.

During the Battle, Rebel spies managed to steal the data of the secret plans of ARKit 2.0...

What's this?

This is the dark side of ARKit-Sampler.

The Emperor give you the most practical ARKit samples ever.

Unlimited power for ARKit!

Samples

Doodle

<img src="images/drawing.gif" width=140>

You can draw to the real space! This sample code is very simple but perfomance is not perfect because it adds a new node every time your finger moves.

The code is here

Doodle2

<img src="images/drawing2.gif" width=140>

This sample is better than Doodle1 because the geometry is created once each line. If you customize the vertices and indices logic, you can create any line you want. But the logic is so complicated.

The code is here

Custom 3D Model from Bezier Path

<img src="images/star.gif" width=140>

You can create 3D model by code using bezier path

The code is here

Placing pictures

<img src="images/picture.gif" width=140>

Place your photo into the picture frame. You can make picture frames on SceneKit.

The code is here

SCNAction

<img src="images/action.gif" width=140>

Use SCNAction to your object appeares more naturally.

The code is here

Bubble mixed with your image

<img src="images/bubble.gif" width=140>

The code is here

Physics

<img src="images/physics.gif" width=140>

The code is here

Color Grading

<img src="images/lut0.jpg"><img src="images/lut1.png"><img src="images/lut2.png"><img src="images/lut3.png">
<img src="images/colorGrading.gif" width=140><img src="images/lut1demo.gif" width=140><img src="images/lut2demo.gif" width=140><img src="images/lut3demo.gif" width=140>

You can make camera fileter using a LUT image.

The code is here

Particle

bokehconfettifirerainreactorsmokestar
<img src="images/bokeh.gif" width=140><img src="images/confetti.gif" width=140><img src="images/fire.gif" width=140><img src="images/rain.gif" width=140><img src="images/reactor.gif" width=140><img src="images/smoke.gif" width=140><img src="images/star_particle.gif" width=140>

Show default particle system.

The code is here

Shader

Inspired by https://github.com/laanlabs/SCNTechniqueGlow

Apple's official docs is https://developer.apple.com/documentation/scenekit/scntechnique

<img src="images/shader.gif" width=140>

The code is here

ARPointCloud

In default, you can show feature points easily by coding below.

sceneView.debugOptions = [ARSCNDebugOptions.showFeaturePoints]

In this table, default is the default one.

defaultcustom1custom2
<img src="images/point1.gif" width=140><img src="images/point2.gif" width=140><img src="images/point3.gif" width=140>

If you show feature points like custom1 or custom2, chek the code.

Plane Detection (ARKit 1.5~)

horizontalvertical
<img src="images/plane.gif" width=140><img src="images/plane2.gif" width=140>

The plane detection is available from ARKit 1.0, but this richer (available for not only rectangle) detection is available from 1.5.

The code is here

And you can implement simple occlusion like below.

<img src="images/occlusion.gif" width=140>

Face

<img src="images/tongue.gif" width=140>

By ARKit2.0, you can detect also gaze and tongue. This demo is using tongue detection.

The code is here

Persistent Memo (ARKit 2.0~)

<img src="images/memo.gif" width=140>

Using ARKit 2.0, you can save ARWorldMap and load it.

The code is here

Mirror (ARKit 2.0~)

<img src="images/mirror.gif" width=140>

Using ARKit 2.0, It's not perfect but the object reflect around the environment.

The code is here

Business Card (ARKit 2.0~)

ShowTap
<img src="images/business_card1.gif" width=140><img src="images/business_card2.gif" width=140>

Augmented business card. If you register the image of your card, ARKit2.0 detects it and the 3D component made in SceneKit can be shown.

If you get the error (Make sure that all reference images are greater than 100 pixels and have a positive physical size in meters.), check the stack overflow.

The code is here

Author

<img src ="https://avatars3.githubusercontent.com/u/17683316?s=460&v=4" width=140>

KBOY (Kei Fujikawa)

iOS Developer in Tokyo Japan.

Special Thanks

The thumbnail is designed by @shujihirai