Apple Engine

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

開発

Xcode 10 系で scnassets フォルダにファイルを追加すると CodeSign failed エラーになる件

原因不明。 現象 Automatically manage signing で Team を設定し実機にビルド。 最初は実機で動作したが、scnassets フォルダにファイルを追加すると 「Command CodeSign failed with a nonzero exit code」でビルドが止まる。 対処法 scnassets フォルダを…

ARKit (SceneKit) で Unreal Engine や Unity のようなグローパーティクルをつくる

SceneKit でグローなパーティクルのサンプルがなかったのでつくってみることにした。 つくってから気がついたが Apple 謹製のサンプルファイル Fox 2 での背景の火の粉のパーティクルがそれに当たる。 パーティクルにグローができる原理 デフォルト / HDR + …

ARKit や SceneKit で使用している simd について - クォータニオンでの関数編 その2 -

今回はクォータニオンで使用する線形補間の関数について。 基本的には球状での回転の補間となる。 用意されている関数は以下のもの。 simd_slerp simd_slerp_longest simd_spline simd_bezier ちなみに線形補間に関しては iOS でサンプルアプリがあるのでそ…

ARKit や SceneKit で使用している simd について - クォータニオンでの関数編 その1 -

今回はクォータニオンで使用する関数について。 線形補間関連の関数はまたいずれ。 演算子と関数について書くが、基本的にはプロパティと関数が対になっている。 演算子 等価演算子と四則演算が可能。 +, - に関しては値が加算、減算されるため、正規化しな…

ARKit や SceneKit で使用している simd について - クォータニオン編 -

今回はクォータニオンについて。 確かこの Blog で SCNQuaternion もちゃんと紹介していないので、まずはクォータニオンについてのご説明。 クォータニオンのざっくり説明 クォータニオンは四元数と呼ばれ、スカラー(実数)部分と3つの虚数部分をまとめたベ…

ARKit や SceneKit で使用している simd について - 行列での関数編 -

今回は行列で用意されている関数について 用意されている関数 以下のものが用意されている。 simd_add() simd_sub() simd_mul() simd_equal() simd_almost_equal_elements() simd_almost_equal_elements_relative() simd_linear_combination() simd_determin…

ARKit や SceneKit で使用している simd について - 行列型編 -

今回は 行列型と初期化について。 ARKit や SceneKit で主に使用する float4x4 を説明する。 double4x4 は float4x4 と上限値以外は同じなので 割愛。 float4x4 と double4x4、クオータニオン以外では、以下の行列が用意されており、double や float、行列の…

ARKit や SceneKit で使用している simd について - 関数編 -

今回は simd の演算用の関数についての説明。 simd のライブラリはベクトル内の各要素対して1つの命令で各要素に適応させることができる。 以前に紹介した通り、+演算子を使用すると、2つのベクトルの要素ごとに合計を簡単に計算することができる。 let f3_1…

ARKit や SceneKit で使用している simd について - 型の初期化と演算子編 -

前回に引き続き simd の説明で、今回は simd 型の初期化と演算子に付いて。 行列型に関して他の記事で紹介する。 今回は ARKit や SceneKit で主に使用する以下のものの説明。 double は float と上限値以外は同じなので割愛。 float3 float4 直接使用するこ…

ARKit や SceneKit で使用している simd について - 概要編 -

ARKit や SceneKit で使用している Accelerate フレームワークの simd ライブラリについて書いてみる。 元々は Accelerate フレームワークで vImage、vDSP や BLAS、LAPACK などを使用する際に、ハードウェアに近い部分での計算を行うために追加されたものだ…

ARKit でタップするカメラに追従する仮想オブジェクト

ARKit で仮想オブジェクト動かす際、タップ後スワイプして移動を行うことがあるが、 面倒なのでこういう UI / UX もありかなと試してみることにした。 あと過去の記事で書いたものが実現できるか試してみたかったので。 ARKit とは書いているが SceneKit の…

ARKit で LUT 画像からカラーグレーディング

昨日のサンプルの方法で pointOfView の SCNCamera を取得し、LUT (look up table) 画像を使用してカラーグレーディングを行ってみる。 使い道として全体的に色味を変えたいときに使用する。 ARSCNView に直接 CIFilter で効果を入れられないので、普通なら …

ARKit で HDR や被写界深度を適応する

ARKit で HDR や被写界深度を適応してみようと思う。 SceneKit ベースの ARKit のシーン上でのカメラは、ARSCNView の pointOfView へ SCNCamera を適応しているため、 SCNCamera の HDR や被写界深度を設定するとそのまま適応されるのでかなり簡単。 SceneK…

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

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

Xcode 10 での Scene Editor の変更

地味に UI が変更されたので、変更内容を見てゆく。 (Xcode 9 で追加されたものが混じっていたらすまない) Object Library 今まで右下のボタンや「Command + Option + Control + 3」で表示していたが、 該当部分とショートカットキーがなくなった。 ヘッダー…

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 の変更内容としてはいるが、自分の見落としで以前…

iOS 12 SDK Bata 4 の ARKit 2 変更内容

Beta 版から記事を起こしているため今後変更される可能性あり。 ARKit 1.0 や 1.5 は Beta 中は、ほぼほぼ変更はなかったが 今回はテストしながら必要な機能を少しずつ増やしている模様。 Beta 4 は以下のような更新。 変更数 追加 (Added) 1 変更 (Modified…

iOS 12 SDK Bata 3 の ARKit 2 変更内容

Beta 版から記事を起こしているため今後変更される可能性あり。 物体認識のクラス ARReferenceObject で参照オブジェクトの情報をマージできるようになった。 それに伴いマージ失敗のエラーが追加されている。 追加 ARSessionObserver ARError.Code objectMe…

iOS 12 SDK Bata 3 の SceneKit、Scene Editor 変更内容

Beta 版から記事を起こしているため今後変更される可能性あり。 主に SCNSceneRenderer の delegate と、 SCNPhysicsContact の contactDelegate のプロパティ属性が「unowned(unsafe) 」から「weak」に変更された。 SCNSceneRendererDelegate 変更前 unowne…

Xcode 9 の Scene Editor、iOS 11 の Scene File の Procedual Sky のバグについて

Xcode 10 を触っていて気づいたのだが、Xcode 9 の Scene Editor、iOS 11 の Scene File では Procedual Sky で正しい表示がされないバグがある。 ちなみに Scene Editor での Procedual Sky の適応方法は、何らかのノードを選択後、Scene Inspector (Comman…

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

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

iOS 11.4 で追加される ClassKit とは何か

ClassKit フレームワークは、 先の教育向けイベントで発表された Schoolwork というアプリと連携するためのフレームワークで、既存のアプリへ何らかの機能を付け加えるものではない模様。 Classroom は生徒や生徒の端末、生徒のコンテンツの管理、教師と生徒…

指定した場所にジオメトリを複製する SCNReplicatorNode をつくってみた in SceneKit

画像は球状にスペースシップを複製し配置したもの(ReplicatorSample3) ジオメトリを位置情報の配列をもとに複製したり、法線情報の配列から回転させるやつで 3DCG や動画編集などであるリプリケーター。 また、複製したジオメトリに対して SCNAction 設定…

Document Base App テンプレートを使って SceneKit のシーンファイル(.scn)簡易ビューワーをつくる for iOS

macOS の場合、ファイル選択しスペースキーを押すと QuickLook 経由でシーンファイルのプレビューが閲覧できるのだが、 iOS の場合設定がされていないので、極めて簡単な表示するだけのビューワーをつくってみる。 iOS の Document Based App とは? iPhone …

Xcode 9.3 Beta 2 の SDK での変更

ざっと見た感じ BusinessChat の API が追加されている模様。 Beta 1 の頃から Swift 4.0 > 4.1 の変更があるけど割愛。 (機能追加や、flatMap { $0 + [1] } の flatMap が compactMap に変更とか) BusinessChat で追加された Class BCChatButton BCChatAc…

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

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

スポンサーリンク