「ARKitでどんなアプリを作ったらいいのか?」という話になると、そもそもどこまでできるのか?という話になってアイデアが出にくいものです。
そのイメージを掴むために私がオススメするのは、
- 堤さんのARKit-Sampler
- UdemyのARKit 2.0 Build Augmented Reality apps on iOS with Scenekit
- 僕のUdemy講座 【ARKit2.0対応】6つのチャレンジでARKitを徹底攻略
の3つです。
それぞれからピックアップして、ARアプリを作りたいあなたにインスピレーションを与えたいと思います。
GRAFFITYブログにもより詳細を書いたので興味のある方はご参照下さい。
物理的インタラクション
ARKit 2.0 Build Augmented Reality apps on iOS with Scenekit
そもそもSceneKitでこのような物理的インタラクションができます。これを実際の空間で行うとこのように、公園でファイヤボールを投げてブロックを倒したりするゲームが作れます。
空間に線を書く
https://github.com/shu223/ARKit-Sampler
弊社GRAFFITYでも実装されている線を書く機能。毎フレームごとに線のnodeのgeometryを更新ことで、長い線を空間に引くことができます。
オクリュージョン(3D物体が平面に隠れる)
ARKit 2.0 Build Augmented Reality apps on iOS with Scenekit
ARは実際に空間に物を置いているわけではなく、3Dに見えるように描画しているだけなので、そのままだと図にあるような机も通り抜けて見えてしまいます。しかし、平面認識と組み合わせることでARKitでもオクリュージョンと呼ばれる現実の物の後ろに3D物体が隠れるという表現が可能です。
ドローンが近づいたら音声が聞こえる
ARKit 2.0 Build Augmented Reality apps on iOS with Scenekit
このdroneはxcode上でSceneKitのGUIで作ることができます。このデモではそれで作ったdroneをある点を中心に回るようにアニメーションさせてさらに、音声ファイルを使ってdroneから音が鳴っているように表現しています。
画像の認識
ARKit 2.0 Build Augmented Reality apps on iOS with Scenekit
ARKit1.5からできますが、2.0でかなり精度が上がっています。図のように動かしても画像に地球がくっついてきます。
平面認識
https://github.com/shu223/ARKit-Sampler]
ARKit1.0平面認識ができますが、ARKit1.5では壁も認識できるし、gifのように短形だけでなくて円のような形も判別することができます。テーブルの上に水を張り巡らせるといったような演出ができるのです。
カスタム3D物体
ARKit 2.0 Build Augmented Reality apps on iOS with Scenekit
このような物体を、線と線を繋いだpathで二次元で作った後に三次元の物体にすることができます。これもswiftのコードだけで作れます。
##まとめ
堤さんのARKit-Samplerは自由に参照できますし、ARKit 2.0 Build Augmented Reality apps on iOS with Scenekitは有料ですが動画をみながらわかりやすくARKitを習得できるのでオススメです。
そして最後に、僕の【ARKit2.0対応】6つのチャレンジでARKitを徹底攻略では、ARKitに入門できるように短く動画講座を作っているのでご確認ください!
(Udemyの動画は作者から掲載の許可をもらっています)