Apple Engine

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

iPhone と Reality Composer で始める簡単 AR その7 - オブジェクトの追加(シェイプ)編

今回は画面上部「+」ボタンから追加可能なオブジェクト基本図形である10種類のシェイプについて。

以下、作成できる基本図形であるシェイプ。
名称は iOS / iPadOS で見ることはできないが、macOS ではコンテンツライブラリで Option を押すと見ることができる。

  • 箱型
  • カプセル
  • 円錐
  • シリンダー(円柱)
  • プリズム
  • らせん
  • 球体
  • スパイラル
  • 星形
  • トーラス(ドーナツ)

 

シェイプのパラメータ詳細

以降、シェイプの説明を書いていく。
位置、回転、拡大縮小、素材、素材の色、物理シミュレーションに関しては以前書いているので割愛。

 

箱型

幅、高さ、奥行きで大きさが変更することができ、ベベルの半径は角の丸みをつけることができる。
直方体やカードのようなものも作成可能。

 

「変更」ボタンで表示されるハンドル

幅、高さ、奥行きを変更するための青いハンドルが表示され動かすと各設定を変更できる。

 

デフォルト値
  • 幅 10cm
  • 高さ 10cm
  • 奥行き 10cm
  • ベベルの半径 0.5cm

 

カプセル

丸みは上下の半球、カプセルの円の直径、高さは全体の高さを設定できる。
丸みを0%にすると円柱になり、直径を大きくすると球体になる。

 

「変更」ボタンで表示されるハンドル

高さと直径の設定変更ができる。

 

デフォルト値
  • 丸み 100%
  • 直径 10cm
  • 高さ 20cm

 

円錐

直径、高さ、角の丸みをベベルの半径で円錐を設定できる。 ベベルを大きくすると上下が完全に半球になり洋梨のような形になる。

 

「変更」ボタンで表示されるハンドル

直径と高さの設定変更ができる。

 

デフォルト値
  • 直径 10cm
  • 高さ 10cm
  • ベベルの半径 0.35cm

 

シリンダー

直径、高さで円柱を設定する。 他のもの同様に角の丸みをベベルの半径を設定できる。
こちらはベベルの半径を変更しても丸みが途中で止まりカプセル状にはならない。

 

「変更」ボタンで表示されるハンドル

直径と高さの設定変更ができる。

 

デフォルト値
  • 直径 10cm
  • 高さ 10cm
  • ベベルの半径 0.5cm

 

プリズム

直径、高さで大きさを決め、側面の数で多角形の辺の数、ベベルの半径で角の丸みで多角柱を設定する。
ベベルの半径は上下だけでなく側面の角も丸くなる。

 

「変更」ボタンで表示されるハンドル

直径と高さの設定変更ができる。

 

デフォルト値
  • 直径 10cm
  • 高さ 10cm
  • 側面 5
  • ベベルの半径 0.5cm

 

らせん

バネのような形状の設定を行う。
丸みは先っぽとお尻部分を半球にし、直径と高さらせん全体の直径、高さ、回転数は捻れている数、厚さはらせんの太さで値を小さくすると細くなる。

 

「変更」ボタンで表示されるハンドル

直径と高さを設定変更ができる。

 

デフォルト値
  • 丸み 100%
  • 直径 10cm
  • 高さ 10cm
  • 回転数 2
  • 厚さ 1.5cm

 

球形

直径が変更でき球体の設定を行う。
値はひとつで大きかが変わる。

 

「変更」ボタンで表示されるハンドル

値は高さひとつで大きさを変えることができる

 

デフォルト値
  • 直径 10cm

 

スパイラル

らせんの平面版で蚊取り線香のようなうず巻きを設定することができる。
設定値はらせんの高さがないものとなり、丸み、直径、回転数、厚さとなる。

 

「変更」ボタンで表示されるハンドル

直径と厚さの設定変更ができる。

 

デフォルト値
  • 丸み 100%
  • 直径 12.5cm
  • 回転数 2
  • 厚さ 3cm

 

星形

直径は全体の大きさ、厚さは中央部部の厚さとなり高さと同様、インセットは凹んでいる部分、ポイントは突起部分の数を設定することができる。

 

「変更」ボタンで表示されるハンドル

星の大きさ、凹んでいる部分と中央部は高さの設定変更ができる。

 

デフォルト値
  • 直径 15cm
  • 厚さ 30cm
  • インセット 0.6
  • ポイント 5

 

トーラス

ドーナツ形の形状で直径は全体の大きさ、厚さ付はリング部分の太さが変わる。
そのため、厚さの値を大きくすると中央の穴は狭くなり、形状全体が太くなる。

 

「変更」ボタンで表示されるハンドル

高さと太さの設定変更ができる。

 

デフォルト値
  • 直径 12.5cm
  • 厚さ 3.5cm

 

まとめ

基本図形として用意されているシェイプの説明を書いてみた。
Reality Composer ではテクスチャの設定はできないが、色の設定ができるため、ざっくりとした形状のものはシェイプだけでもつくることはできる。

次回はテキストのオブジェクトについて。

iPhone と Reality Composer で始める簡単 AR その6 - オブジェクトの追加の基本と共通機能編

今回はオブジェクトの追加と共通機能について。
追加可能のオブジェクトと共通機能というか編集できるプロパティをそれをいじっていく形。

 

Reality Composer でのオブジェクトの大まかな違い

Reality Composer の UI 上部の「+」ボタン(やテキストボタン)を押すとオブジェクト列挙されたコンテンツライブラリが開きそこから選択していくわけだが、大まかに分けて以下のオブジェクトの種類がある。

  • ユーザーが用意した USDZ ファイル
  • Apple が用意した USDZ ファイル
  • ビルトインのシェイプ

 

追加できるオブジェクトの種類

  • ファイル読み込みからの USDZ
  • 様々なプリミティブ形状が追加できるシェイプ
  • 文字を指定したフォントで生成する3Dテキスト
  • 矢印
  • 吹き出しのコールアウト
  • 文字看板のサイン
  • CSV から作成する3Dの表
  • Apple が用意している各種 USDZ ファイル

 

編集できるプロパティでは位置、回転、拡大縮小、物理シミュレーション以外は独自のパラメーターを変更できる。
ユーザーが用意したものはオブジェクトの設定が変えられず、Apple が用意しているものは「外観 > スタイル」が変更でき、
ビルトインのものの外観はスタイルではなく、素材と素材の色や様々な色の設定できる違いがある。

Apple が用意しているオブジェクトの スタイルはリアルな「現実」CGっぽい「スタイル」テクスチャを外しビルトインと同様に素材と素材の色が指定できる「アイコン」がある。 「現実」は形状が異なっていたり、「スタイル」とはことなるテクスチャが追加されていたりする。

 

素材と素材のカラー

 

素材

素材は以下のもの。
デフォルトではプラスチックが選択されている。 テラコッテは若干わかりづらいので説明を書くと、粘土地の素焼きの意味でイタリアの屋根瓦や埴輪とかの感じ。

  • ペイント(光沢)
  • ペイント(マット)
  • プラスチック
  • カーペイント
  • アルミニウム
  • 真鍮
  • 青銅
  • ゴールド
  • スチール
  • ゴム
  • テラコッタ

 

素材のカラー

色の付いた角丸の四角をタップすると 12 * 12 のセルで割り振られたカラーパレットが表示される。
最初の列は色相のないモノクロが白から黒で12分割。
その下から行は赤からピンクへの色相、列は彩度になっている。

macOS 版でこちらをクリックしても OS 標準のカラーウインドウの UI は表示されない。

 

まとめ

今回は基本的なオブジェクトの配置について書いた。
Apple が設定しているオブジェクトは、素材と素材のカラーの変更できることがわかったと思う。

次回は各オブジェクトの詳細と素材と素材のカラー以外の固有の設定値について。

iPhone と Reality Composer で始める簡単 AR その5 - プロパティとその設定編

f:id:x67x6fx74x6f:20200211220718p:plain

オブジェクトの追加について書こうとしていたが、オブジェクトの説明の際にプロパティに触れるのでこちらを先に説明してみる。

Reality Composer のプロパティ編集は主に2つで、シーンとオブジェクトのパラメータを操作する際に表示される UI となる。

 

シーンでのプロパティ

シーンのプロパティではシーンの名称変更と「アンカー」と「シーンの物理」がある。

 

アンカー

f:id:x67x6fx74x6f:20200211213115p:plain

新規作成と同様に水平方向、垂直方向、顔、イメージ、オブジェクトが用意されており、新規作成後にアンカーの設定を変えることができる。

垂直方向と顔の認識はそれ以外と Y と Z 軸が変わり Z 軸が上方向になるので注意。

 

シーンの物理

シーン全体での物理シミュレーションの設定を行い、アンカーが水平方向、イメージ、オブジェクトの場合 Y軸 0 が地表となり物理判定が行われる。

 

衝突する(スイッチの UI)

オフにすると Y軸 0 の物理判定がなくなる。
シーン全体の物理シミュレーションがなくなるわけではないので注意。

 

素材

f:id:x67x6fx74x6f:20200211212854p:plain

物理判定で質量、表面の抵抗、接触時どのぐらい跳ねるかを素材で示している。
以外、設定できる素材。

  • コンクリート
  • プラスチック
  • 木材
  • ゴム

 

重力

シーン全体にかかる重力加速度を設定する。
デフォルトは 9.8 m/s2 で地球と同じ。
パラメータを上げれば重力が多くかかり、1.62 などにすると月の重力となる。

マイナス値は設定できないので物体が上昇するような設定はできない。

 

オブジェクトでのプロパティ

オブジェクト選択時はプロパティの UI 変更され、そのオブジェクトの名称や各種パラメータを変更が可能。

Reality Composer で用意されているオブジェクトでは更に別のパラメータが追加されており、そちらはオブジェクトの追加の際に説明を行う。

また、今回の設定値の状態になるパターンはオブジェクトが USDZ ファイルから取り込んだもの、オブジェクトの複数選択状態、グループ化されたオブジェクトの選択がされた状態となる。

 

変換

他のツールのように、オブジェクトの位置、回転、サイズ調整(拡大縮小)を設定する。

 

物理

オブジェクトの物理シミュレーション設定を行う。

 

含める(スイッチ)

オンにすると選択しているオブジェクトの物理シミュレーションの対象となる。

 

モーションタイプ

オブジェクトの物理シミュレーションの種類を設定する。
「固定」と「ダイナミック」があり、固定は衝突の判定はあるが空間に固定され自ら動くことはない。
ダイナミックは重力に影響され動く。

ダイナミックは処理負荷がそれなりにかかるため、衝突する判定が必要があり空間に静止する場合は固定を使う。

 

素材

シーンのものと同じなので割愛。

 

衝突する図形

いわゆるコリジョンの設定でオブジェクトが衝突する判定の形状を設定する。
以下、設定項目。

  • 自動
  • 箱形
  • カプセル
  • 球体

自動はオブジェクトのポリゴンの形状、オブジェクトを囲うように箱形(矩形)、カプセル状、球状に衝突判定の形状が設定される。

処理負荷は自動が1番重く、箱形が1番軽い。

底面や側面が平らなものは箱型、球状に近いものは球体、長細くしたが平らでないものはカプセルに設定すると物理判定の処理が軽くなると予想される。

 

まとめ

Reality Composer では振る舞い以外の各設定はプロパティで行い、現状では設定項目が少ないためおぼえやすいと思われる。

次回はオブジェクトの追加について。

iPhone と Reality Composer で始める簡単 AR その4 - さまざまアンカー編

今回はアンカーについて。

Reality Composer で言うアンカーとは AR が動作の基準となる目印のようなもので、最初に試した水平平面や顔などを認識し基準点を作成しオブジェクトを配置する。

アンカーの設定は新規作成時に5つのアンカーの中から選択するか、シーンでオブジェクトを選択していない状態でプロパティを開くとアンカーの変更を行うことができる。

 

アンカーの種類

設定できるものは以下の5つで「水平方向」と「顔」に関して前やったので割愛。

  • 水平方向
  • 垂直方向
  • イメージ
  • オブジェクト

 

垂直方向

垂直方向を認識するとシーンで設定したオブジェクトが配置される。 ARKit の垂直方向のものと同じだが、水平と組み合わせて使用することは現時点でできない。

Reality Composer の垂直方向は、顔の認識と同様に Z と Y 軸が変わるので注意。
(Z 軸が上になる)

 

イメージ

設定した画像を認識してシーンで設定したオブジェクトが配置される。
イメージは画像を設定しないと AR が動作しないので注意。

画像を読み込んで実物のサイズに自動で割り振られるが任意のサイズに変更することができる。

ARKit の仕様上、認識する画像は実際に認識させるもののサイズに合わせた方が正確性が増すのためできるだけサイズを合わせると良い。

 

イメージアセットの選択から画像を追加できる。

 

オブジェクト

現実の立体物を認識してシーンで設定したオブジェクトが配置される。

 

AR オブジェクトアセットの選択からオブジェクトをスキャンするための UI が用意されている。
(一応、外部で作成したスキャンデータ .arobject ファイルを読み込むこともできる)

 

スキャンを開始すると、周囲と上部をスキャンし、テストの認識が完了すると ARKit のオブジェクト認識でも使用している .arobject ファイルが生成される。

周囲のスキャン

上部のスキャン

 

注意点

  • 認識範囲の調整ができない
  • オブジェクトのスキャンは端末のバッテリーがかなり費用される
  • スキャンするものが小さいと認識しづらくなる。

 

まとめ

5つのアンカーからの AR 体験と認識の設定が簡単に行うことができると言うのがわかったと思う。

次回はプロパティとその設定について

iPhone と Reality Composer で始める簡単 AR その3 - 主なユーザーインターフェイス編

今回は Reality Composer のメイン画面のユーザーインターフェイスについて。
Reality Composer では macOS 版と iOS /iPadOS 版でリリースされており、UI が異なっているが基本的にはどのプラットフォームでも全ての機能にアクセスできるようになっている。

書き出しの UI のみ前回やったので省略する。

 

各プラットホームでの違い

macOS と iPadOS 版はほぼ同じ UI を有し、iOS では上部に undo を除く5つのボタンと少なく他は「…」の詳細ボタンに押し込められている。

詳細

 

iOS/iPadOS 版では AR のプレビューのボタンがあり、AR が使用できない macOS ではプロジェクトを iPhone, iPad に転送して端末側で編集できる機能のボタンがある。

 

UI について

タイトルで iPhone でと書きながら、macOS の UI で説明していく。
説明していなかったが macOS 版 Reality Composer の起動は Xcode の Open Developer Tool から。

 

アンカーの選択

プロジェクト新規作成時に表示される UI。
使用できるアンカーは以下の5つで詳細は今後紹介。

  • 水平方向
  • 垂直方向
  • イメージ
  • オブジェクト

 

macOS ではテンプレートコンテンツを使用するか否かを選択でき、チェックを外すとシーン上にオブジェクトが表示されない。
ちなみにチェックボタンは状態保存されるので次回新規作成時には注意。

 

シーン(シーンピッカー)

シーンとは現在の AR 空間を設定するもので、Unity、Unreal Engine などのゲームエンジンや SceneKit でいうシーンと同義のもの。
このボタンを押すとシーンを選択する UI が表示される。
プロジェクトでは複数のシーンを作成することができ、ビヘイビアのトリガーでシーン再生、アクションで別シーンへ遷移させる設定が可能。

iOS では詳細ボタンからアクセスできる。

 

フレーム

シーンにあるすべてのオブジェクトをシーンの表示(ビューポート)に収まるように合わせたり、選択したものをシーンの表示に収まるように表示するボタン。
「フレームシーン」がすべて、「選択済みのフレーム」が選択したもの。

iOS ではオブジェクトがない部分でダブルタップで「フレームシーン」、オブジェクトをダブルタップで「選択済みのフレーム」と同じ振る舞い。

 

スナップ

f:id:x67x6fx74x6f:20200211042920p:plain

オブジェクトをドラッグして移動する際に他のオブジェクトにスナップするか否かを選択するボタン。
スナップする単位は各オブジェクトのバウンディングボックス(ジオメトリ単位で囲む立方体)

iOS では詳細ボタンからアクセスできる。

 

変更

f:id:x67x6fx74x6f:20200211040507p:plain

オブジェクトのプロパティをビューポートで変更するボタン。
立方体なら幅、高さ、奥行、球なら直径、棒グラフなら棒の長さなど、変更の操作ができるものはビルトインのジオメトリのみで、USDZ ファイルでは使用することができない。

iOS / iPadOS ではオブジェクトの長押し、またはオブジェクトタップ後再度タップでアクセスできる。

 

スペース

座標系をワールド座標かローカル座標に変更するボタン。

iOS では詳細ボタンからアクセスできる。

 

オブジェクト

シーンに設置するビルトインのオブジェクト、または用意されているものや自前の USDZ ファイルを選択する UI が表示されるボタン。
詳細は今後紹介。

 

テキスト

オブジェクトと同様にシーンに設置する。

iOS / iPadOS ではオブジェクトの UI 内で選択できる。

 

再生

ビヘイビアで設定したアニメーションを再生、または停止するボタン。

 

iOS上で編集 (macOS 版のみ)

macOS のみの機能で、現在のプロジェクトを iOS / iPadOS の Reality Composer に渡し編集することができるボタン。
クリックすると UI が表示され Reality Composer が起動されている iOS / iPadOS 端末が近くにある場合、端末側で編集することができる。
(この機能は AirDrop を使用している可能性があり互いに設定をする必要がある)

 

プロパティ

シーンやオブジェクトの設定を行う UI を表示するボタン。
状態によって表示が異なるため割愛。
詳細は今後紹介。

 

ビヘイビア

アンカー認識後、テンプレートの振る舞いまたは、シーン開始やオブジェクトタップなど動作の引き金になるトリガー。
シーンやオブジェクトの振る舞いを設定するアクション。
ビヘイビアのボタンを押すとこれらを設定 UI が表示される。

ビヘイビアは複数設定することが可能で、 アクションは複数のアクションを同時再生したり、順番に再生したり、ループ再生したりすることができる。
また、RealityKit で動作を開始するトリガー、RealityKit へ通知するアクションが用意されている。

ビヘイビアとプロパティの UI 表示は排他的になっているためビヘイビアが表示されるとプロパティが閉じる。

詳細は今後紹介。

iOS では詳細ボタンからアクセスできる。

 

オブジェクトの複数選択

macOS の場合は Shift または Command を押しながらクリック。
iOS / iPadOS はオブジェクトをタップした状態を保ちながらもうひとつのオブジェクトをタップする。

 

グループ / グループ解除 / 展開

f:id:x67x6fx74x6f:20200211041521p:plain

複数のオブジェクトをグループ化してひとつのものとして操作したり、グループを解除することができる。
また、USDZ では階層化されているものは展開をして階層をなくすことができる。

macOS の場合は右クリックから、
iOS / iPadOS ではオブジェクトの長押し、またはオブジェクトタップ後再度タップでアクセスできる。

 

置換

f:id:x67x6fx74x6f:20200211044745p:plain

選択したオブジェクトをコンテンツライブラリから選択した他のオブジェクトへ置き換える。

macOS の場合は右クリックから、
iOS / iPadOS ではオブジェクトの長押し、またはオブジェクトタップ後再度タップでアクセスできる。

 

AR / AR プレビュー(iOS / iPadOS 版のみ)

iOS / iPadOS 版のみ使用可能でこのボタンを押すと端末で AR のプレビューをしながらプロジェクトの編集を行うことができる。

 

デベロッパ(iOS / iPadOS 版のみ)

iOS / iPadOS 版のみ使用可能で詳細の中にある。
ARセッションの保存と再生がありセッション(カメラとセンサー)情報の保存と再生が可能でアプリケーションのデバッグなどに使用できる。

 

環境設定 (macOS 版のみ)

macOS 版では以下の設定変更ができる。

  • 単位
  • テンプレートコンテンツを使用
  • 読み込み時にUSDZファイルをグループ化
  • オブジェクトの縁にガイドを表示

f:id:x67x6fx74x6f:20200211045737p:plain

 

マニピュレータ

f:id:x67x6fx74x6f:20200211042633p:plain

ビューポートで選択したオブジェクトをコントロールするための UI。
他のツールとは異なり、カメラ方向に合わせて移動方向と回転方向のマニュピレータが表示される。
そのため、カメラを回転や移動しないと表示されない場合があるが、X, Y や roll や yaw のハンドル被って操作しずらいというのが緩和される。

 

まとめ

コンテンツを制作するツールとして考えると機能的にはかなり少ないが、AR コンテンツを作るにはも十分な UI が備わっている。

次回はアンカーについて

iPhone と Reality Composer で始める簡単 AR その2 - reality ファイルの書き出しとプレビュー編

前回は Reality Composer のざっくりした説明を書いたが今回はファイルの書き出しとプレビューについて。

Reality Composer でのファイルの保存は2種類あり、Reality Composer のプロジェクトである .rcproject と書き出しから行う .reality の2つがある。

 

Reality Composer での reality ファイルとは何か

AR アプリで RealityKit を開発に使用する場合、Xcode では .rcproject を使用するが、ビルド時に変換され、アプリ動作時には書き出された .reality が使用される。

そのため、reality ファイルは主にアプリ内で使用されるファイルだが、macOS や iOS / iPadOS の QuickLook で閲覧やプレビューが可能であるため簡易 AR 体験ができるファイルとなる。

 

USDZ と reality ファイルの違いは何か

QuickLook で閲覧できるとなると USDZ と reality ファイルの違いが気になるところだが、大きな違いは reality ファイルはアンカーの設定が適応される点である。

USDZ と reality ファイルのプレビューを実行した際、AR 表示の USDZ では平面にのみにオブジェクトを配置しアニメーションを表示することしかできないが、
reality ファイルではアンカーを使用した AR と設定した振る舞いが可能となり、先に書いたように簡易 AR アプリとして扱うことができる。

 

Reality Composer から reality ファイルを作成してみる

試しに前回作成したヘルメットのプロジェクトを開き画面上部の右にある「…」をタップ。

 

「詳細」が表示され下の方に「書き出す」があるのでタップする。

 

下からシェアシートが表示されるのでファイルアプリなどに保存するだけ。

 

ファイルアプリで保存した場合、その reality ファイルタップでプレビュー表示をおこなうことがてきる。

 

USDZ とは異なり、設定した顔のアンカーがプレビューでも適応されている。
Reality Composer で使用できるアニメーションやタップから振る舞いを設定したりなど今後紹介するビヘイビアが閲覧できるため、.rcproject で作成したものはほとんどプレビューが可能である。

 

.rcproject と .reality の中身

.rcproject は macOS の .app のようにフォルダになっており、各種設定の JSON ファイルと使用しているオブジェクトの USDZ ファイル、ファイルアイコンなどで使用するサムネール画像という構成。

.reality は各種設定の JSON ファイルと独自のバイナリファイルが zip 圧縮されたファイルとなっていてる。

 

まとめ

Reality Composer では簡易的な AR コンテンツの作成・閲覧できるものをファイルとして書き出す機能があり、コードを書かずにある程度の AR コンテンツ作成ができることがわかる。

次回は Reality Composer の UI について

iPhone と Reality Composer で始める簡単 AR その1 - 概要編

Reality Composer について勉強を兼ねて書いてみる事にした。

Reality Composer は WWDC 2019 で新しい AR のフレームワーク RealityKit と共に発表された開発環境の1つで SceneKit でいう Scene Editor。
オブジェクトの配置や振る舞い、AR のプレビューやプレビュー用のファイルを簡単に作成することができるアプリケーションである。

Apple アプリ開発環境 Xcode とは別のアプリとなっており、macOS (Mac Catalyst) 以外にも iOS / iPadOS があり、App Store からダウンロードができ単体で動作する。
そのため macOS を使わなくてもある程度コンテンツの作成することができる。

Reality Composer の開発の中心人物は Stuart Ferguson という方で LightWave 3D の Modeler、Foundry (Luxology) の modo などの開発や指揮を取っており 30 年以上 3DCG の制作ツールの会社にいた強者である。
このブログでも彼が Apple へ転職した際に何か 3D 関連のアプリをつくると予想していたがこのような形となった。

 

Reality Composer でできること

Metal や SceneKit で ARKit のコンテンツを作るのが 100 とするなら、RealityKit では半分ぐらいといったところ。
Reality Composer 単体ではさらに半分という感じ。

以下、機能を列挙。

  • ビルトインで用意されているオブジェクトの追加
  • オブジェクトの移動、回転、拡大縮小
  • USDZ ファイルをオブジェクトとして追加
  • USDZ で設定されているアニメーション再生
  • 簡易的なアニメーションと物理シミュレーション
  • シーンやオブジェクトへの振る舞いの設定
  • 音の追加と再生
  • 環境の光や反射の自動設定。
  • 複数シーンの設定
  • アニメーションプレビュー
  • AR の動作プレビュー
  • reality ファイルの書き出し
  • RealityKit のコードからの呼び出し

 

と、基本的にはシーン上にオブジェクトを配置し、アニメーションや音の再生など振る舞いやその起点となるシーンの始まり、タップなどユーザ操作によるトリガーを設定できる程度。

ただ、AR プレビューができるため、AR 環境でオブジェクトを動かしたりしながら位置設定やアニメーションなど即時的に編集ができるなどの利点がある。

 

ひとまず iPhone / iPad で動かしてみる

今回は iPhone の Reality Composer 1.3.1 を使用してみる。
Reality Composer 自体 iOS 13 からのアプリであるため、iOS 13 対応端末以外では動かないので注意。

App Store から Reality Composer をダウンロードして起動。

右上「+」ボタンを押して AR のコンテンツで認識できるタイプのアンカーを設定しプロジェクトを作成。

 

今回は「水平方向」を選択し、水平部分を認識すると AR コンテンツが表示されるモードにする。

 

ちなみにアンカー設定に関してはプロジェクト作成後でも変更可能なのでとりあえず適当なものを選んでも良いと思われる。

起動すると立方体が配置された画面に表示される。

 

上部に AR ボタンがありタップすると AR の表示になり、「iPhoneを動かして開始」とコーチングオーバーレイが表示されるので、そのメッセージに合わせて水平方向の平面を探すと現実空間に立方体が表示される。

 

AR プレビューの機能であるため AR 機能を使用しながらコンテンツの編集ができる珍しいツールである。

 

さらに試してみる

USDZ ファイルを読み込んで顔認識をしてみる。

ちなみに顔認識は True Depth カメラを搭載している端末(Face ID が使用できる端末)でしか動作しないので注意。

先ほどのようにアプリ起動後に右上「+」ボタンをタップし、顔のアンカーを指定。

 

今回使用しないので、吹き出し部分は長押しで消しても構わない。

そして、以前 Reality Converter Beta で作成した Battle Damaged Sci-fi Helmet の USDZ を読み込むためダウンロードしてファイルアプリに保存。

上部「+」ボタンをタップしコンテンツライブラリを開き、さらに「+」ボタンをタップ。

先ほどの USDZ を読み込みシーンに配置する。

 

顔と垂直平面のアンカーは認識する面とY軸とZ軸が変わるため、オブジェクトをタップや歯車のボタンをタップし、X軸を-90度方向に回転する必要がある。

 

ヘルメットの位置は AR のボタンをタップして調整できるので自分の顔の合う場所調整が可能。

 

まとめ

とりあえず軽く動かすところまでコードを書かずに試すことができ、面白いとは思う。

次回は reality ファイルの書き出しとプレビューについて書いていく。

 

今回もお借りした Model データはこちら。

sketchfab.com