FRMSKI開発ブログ

プログラミング、UI / UX、仕事、読書のことなど、日々の記録を綴ります

ARKit

【ARKit】3D空間座標をスクリーン座標に変換する

ARの空間座標をスクリーン座標に変換する関数を紹介します。 ARSCNViewのprojectPointで取得できます。 下記ソースです。 func getScreenPointfromARPos(sceneView:ARSCNView , pos:SCNVector3) -> CGPoint { let screenPos = sceneView.projectPoint(pos) l…

HIG - System Capabilities / Augmented Reality① 和訳

HIGのAugmented Realityについての和訳です。3回にわけて翻訳します。 Augmented Reality アップルのAR(拡張現実感)技術であるARKitは、仮想オブジェクトを現実の世界とシームレスに融合させる魅力的な体験を提供します。 ARアプリでは、デバイスのカメラ…

【Swift】ARSceneViewの基点を指定する

ARSceneVIewでの基点は下記コードで変更できます。 let sceneView:ARSCNView self.sceneView.session.setWorldOrigin(relativeTransform: simd_float4x4( transfrom )) simd_float4x4は4x4の行列でトランスフォームの値になります。 simd_float4x4 - simd | …

【ARKit】lightEstimateでカメラ画像の明るさを環境光に反映

上画像のようにARKitでカメラ画像の明るさをライティングに反映する方法をご紹介します。 ①SceneKitのライティングを作成 まずはライティング用ノードを作成してrootNodeに追加します。 var sceneLight: SCNLight!//シーンのライト override func viewDidLoa…

スマートフォン史上最強「A12 Bionic」とは

9月に発表されたiPhone XS/XS Max/XRには「アップル A12バイオニック(Apple A12 Bionic)」が採用されています。 世界最大の半導体製造ファウンダリ「TSMC(台湾)」で製造された7ナノメートルプロセスラインで生産される最新鋭のモバイルプロセッサです。 …

ARKitでカメラの位置を取得する

ARKitでカメラの位置を取得する方法です。 ARSCNView.sessionのデリゲート(ARSessionDelegate)をViewController自身に設定します。 sceneView.session.delegate = self セッションのイベントにアクセスしてフレームからカメラを取得出来ます。 func sessio…

【ARKit】ARSCNDebugOptionsで特徴点と座標軸を表示する

CoreML開発に特徴点もしくは座標軸を表示する方法を紹介します。 ARSCNDebugOptionsを設定します。 特徴点を表示するにはshowFeaturePoints、 座標軸を表示するにはshowWorldOrigins。 下記は両方表示するコードです。 self.sceneView.debugOptions = [ARSCN…

CoreML + ARKit【調査編】

CoreMLの調査のためApple公式のドキュメントを調査しました。↓ Apple Developer Documentation 【調査内容】 ・機械学習のモデルは.mlmodelを使用 ・ドキュメントからプロジェクトのサンプルをダウンロードできます。 ・既存の機械学習モデルもmlmodelに変換…

UnityでARkitをはじめる

ARkit開発環境(Unity) ・iPhone6s〜 ・iOS11〜 ・Xcode9〜 ・Unity5.6.1.p1〜 bitbucket.org ARKitで出来ること ・ポジショントラッキング ・壁や床などの平面検出 ・二次元画像の認識 ・ポイントクラウド(3次元の点座標情報)取得 ・周囲の明るさ推定 ・…