Apple Engine

Apple, iPhone, iOS, その周辺のことについて

ARKit

Xcode 10 の Augmented Reality App テンプレートで X 系端末が画面全体表示にならない問題を解決する

Xcode 9 の ARKit 用テンプレート、Augmented Reality App では ViewController の View に ARSCNView が設定されており フルスクリーン的な画面全体で表示されていたが、 Xcode 10 では ViewController の下に UIView が設定されており、 その下に ARSCNVie…

Web ブラウザ上で USDZ ファイルをつくる

ブラウザ上で 3D モデルを作成できる Vectary が USDZ 書き出しに対応した様なのでご紹介。 www.vectary.com さっそくつくってみる Web ページにアクセスし、「Start designing for free」を押しアカウントの作成。 ダッシュボードが表示される。 上に表示さ…

ARKit アプリを Unity でつくるか、SceneKit でつくるか

ゲームアプリでは多分 SceneKit が使用されているケースは少ないが、 ARKit に関しては SceneKit が使用されているケースがそこそこある。 今回は SceneKit や Unity などのゲームエンジンでの違いを見ていこうと思う。 ゲームエンジンは Unity を指定してい…

ARKit 2 の AREnvironmentProbeAnchor をマニュアル設定で配置する

Beta 版から記事を起こしているため今後変更される可能性あり。 先回、AREnvironmentProbeAnchor を automatic にして自動的に置いたので、今回はマニュアル設定で設置してみる。 どうやら、反射設定を行ったマテリアルの近辺に 複数 AREnvironmentProbeAnch…

iOS 12 SDK Bata 6 の ARKit、SceneKit 変更内容

今回の変更はない模様。 Xcode 10 Beta 6 の Scene Editor での ノード選択時のマニュピレーター、グリッドの表示エラーが解消されました。

iOS 12 SDK Bata 5 の ARKit、SceneKit 変更内容

ARKit の更新はないようで、SceneKit では Beta 4 で追加された2つのインスタンスプロパティの名称が変更された。 SCNPhysicsBody 物理ボディのインスタンスプロパティの名称が Sleeping から Resting に変更された。 Beta 4 var linearSleepingThreshold: C…

iOS 12 SDK Bata 4 の SceneKit 変更内容

Beta 版から記事を起こしているため今後変更される可能性あり。 Apple のデベロッパーページのドキュメントの最初で SceneKit の仕様変更がなかったので気づかなかったが中身は変更されている模様。 Bata 4 の変更内容としてはいるが、自分の見落としで以前…

ARKit 2.0 のその先

今までの流れ。 ARKit 1.0 で6DoF のポジショントラッキングと水平の平面認識。 ARKit 1.5 で水平の平面認識と平面の詳細形状の認識、画像認識、顔と表情認識。 ARKit 2.0 で物体認識と物体の特徴点のスキャン、画像認識の強化、表情認識の強化、環境マップ…

ARKit 2 の環境マッピング AREnvironmentProbeAnchor を試してみる

Beta 版から記事を起こしているため今後変更される可能性あり。 ARKit 2 で環境マップテクスチャの作成ができるようになった。 通常は AREnvironmentProbeAnchor から環境マッピングのテクスチャを作成するのだが、SceneKit の場合は設定をするとデフォルト…

ARKit 2.0 の更新内容 (iOS 12 Bata 2)

NDA の問題でスクリーンショットなどセッション資料のものを使用している。 また、Beta 版から記事を起こしているため今後変更される可能性あり。 遅くなってしまったが iOS 12 Bata の ARKit 2.0 更新内容を見てゆく。 Bata 2 の内容だが 1.0 の Beta の際…

Blender から USDZ をつくる

Blender から USDZ をつくみようと思う。 USD のプラグイン的なものがないので、OBJ に吐き出し、Xcode 10 の Command line tools から USDZ に変換する。 Xcode 10 の Command line tools については前回の記事を参照。 (現状、Xcode 10 が Beta のため、今…

ARKit で使用されている USDZ とは何か

NDA の問題でスクリーンショットなどセッション資料のものを使用している。 また、Beta 版から記事を起こしているため今後変更される可能性あり。 Pixar Animation Studios が SIGGRAPH 2013 でプレゼンし発表しのちに公開されたシーン・アセット管理システ…

Apple の US サイトに Augmented Reality for iOS のページが追加

ARKit を使用した拡張現実の紹介がされている。 近いうちに日本語訳が出ると思われる。 www.apple.com 追記 日本語ページができている模様。 www.apple.com 序文の訳 Augmented Reality for iOS バーチャルとリアルに境界が存在しないと想像してみてください…

ARKit 1.5 で平面認識した箇所からポリゴンを描画する

ARKit 1.5 から平面を認識した箇所からポリゴンを描画し、 以前の ARKit ではできなかった丸いテーブルなど若干ではあるが形状に合わせた平面を描画できるようになった。 今回はその解説。 ひとまず注意点 Beta 版であるため今後仕様が変更される可能性があ…

ARKit 1.5 で Vuforia のような画像認識を行う

ARKit 1.5 から Vuforia のような画像認識を行うことができるようになった。 壁や床などの画像を想定しているようなので、現象 Vuforia ほどの正確さはなく、 今後のアップデートで期待したい。 また、公式でサンプルが用意されているため、英語を読むのが苦…

ARKit 1.5 での変更点 (Xcode 9.3 Beta / iOS 11.5 Beta )

Beta なので公開されている情報からのまとめ。 NDA 上スクリーンショットが出せないので今回も文字だけ。 以下の情報に関しては今後変更される可能性があるため注意が必要。 主な変更 www.moguravr.com 垂直方向平面の認識 画像認識 以前よりも細かな形状認…

2018年からの XR (AR/MR/VR) について考える

XR とは Augmented Reality (AR)、Mixed Reality (MR)、Virtual Reality (VR) などの総称である。 ざっくりまとめるとこんな感じ 名称 対応技術 Augmented Reality (AR) ARKit(iOS), ARCore(Android), Vufolia, その他 Mixed Reality (MR) Microsoft HoloLen…

ARKit + SceneKit でカメラから取得した映像にエフェクトをかける

ARKit Advent Calendar 2017 | 15日目 以下の昨日の記事の動画。 前半では ARKit で取得しているカメラ映像に対して Core Image のフィルター CIDotScreen を使用し、 新聞のモノクロ写真のようなモノクロドットや黒の塗りつぶしで構成された効果を適応して…

ARKit + SceneKit を使用したポジショントラッキングなモバイル VR

ARKit Advent Calendar 2017 | 14日目 ARKit はカメラ画像と各種センサーを使用して端末の位置を特定しているため、 1眼のポジショントラッキングなモバイル VR なら、わりと簡単にができますよというお話。 とはいえ、ARKit は真っ白な部屋とか特徴点が拾え…

SceneKit の SCNNode のレンダリングオーダーでどこでもドア的表現をする

そう言ってみれば説明していなかったなとということで、SCNNode の Rendering Order について書いておこうと思う。 マテリアルの Writes depth や Reads depth は深度情報の重なりの順序を無視し前面や背面にジオメトリ表示するが、 こちらはノードのレンダ…

ARKit の Face Tracking で顔にマスクをつける for iPhone X - Depth image (深度画像) 取得編

一応、深度画像を取得してみようと思う。 深度画像取得の流れ ARKit の ARFrame から取得できるので、ARSessionDelegate から呼び出し何か View に表示する。 ARFrame の capturedDepthData が持つ depthDataMap が cvImageBuffer を返すので、 今回は CIIma…

ARKit の Face Tracking で顔にマスクをつける for iPhone X - 実践編

前回は概要の説明だったが、今回は Xcode を使用しアプリを作成していく。 Apple 公式のサンプル「Creating Face-Based AR Experiences」のコードをスリムにし機能を絞ったものなので、 英語やコードを読むことが苦にならないのならそちらを読んだ方が良い。…

ARKit の Face Tracking で顔にマスクをつける for iPhone X - 概要編

iPhone X では端末前面に従来の FaceTime HD カメラやセンサーの横へ、Microsoft Kinect のようなドットプロジェクタや赤外線カメラを追加しており、 これらのセンサーユニットの総称して TrueDepth カメラと呼ばれている。 TrueDepth カメラは、背面の iSig…

iOS 11 GM の ARKit で変更されたこと

フェイストラッキングで顔の形状を取り、顔や独自で作成した顔のジオメトリを AR の仮想空間設置し、表情を付加する機能が追加。 Message アプリでデモしていた AniMoji ようなものが、AR 空間で使用できる。 また、Beta 中に廃止となっていたものが完全に機…

iOS Human Interface Guidelines の Augmented Reality (ARKit) をざっくり訳す

以下、ざっくり訳。間違っていたらごめんなさい。 あと、軟弱なので訳せなかったところは飛ばしている。 一応、ベータなので内容は変更される可能性あり。 Augmented Reality - Technologies - iOS Human Interface Guidelines 注記 phone と原文で書かれて…

ARKit を SpriteKit で試す

注意ベータ版で公開されているドキュメントを元に記事を作成しているため、API や動作が製品版と異なる可能性あり SceneKit や Unity、Unreal Engine でほぼ制作されると思われるが、 一応、SpriteKit の 2DCG を使用した ARKit アプリを作成することができ…

ARKit の UI と設計で注意すべき点

UI 基本的には自由だが、3点だけ注意した方よいと思われる。 その1 : 起動時 カメラが起動し ARKit 関連の命令が動作するまで数秒かかるので、 それを何らかの方法で伝える。 その2 : 平面認識時 平面が認識された時、使い手にはわからないので 平面を認識し…

ARKit に対して既存の VR / MR コンテンツはどう勝負するのだろうか?

ギークではない一般ユーザーが仮想空間の体験をする初めての接点が iOS と ARKit によるものとなる可能性が高い。 Virtual Reality (VR) Mixed Reality (MR) Augmented Reality (AR) これらの総称を X Reality (XR) というらしく、この体験をする人の増加は …

ARKit、深度情報、物体認識、そこに現れる世界

ARKit と深度情報が組み合わされると Kinect や HoloLens のような体験が可能になる。 では、そこに物体認識ができるようになったらどうなるだろう。 その前に物体を認識するとは何か iOS では過去にプライベート API の OpenCL を使用した顔認識がある。 以…

Apple の ARKit は戦略よりも技術がすごい

元ネタ japanese.engadget.com 特別なハードウエアを使って高精度 AR を実現 まず、Apple A シリーズの動作が化け物で、他の ARM の SoC が周回遅れな感があり。 センサー類の動作も素晴らしく、ARKit の可能にしているのは Metal 2 のおかげだと思われる。 …