Help us understand the problem. What is going on with this article?

ARKitのサンプルコード集「ARKit-Sampler」

More than 1 year has passed since last update.

iOS 11のリリースと同日に、ARKitのサンプル集「ARKit-Sampler」をオープンソースで公開しました。

ARKit Sampler

icon.png

ソースコードは GitHub に置いてあるので、ご自由にご活用ください。

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

使用言語はSwift 4.0です。

ARKitのサンプルは公式のを含めいろいろ出てますが、ARKit-Samplerでは「余計な実装を混ぜずに、できるだけシンプルな実装で伝える」というところに気をつけています。もともとは書籍執筆のために用意したものなので、とくに序盤のサンプルはシンプルで意図が汲みやすいと思います。

ビルド方法

  1. ここから Inceptionv3.mlmodel をダウンロードして mlmodels フォルダ配下に置く
  2. Xcode 9 でビルドしてiOS 11端末にインストール

基本的にビルドするだけですが、Core MLのモデルファイルをダウンロードしてくる必要があります。

サンプル一覧

今のところ12個のサンプルが入っています。随時追加していきます。

3-lines AR

「実質3行」のシンプルなAR。ARKitが簡単に扱えるということがわかります。

Plane Detection

ARKitの基本機能、水平面の検出方法を示したシンプルなサンプル。

Virtual Object

水平面に仮想オブジェクトを設置するサンプル。

AR Interaction

仮想オブジェクトや、検出した水平面に対するインタラクションの実装方法を示したサンプル。

interaction2.gif

AR Measure

もはやARKitの定番実装例となっている、ARKitをメジャー(巻尺)代わりに使うサンプル。

AR Drawing

空中に絵や文字を書くサンプル。

Core ML + ARKit",

Core ML + Visionで認識したオブジェクトに対してARKitで「ARタグ付け」するサンプル。

Metal + ARKit

ARKitの描画にMetalを利用するサンプル。

Metal + ARKit (SCNProgram)

ARKitで追加した仮想オブジェクトのマテリアルをSCNProgramを用いてMetalで描画するサンプル。

Simple Face Tracking

Face-basedなARのサンプル。

Vertical Plane Detection

ARKit 1.5から入った、垂直平面を検出するサンプル。

Irregularly-Shaped Plane Detection

ARKit 1.5から入った、ARSCNPlaneGeometryARPlaneGeometryを使用して「非」矩形な形状の表面を検出するサンプル。

「つくりながら学ぶ」ARKitの入門書

ARKitの本を書いて個人で出版しました。

はじめの一歩として3行で書ける最小実装のARから始めて、平面を検出する方法、その平面に仮想オブジェクトを設置する方法、そしてその仮想オブジェクトとインタラクションできるようにする方法・・・と、読み進めるにつれて「作りながら」引き出しが増えていき、最終的にはARKitを用いたメジャーや、空間に絵や文字を描くといった、ARKitならではのアプリケーションの実装ができるよう構成しています。

全119ページ(電子版の場合。製本版は92ページ)。ARKit 2.0 (iOS 12), Xcode 10, Swift 4.2対応。サンプルコードはGitHubよりダウンロード可能です。BOOTHにて販売中。

実践ARKit - shu223 - BOOTH

関連記事

shu223
フリーランスiOSエンジニア 著書:『iOS×BLE Core Bluetooth プログラミング』『Metal入門』『実践ARKit』『Depth in Depth』『iOSアプリ開発 達人のレシピ100』他 GitHubの累計スター数24,000超
http://shu223.hatenablog.com/
engineerlife
技術力をベースに人生を謳歌する人たちのコミュニティです。
https://community.camp-fire.jp/projects/view/280040
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした