Apple Engine

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

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

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

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

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

Apple の Shazam 買収は何をもたらすのか

ポッドキャスト検索のスタートアップ Pop Up Archive を買収したばかりだが、 Shazam の買収が行われるとのこと。 買収額は公表されていないが Tech Crunch によると4億ドルぐらいとのことだ。 Apple confirms Shazam acquisition; Snap and Spotify also ex…

iMac Pro は本当に高いのか

いや、まぁ、高いけど、Mac Retina 5K も結構なお値段になるので、 Apple 価格としては妥当なのではというとこと。 まぁ、高いけど。 価格に反映されるだろうと思われるスペックだけまとめてみた。 FaceTime カメラの解像度と拡張については省略 iMac Retina…

Bussiness Chat (Developer Preview) について

iOS2 Advent Calendar 2017 | 7日目 来年、サービスが開始されると言われているビジネスチャット。 個人的には WWDC 2017 のセッションで、CoreML、Metal 2、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…

iPhone X を触った感想

11月3日の発売日に入手して一通り触った感じを 一言でまとめると全体的に生煮え。 Apple のバイスプレジデントたちが言っていたように、iPhone X はコンセプトモデルであり、新しい端末を試してみたい人向け。 多くの人にとっては iPhone 8 や 8 Plus の方が…

アプリなどで使用する有料フォントのライセンスについて

フォントによってはアプリやゲーム、ロゴなどで使用できないものがあり、1文字単位でお金が発生するものがある。 正直、言うとライセンスで1番融通が効くのが、 フォントワークスの LETS と Monotype LETS、Type Project。 基本的には2社のフォントは、 ア…

Apple の製品ラインナップを考えなおす2017年

もう今年も僅かなので今後のラインナップをなんとなく考えてみる。 iPhone iPhone X 正直に狙いは Plus サイズが本番。 画面のインチで言うと 4.7 インチの 7 や 8 から、5.8 インチの iPhone X 画面の倍増率が 1.234 なので、 Plus サイズだと 5.5 インチが…

次期 SceneKit の機能をなんとなく予想

「Metal 2 on A11 - Overview」を見る感じだと、A11 Bionic チップでは フラグメントの処理の際、メモリーとの間にさらに高速にアクセスできる保存領域があるらしく、 2D 処理が全般的に速くなるらしい。 そこから何となく予想してみた。 次期 SceneKit つく…

技術書典3に出典しておりました

ブースにお越しいただい方、ご購入いたただいた方、ありがとうございます。 この Blog で書いている SceneKit についての PDF を出していまして、前半は Blog の内容、後半部分は iOS 11 で追加されたが書かれており、うっかり 340 ページ超えてしまいました…

iPhone X の Safari で表示する Web ページの HTML / CSS 設定

どうやら、そのままだとサイトが表示領域の全体に面表示されないっぽい。 参照元 ayogo.com 対処方法 meta タグ Viewport に「viewport-fit=cover」を入れる。 <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> このままだと問題があり、本体を横に傾けてランドスケープにすると コンテンツが両サイドまでい</meta>…

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

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

Face ID で変わることの予想

Face ID と噂されている顔認証で変わることを考えてみる。 ハード側から見てみると、まず画面が広く使え、噂通り、狭額縁になる為かなりの広さが期待される。 ホームボタンがなくなることで、それに起因する故障がなくなるし、手やホームボタンが汚れていた…

iOS 11 以降で Apple が目指す世界

今回、iOS SDK で目玉の機能だと思っているのは、CoreML、Vision、ARKit で、この3つの連携がスマートフォンの世界を変えると思っている。 以下、軽く説明。 Core ML 機械学習向けフレームワーク。 顔認識などで画像から特定のもの検知したり、Siri などで使…

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

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

iOS 11 / Xcode 9 の SceneKit プロパティ、メソッド等の追加・変更・廃止一覧

自分のメモ用。 Beta なので変更される可能性あり。 Type Color 変更 / Modified 追加 / Added 廃止 / Deprecated 変更内容 SCNScene SCNScene.Attribute init(rawValue: String) SCNView SCNView.Option init(rawValue: String) cameraControlConfiguration…

iOS で SceneKit を試す(Swift 3) その90 - ここで一区切り

Swift 3 (Xcode 8) の SceneKit の解説に関してはここで一区切り。 カスタムの Action、ParticleSystem、PhysicsField、 シーンを管理する SCNSceneRenderer、 scn ファイルを読み書きする SCNSceneSource、JS で SceneKit を設定する SCNExportJavaScriptMo…

iOS で SceneKit を試す(Swift 3) その89 - SCNNode をフラット化する。

もう1つ忘れていたものノードのフラット化について。 Scene Graph でチルドノードが増えすぎたりするとドローコールが増えるため、パフォーマンスが落ちる可能性があり、 SceneKit の機能でノードのジオメトリをひとまとめにする Flatten Node の処理を行う…

iOS で SceneKit を試す(Swift 3) その88 - SceneKit で SpriteKit の SKVideoNode を使用して動画のテクスチャを適応してみる

書き忘れていたが、SceneKit では SpriteKit の SKScene シーンを SCNMaterialProperty の各 contents に渡すことができる。 やり方としては作成した SKScene をジオメトリの firstMaterial.diffuse.contents を渡すだけ。 2D描画処理のコストはかかるが、複…

iOS で SceneKit を試す(Swift 3) その87 - SceneKit でマルチパスレンダリングを行う SCNTechnique を試す

SceneKit では他のゲームエンジンと同様にシーンを複数回レンダリングし画像を合成するマルチパスレンダリングを行うことができる。 内容的には結構複雑なので、こんなことができるよというのがわかってもらえれば良いかと。 マルチパスレンダリングの使用用…

iOS で SceneKit を試す(Swift 3) その86 - SceneKit のカスタムシェーダーについて

SceneKit でのカスタムシェーダーは主に3つ SCNProgram でプリコンパイルしたものを使う SCNShadable の shaderModifiers に Metal / GLSL のスニペットであるテキストデータを使う SCNTechnique で設定し主にポストプロセスのように画面全体の変更する際に…

iOS で SceneKit を試す(Swift 3) その85 - SceneKit で 2D ライブラリ SpriteKit の SKTexutre をテクスチャとして使用する

今まで SCNMaterial が持つ SCNMaterialProperty の content で UIImage を設定し、テクスチャを決めていたが SpriteKit の SKTexutre を設定することができる。 SKTexutre を適応してみる いつも通り、Xcode の Game テンプレートで SceneKit を選択し作成…

iOS で SceneKit を試す(Swift 3) その84 - SceneKit の画面上の UI (HUD) を 2D ライブラリ SpriteKit で実装してみる

SceneKit には、SCNView には overlaySKScene というプロパティがあり、SCNView の最前面に 2D ライブラリ SpriteKit のシーンである SKScene を貼り付けることができる。 そのため、UIKit にはない パーティクルや派手な演出のある UI を作成できる。 Sprit…

iOS で SceneKit を試す(Swift 3) その83 - 画面全体の色調整(カラーグレーディング)を行う LUT 画像ファイルの作成、編集を試す

以前、Scene Editor でのカメラのポストプロセス処理を行う際に、 色調整を行うカラーグレーディングで専用画像を使用した。 今回はその使い方とつくりかたについて説明していこうと思う。 編集に関しては Photoshop など、何らかの画像編集が必要になる。 …

iOS で SceneKit を試す(Swift 3) その82 - キューブマップを設定する

立方体6面の内側に指定された画像を内側に貼り付ける360度の背景画像をキューブマップと呼び、 SCNMaterial の親玉である SCNMaterialProperty から使用する。 (内部的には Model I/O の機能だったはず) SceneKit ではシーンの background や lightingEnvi…

iOS で SceneKit を試す(Swift 3) その81 - シーンに音楽や効果音をつける。

正直なところ、Core Audio など iOS 標準機能が使用できるので、 SceneKit のオーディオ再生機能を使用する必要はないけどご紹介。 SceneKit でのオーディオ再生の特徴としては、VR や HoloLens と同様に 3D 空間の位置に対して音源を再生(ミキシング)させ…

スポンサーリンク