• トップ
  • ブログ一覧
  • iOSのAR機能「ARKit」とは?
  • iOSのAR機能「ARKit」とは?

    メディアチームメディアチーム
    2019.07.09

    IT技術

    「AR」とは現実世界を拡張する技術

    ここ数年、AR(拡張現実)という技術が注目されています。

    ARとは、「Augmented Reality(オーグメンテッド・リアリティ)」の略で、現実空間に付加情報を表示させ、現実世界を拡張する技術のことをいいます。

    AR技術が使われる場面

    AR技術が使われる場面として、例えば家具を購入するときなどに、あらかじめ部屋の中に購入を検討している家具のCGを映し出して、実際に部屋に置いたときのシミュレーションをするような場面で使います。

    これにより、サイズ間違えや置いてみたもののイメージと違うといったトラブルを未然に防ぐことができます。

    他にも、少し前に大きく話題として取り上げられた「Pokémon GO」もAR技術を使って開発されたゲームであり、一般の人でも手軽に体験できる機会が増えています。

    今回は、iPadやiPhoneなどiOS11を搭載したデバイスに対応する、ARを体験できる機能「ARKit」について紹介していきます 。

    ARKitとは

    Apple社が開発したiOSに対応したARフレームワークです。

    ARKitを使って開発したアプリは、特別なデバイスを準備する必要がなく、iPadやiPhoneなどのiOS端末のカメラを使って動作させることができます。

    ARは、iOSデバイスのカメラモーションセンサーから入手した情報を統合することで、実現されます。

    カメラには、フロントカメラとバックカメラありますが、それぞれ機能があります。

    1. フロントカメラは、使用者の顔情報を元にしたAR(Faceトラッキング)
    2. バックカメラは、ユーザーの周辺の空間情報を元にしたAR(Worldトラッキング)

    このように役割が大きく違います。

    これまでの技術でも、カメラとモーションセンサーから情報を取得することはできましたが、計算が複雑でARに利用するのは困難でした。

    しかし、ARKitの登場により、それら複雑な計算は必要なくなり、「どのようなARを実現するか?」を検討することに注力できるようになりました。

    ARKitの代表的な機能

    ARKitによって、iOS端末のカメラで現実空間を認識し、空間の平面部にキャラクターのCGを配置することや、現実の物の大きさや明るさを測定することができるようになります。

    ARKitが搭載される以前にも「Pokémon GO」のように、キャラクターを現実空間に表示する機能は存在していました。

    しかし、ARKitでは、写っている画像の奥行きや平面部など、現実空間の特徴を認識して、より現実空間にフィットしたCGの配置ができるようになりました。

    以下、代表的な機能についてご紹介します。

    ポジショントラッキング

    使っている端末が、現実空間内のどこの位置にあるか、どこを向いているかの情報を取得します。

    位置情報は、ARアプリで端末に表示された画像と現実世界での動きを正しく連動させるために必要になります。

    平面検出

    床や机など、空間内で平らな部分を取得できます。

    ARアプリを起動してから数秒間、カメラを通して現実空間を認識させ、どの箇所が平面に当たるのかを検出します。

    ただし、平面情報は矩形(長方形)で取得されるため、床が三角形や丸い形をしている場合は、認識することができません。

    ポイントクラウド取得

    人や食べ物など、現実空間にある物体の座標を取得できます。

    座標は点単位で取得でき、その数は、多いと1秒間に数百以上になります。

    ただし、単色の壁といった特徴の少ない見た目をした物体は、点があまり取得できません。

    明るさ判定

    現実空間の明るさを数値で取得できます。

    ただし、「明るいか暗いか」の情報が分かるのみで、例えば光源がどこにあるか、何個あるかまでは取得できません。

    当たり判定

    カメラから指定した位置に向かって、現実空間への当たり判定を行うことができます。

    例えば、CGのピストルを使って、現実空間の物体に向かって弾を撃つと、弾はその物体にヒットして弾かれる、といった動きを実現させることができます。

    近日リリースされる、ARKit3とは?

    2019年秋に、ARKit3がリリース予定です。

    ARKit3では、これまで人がAR空間に正しく介在できないという問題点を解決する機能が搭載されています。

    ヒューマン・オクルージョン

    カメラで人間の存在を認識し、「ARで表示させている物体」と「人間」との前後関係を反映できます。

    それにより、AR表示されている物体の後ろに人間が隠れる、などの挙動が可能となります。

    例えば、ARで作成したモンスターを、現実の世界に違和感なく配置することが可能になるわけです。

    まさに、「電脳コイル」の世界に一歩近づいたといえます。

    モーションキャプチャー

    iPhoneやiPadのカメラを人に向けるだけでその人の骨格を推定し、動きを認識させる事ができます。

    これにより、CGのキャラクターに手軽に動きを付けることが可能になります。

    まとめ

    以上のようにARKitには、iOS端末1つでARを実現するための多くの機能が搭載されています。

    上では述べていませんでしたが、付随した技術として注目されている技術に、「Reality Composer」がというものがあります。

    「Reality Composer」は、プログラムを一切使わずにARデモを作成できるアプリで、エンジニアでなくてもARを気軽に作ることが可能になります。

    このようなアプリが世に出回ると、これまで開発者の中に閉じられていたARの作成がより一般的なものとなり、私たちの生活にとって身近なものとなる日も遠くないでしょう。

    こちらの記事もオススメ!

    featureImg2020.08.14スマホ技術 特集Android開発Android開発をJavaからKotlinへ変えていくためのお勉強DelegatedPropert...

    featureImg2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...

    ライトコードでは、エンジニアを積極採用中!

    ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。

    採用情報へ

    メディアチーム
    メディアチーム
    Show more...

    おすすめ記事

    エンジニア大募集中!

    ライトコードでは、エンジニアを積極採用中です。

    特に、WEBエンジニアとモバイルエンジニアは是非ご応募お待ちしております!

    また、フリーランスエンジニア様も大募集中です。

    background