Graffity Tech Blog

Graffity株式会社のエンジニアブログ

ARKitの可能性を知るためにオススメの教材2選

こんにちは。GRAFFITYでiOSを中心にアプリエンジニアをやっているKBOYです。今回はARKitの可能性を感じさせてくれる教材を紹介し、僕なりの感想も書いて行きたいと思います。

ARKitでどんなアプリを作ったらいいのか?」という話になると、そもそもどこまでできるのか?という話になってアイデアが出にくいものです。

そのイメージを掴むために私がオススメするのは、

の2つです。

それぞれからピックアップして、ARアプリを作りたいあなたにインスピレーションを与えたいと思います。

物理的インタラクション

physics.gif

ARKit 2.0 Build Augmented Reality apps on iOS with Scenekit

そもそもSceneKitでこのような物理的インタラクションができます。 これを実際の空間で行うとこのように、公園でファイヤボールを投げてブロックを倒したりするゲームが作れます。

WWDC2018で紹介されたSwift Shotもこの物理的インタラクションとMulti Playの組み合わせで実現していますね。

空間に線を書く

image

https://github.com/shu223/ARKit-Sampler

弊社GRAFFITYでも実装されている線を書く機能。 毎フレームごとに線のnodeのgeometryを更新ことで、長い線を空間に引くことができます。

ARKit-Samplerでは中心から線を書くように実装されていますが、タッチしている位置を使うことで、手の動きに合わせて線を書くことができます。

それがGRAFFITYです。

f:id:graffity:20180731131141g:plain

オクリュージョン(3D物体が平面に隠れる)

oclusion.gif

ARKit 2.0 Build Augmented Reality apps on iOS with Scenekit

ARは実際に空間に物を置いているわけではなく、3Dに見えるように描画しているだけなので、そのままだと図にあるような机も通り抜けて見えてしまいます。しかし、平面認識と組み合わせることでARKitでもオクリュージョンと呼ばれる現実の物の後ろに3D物体が隠れるという表現が可能です。

先日Pokemon GOでオクリュージョン技術が注目されましたが、ARKitでも実はある程度できるということを知っといて損はないでしょう。

ドローンが近づいたら音声が聞こえる

sound.gif

ARKit 2.0 Build Augmented Reality apps on iOS with Scenekit

このdroneはxcode上でSceneKitのGUIで作ることができます。このデモではそれで作ったdroneをある点を中心に回るようにアニメーションさせてさらに、音声ファイルを使ってdroneから音が鳴っているように表現しています。

広い意味でARは視覚表現だけでなく、聴覚や触覚も使うとより現実味を帯びたものになります。そういった世界感を作って行きたいものですね。

画像の認識

image.gif

ARKit 2.0 Build Augmented Reality apps on iOS with Scenekit

ARKit1.5からできますが、2.0でかなり精度が上がっています。図のように動かしても画像に地球がくっついてきます。

Tweet Realityの作者がAR名刺のイメージ映像を公開していましたが、物理的なものは概要Overviewだけにして、ARで詳細を表現するというアプローチは最高にクールですね。ミニマリストの僕にも刺さります笑

平面認識

image

https://github.com/shu223/ARKit-Sampler]

ARKit1.0平面認識ができますが、ARKit1.5では壁も認識できるし、gifのように短形だけでなくて円のような形も判別することができます。テーブルの上に水を張り巡らせるといったような演出ができるのです。

僕は木製のものがスクなので、全ての机を木にトランスフォームしてみたいですね笑

まとめ

以上、ARKitの可能性を感じることができたでしょうか?

堤さんのARKit-Samplerは自由に参照できますし、ARKit 2.0 Build Augmented Reality apps on iOS with Scenekitは有料ですが動画をみながらわかりやすくARKitを習得できるのでオススメです。興味のある方は見てみてください。

(本文に掲載したgithubの動画は公開されているものであり、Udemyの動画は作者から掲載の許可をもらっています。またNDA違反しないようにARKit2.0特有のスクショは載せていません)