MENU

ToF AR
Download

Table of Contents

1. TofAr コンポーネント

ToF AR TofAr コンポーネント

TofArコンポーネントは他のコンポーネント間に共通の機能を提供します。

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

Yes

iOS

Yes

1.1. RunMode

RunModeはToF ARの実行状態を表します。ToF ARは下記バターンで動作することができます。 MultiNodeではAndroidデバイスのセンサー値やカメラ映像を他のデバイスで受信し、利用することができます。

Default
Multi Node

現在のRunModeは RuntimeSettingsProperty のrunModeより取得できます。

1.2. Prefabs

Name Description

TofArManager

SDK共通機能を提供します。

1.3. コンポーネントの詳細

TofArコンポーネントの詳細については API references for TofAr を参照してください。

2. ToF コンポーネント

ToF AR ToF コンポーネント

ToFコンポーネントはToFカメラのDepthデータ、Confidenceデータ、PointCloudデータへのアクセスを提供します。主に下記機能を提供します。

  • データ取得

  • データの表示

  • ToFカメラのコントロール(フレームレート、露出時間の変更など)

image
image

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

Yes

iOS

Yes

2.1. ストリームとデータ構造

アプリケーションはManagerのPublic Fieldよりデータを取得できます。

stream

2.1.1. データ形式: Depthデータ

Depth映像のピクセルを格納したshort配列(16bit)。 各要素にはToFカメラを原点としたDepthデータが格納されます。 Depthデータの単位はミリメートル。

[0] [1] [2] […​] [[Width * Height]]

2500

2550

2525

…​

0

2.1.2. データ形式: Confidenceデータ

Confidence映像ピクセルを格納したshort配列(16bit)。 各要素にはConfidenceデータが格納されます。 0以上の値が格納されます。

[0] [1] [2] […​] [[Width * Height]]

100

0

500

…​

0

2.1.3. データ形式: PointCloudデータ

PointCloudデータを格納したbyte配列(8bit)。 配列内にはx,y,z各16bitの値が2要素を用いて格納されます。

値の取り出しには System.BitConverter.ToInt16(byte[] value, int startIndex) メソッドや System.BlockCopy (Array src, int srcOffset, Array dst, int dstOffset, int count) を用います。

例:

// get single value.
short x = BitConverter.ToInt16(TofArTofManager.Instance.PointCloudData.Data, 0);
short y = BitConverter.ToInt16(TofArTofManager.Instance.PointCloudData.Data, 2);

// get all values.
int size = TofArTofManager.Instance.PointCloudData.Data.Length;
short[] all = new short[size / sizeof(short)];
Buffer.BlockCopy(TofArTofManager.Instance.PointCloudData.Data, 0, all, 0, size);
[0] [1] [2] [3] [4] [5] [6] [7] …​ [Width * Height * 2 * 3]

[x0]

[y0]

[z0]

[x1]

…​

[Width * Height * 3]

100

50

200

200

100

60

64

32

…​

0

2.2. Prefabs

Name Description

TofArTofManager

ToFカメラとの接続を管理します。
ToFカメラの機能を利用するシーンに必ず配置してください。

DepthViewQuad

ToFカメラ映像を表示するQuadオブジェクト。
シーンに配置するとTofArTofManagerのストリーム開始/終了に自動連携し表示を行います。

DepthViewRawImage

ToFカメラ映像を表示するRawImageオブジェクト。
シーンに配置するとTofArTofManagerのストリーム開始/終了に自動連携し表示を行います。

PointCloudMesh

点群を表示するMeshオブジェクト。
シーンに配置するとTofArTofManagerのストリーム開始/終了に自動連携し表示を行います。

DepthConfigurationPanel

Depthモード選択UI。

SkeletonDepthView

ToFカメラ映像上にHand認識結果, Body認識結果, Face認識結果を示するRawImageオブジェクト。

2.3. コンポーネントの詳細

Tofコンポーネントの詳細については API references for Tof を参照してください。

3. Color コンポーネント

ToF AR Color コンポーネント

ColorコンポーネントはRGBカメラデータへのアクセスを提供します。主に下記機能を提供します。

  • データ取得

  • データの表示

  • RGBカメラのコントロール(解像度、オートフォーカス、自動露出、ホワイトバランスの設定など)

  • 静止画撮影(iOS AVFoundation 使用時のみ)

image

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

Yes

iOS

Yes

3.1. ストリームとデータ構造

アプリケーションはManagerのPublic Fieldよりデータを取得できます。

stream

3.1.1. データ形式: Colorデータ

Color映像のピクセルを格納したbyte配列(8bit)。 各要素にはColorカメラのピクセルデータが格納されます。 ピクセルデータの内容はRGBカメラのハードウェアや設定に依存します。

[0] [1] [2] […​] [max]

128

120

200

…​

0

3.1.2. データ形式: PhotoColorデータ

CapturePhotoProperty で指定された画像フォーマットのファイルイメージを格納したbyte配列(8bit)。

3.1.3. データ形式: PhotoDepthデータ

PhotoColorデータ撮影時にキャプチャされたDepth映像のピクセルを格納したbyte配列(8bit)。

3.2. Prefabs

Name Description

TofArColorManager

RGBカメラとの接続を管理します。 RGBカメラの機能を利用するシーンに必ず配置してください。

ColorViewQuad

ToFカメラ映像を表示するQuadオブジェクト。 シーンに配置するとTofArColorManagerのストリーム開始/終了に自動連携し表示を行います。

ColorViewRawImage

ToFカメラ映像を表示するRawImageオブジェクト。 シーンに配置するとTofArColorManagerのストリーム開始/終了に自動連携し表示を行います。

3.3. コンポーネントの詳細

Colorコンポーネントの詳細については API references for Color を参照してください。

4. Plane コンポーネント

ToF AR Plane コンポーネント

PlaneコンポーネントはDepthカメラ映像内の指定ポイントを含む平面をリアルタイム認識します。 主に下記機能を提供します。

  • 平面情報の取得

  • Unityシーン内での動的オブジェクト化

最大8つまでの認識設定を一括して指定/取得することができます。 nullまたは要素数0の設定リストを指定すると平面認識は実行されなくなります。

image

本コンポーネントは以下のプラットフォームで使用可能です。

Platform Available Note

Android

Yes

iOS

Yes

4.1. ストリームとデータ構造

アプリケーションはManagerのPublic Fieldよりデータを取得できます。

stream

4.2. データ形式: Planeデータ

平面情報を格納した構造体です。

[Member] [Type] [Description]

normal

Vector3

平面の法線ベクトル

center

Vector3

平面検出基準点

radius

float

基準点から最も近い平面端までの距離

4.3. Prefabs

Name Description

TofArPlaneManager

ToF AR Planeコンポーネントとの接続を管理します。
Planeの機能を利用するシーンに必ず配置してください。

PlaneObject

平面検出結果を可視化する3Dオブジェクト
シーンに配置すると平面計算結果を平面のサイズ(半径)、傾きをTofArPlaneManagerのストリーム開始/終了に自動連携し表示を行います。

4.4. コンポーネントの詳細

Planeコンポーネントの詳細については API references for Plane を参照してください。

5. Mesh コンポーネント

ToF AR Mesh コンポーネント

MeshコンポーネントはDepthカメラ映像から3Dメッシュをリアルタイム生成します。 主に下記機能を提供します。

  • 頂点やトライアングル情報の取得

  • Unityシーン内での動的Meshオブジェクト化

  • Meshの軽量化制御

  • Segmentationコンポーネントが生成したマスク部分を除外したメッシュの生成

image

Meshの解像度制御は AlgorithmConfigProperty の設定で行うことができます。 meshReductionLevel をn(nは0以上の整数)と設定すると、Mesh生成に利用するPointCloudの点数は1/(n+1)となり、Meshの解像度を制御することができます。

meshReductionLevelは0の時最も高解像度で、数値を上げるほど解像度は下がるが軽量化されます。 下図ではオレンジ色のPointCloudデータがMesh生成の入力データとして利用されることを示しています。

meshReduction

本コンポーネントは、以下のプラットフォームで使用可能です。

Platform Available Note

Android

Yes

iOS

Yes

5.1. ストリームとデータ構造

アプリケーションはManagerのPublic Fieldよりデータを取得できます。

stream

5.2. データ形式: Meshデータ

頂点、トライアングル情報を格納した構造体です。

[Member] [Type] [Description]

verticesCount

int

頂点数

vertices

float*

頂点配列へのポインタ

trianglesCount

int

トライアングル数

triangles

int*

トライアングル配列へのポインタ

5.3. Prefabs

Name Description

TofArMeshManager

ToF AR Meshコンポーネントとの接続を管理します。
Meshの機能を利用するシーンに必ず配置してください。

DynamicMesh

Mesh生成結果を可視化するMeshオブジェクト。
シーンに配置するとMesh生成結果の頂点を反映した形状をTofArMeshManagerのストリーム開始/終了に自動連携し表示を行います。

5.4. コンポーネントの詳細

Meshコンポーネントの詳細については API references for Mesh を参照してください。

6. Coordinate コンポーネント

ToF AR Coordinate コンポーネント

Coordinateコンポーネントは解像度が異なるDepthカメラ映像とRGBカメラ映像、3Dカメラの座標相互変換を行います。 本機能はコンポーネントプロパティにアクセスすることにより変換後の座標データを取得することができます。

image

キャリブレーション情報は CalibrationSettings Prefabを用いることでアプリケーション間で共有することができます。

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

Yes

iOS

Yes

6.1. ストリームとデータ構造

本コンポーネントはストリームデータアクセスは提供しません。

6.2. Prefabs

Name Description

TofArCoordinateManager

ToF AR Coordinateコンポーネントとの接続を管理します。
Coordinateの機能を利用するシーンに必ず配置してください。

CalibrationSettings

Depth映像とColor映像のマッピングを行うためのキャリブレーション情報管理します。
キャリブレーション情報の保存、読み込み、デフォルト値への復帰を行えます。

6.3. コンポーネントの詳細

Coordinateコンポーネントの詳細については API references for Coordinate を参照してください。

7. Hand コンポーネント

ToF AR Hand コンポーネント

HandコンポーネントはToFカメラ映像から人の手や指の関節の位置をリアルタイム認識します。

image

主に下記機能を提供します。

  • 手の存在有無の取得

  • 手の関節等の位置情報の取得

  • 両手の中心点の表示(RecognizeConfigProperty.cameraFacingをFrontとした場合)

  • ハンドポーズとハンドジェスチャーの認識(ハンドポーズは瞬間的動作、ハンドジェスチャーは連続的動作)

  • 指先の平面タッチ推定

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

Yes

iOS

Yes

7.1. 認識モード

認識モード 説明

OneHandHoldSmapho

端末を片手で持ち、他方の手を端末の前方に差し出しリアカメラで撮影します。

Face2Face

端末に対面し片手または両手をフロントカメラで撮影します。

HeadMount

スマートフォン用VRゴーグルに端末をセットして頭部に装着し、片手または両手を前方に差し出しリアカメラで撮影します。

7.2. 認識モードごとの認識距離

認識モード 認識距離

OneHandHoldSmapho

100~800mm

Face2Face

100~1200mm

HeadMount

100~800mm

7.3. ストリームとデータ構造

アプリケーションはManagerのPublic Fieldよりデータを取得できます。

stream

7.3.1. データ形式: Handデータ

Hand情報を格納した構造体です。

[Member] [Type] [Description]

handStatus

HandStatus

手の認識状態

featurePointsLeft

Vector3[]

左手特徴点と手首特徴点のカメラ座標系でのXYZ座標
※ ArmCenter の座標は取得できません。

featurePointsRight

Vector3[]

右手特徴点と手首特徴点のカメラ座標系でのXYZ座標
※ ArmCenter の座標は取得できません。

poseLevelsLeft

float[]

左手のポーズの認識レベル

poseLevelsRight

float[]

右手のポーズの認識レベル

7.4. 手特徴点の位置

handindex
ArmCenter の座標は取得できない。

7.5. 手認識処理を実行する Neural Network Library について

手認識処理の下層レイヤでは下記のNeural Network Libraryを使用することができます。

  • TensorFlow Lite

アプリケーション実行時に使用される Neural Network Library 及び RuntimeMode は下記フローで決定されます。

  1. TofArHandManager のUnity Inspectorの下記指定値

    • nnlib

    • runtimeMode

    • runtimeModeAfter

  2. 端末ごとのデフォルト設定値。
    端末ごとのデフォルト設定値については HandライブラリとRuntimeModeのデフォルト設定 を参照してください。

7.6. 端末の回転に関する設定とHandModelの回転方向のまとめ

Cardboard XR Plugin Orientation [HandModel.]
autoRotation
HandModelの回転方向

1

Off

Auto Rotation

True

端末の回転方向と同じです

2

Off

Auto Rotation

False

回転しません

3

Off

Auto Rotation 以外

True

端末の回転方向と同じです

4

Off

Auto Rotation 以外

False

回転しません

5

On

Landscape Right

True

端末をLandscape Right 方向とした時に正しく見える方向です

6

On

Landscape Right

False

回転しません(7と同じ方向です)

7

On

Landscape Left

True

端末をLandscape Left 方向とした時に正しく見える方向です

8

On

Landscape Left

False

回転しません(7と同じ方向です)

7.7. 手モデルへの当たり判定追加について

手モデルへ当たり判定を追加するには、HandCollider Prefabをシーンに配置し、任意の設定を行います。 その際、HandModelまたはRealHandModelと同一の親オブジェクトの配下に配置する必要があります。

7.8. ポーズ推定について

ポーズ推定は単一フレームの手のポーズを認識します。 ポーズの種類については PoseIndex を参照してください。

7.9. ジェスチャー推定について

ジェスチャー推定は1秒間の連続的な手の動きのパターンを認識します。 ジェスチャーの種類については GestureIndex を参照してください。

7.10. Prefabs

Name Description

TofArHandManager

ToF AR Handコンポーネントとの接続を管理します。
Handの機能を利用するシーンに必ず配置してください。

HandModel

手検出結果を可視化する3Dオブジェクト。
シーンに配置すると検出された手の特徴点位置にSphereを表示します。

RealHandModel

手検出結果を可視化する3Dオブジェクト。
シーンに配置すると検出された手をリアルな3Dモデルで表示します。
Assets/TofAr/TofArHand/V0/RealHandModel配下にマテリアルをプリセットしたバリエーションを提供。

  • RealHandModelArmor

  • RealHandModelIce

  • RealHandModelNormal

  • RealHandModelRim

HandCollider

手モデルの当たり判定を有効化します。
シーンに配置すると検出された手の特徴点位置にColliderを配置します。

FingerTouchDetector

指先の平面タッチ推定機能を有効化します。
指先の平面タッチ推定は指先が平面に触れていることを推定します。

7.11. コンポーネントの詳細

Handコンポーネントの詳細については API references for Hand を参照してください。

8. MarkRecog コンポーネント

ToF AR MarkRecog コンポーネント

MarkRecogコンポーネントは任意の2値画像内のマークを認識します。 主に下記機能を提供します。

  • 画像内のマーク認識

image

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

Yes

iOS

No

8.1. ストリームとデータ構造

本コンポーネントはストリームデータアクセスは提供しません。

8.2. Prefabs

Name Description

TofArMarkRecogManager

Mark認識の機能を利用するシーンに必ず配置してください。

MarkImageDrawer

Hand認識コンポーネントと連携しマーク画像を作成します。

8.3. コンポーネントの詳細

MarkRecogコンポーネントの詳細については API references for MarkRecog を参照してください。

9. Modeling コンポーネント

ToF AR Modeling コンポーネント

Modelingコンポーネントは複数フレームに渡るToFカメラのDepthデータを蓄積し、3D Meshデータを生成します。主に下記機能を提供します。

  • 3Dモデリング処理の開始/終了

  • 3Dモデリングパラメータの設定

  • データの出力

  • Segmentationコンポーネントが生成したマスク部分を除外したメッシュの生成

image

本コンポーネントは、以下のプラットフォームで使用可能です。

Platform Available Note

Android

Yes

iOS

No

9.1. ストリームとデータ構造

アプリケーションはManagerのPublic Fieldよりデータを取得できます。

image

9.2. データ形式: Modelingデータ

頂点、トライアングル情報のリストを格納した構造体です。
モデリング結果は複数の3DMeshデータ(ブロック)に分割される場合があり、最大ブロック数の要素がリストに格納されます。

各要素には下記形式でデータが格納されます。

[Member] [Type] [Description]

vertices

float[]

頂点配列

triangles

int[]

トライアングル配列

blockIndex

int[]

ブロックインデックス

9.3. Prefabs

None

9.4. コンポーネントの詳細

Modelingコンポーネントの詳細については API references for Modeling を参照してください。

10. Body コンポーネント

ToF AR Body コンポーネント

image

BodyコンポーネントはBody認識関連の処理を行い、認識結果データをアプリケーションに提供します。 主に下記機能を提供します。

  • ToFカメラ映像からBodyを認識

  • AR Foundationに準拠したフォーマットのBody認識データ出力

  • Body認識結果の表示

  • Bodyジェスチャーの認識

アプリケーションは TofArBodyManager.BodyData フィールドよりデータを取得できます。

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

Yes

使用可能なEstimator:
SV2BodyPoseEstimator

iOS

Yes

使用可能なEstimator:
SV2BodyPoseEstimator
ARFoundationConnector

10.1. データ形式: Bodyデータ

アプリケーションは TofArBodyManager.BodyData フィールドよりBody情報を格納した構造体を取得できます。

[Member] [Type] [Description]

results

BodyResult[]

Body情報配列

BodyResultは AR FoundationのARHumanBodyクラスと同じ定義です。

10.2. 関節位置の定義

関節位置の基本定義はARKitに準拠しています。

Validating a Model for Motion Captureの図表に対応する関節位置インデックスが TofAr.V0.Body.JointIndices に定義されています。

実際に認識される関節データ数、関節位置は使用するBody認識エンジンにより異なるため、変換をしてBodyデータに格納されます。 変換マッピングについては別途記述します。

10.3. Body認識エンジン

下記の認識エンジンをサポートしています。

10.4. ジェスチャー推定について

ジェスチャー推定は TofArBodyGestureManager で行われます。 ジェスチャー推定結果は TofArBodyGestureManager.OnGestureEstimated イベントにハンドラを登録することで取得できます。

ジェスチャーの種類については BodyGesture を参照してください。

10.5. Prefabs

Name Description

TofArBodyManager

ToF AR Bodyコンポーネントとの接続を管理します。 Bodyの機能を利用するシーンに必ず配置してください。

BodySkeleton

Body認識結果をシンプルなスケルトンで表示します。

10.6. コンポーネントの詳細

Bodyコンポーネントの詳細については API references for Body を参照してください。

11. SV2BodyPoseEstimator

ToF AR のDepthデータよりBody認識処理を行います。

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

Yes

iOS

Yes

11.1. 使用方法

11.1.1. シーン設定

  1. シーンには下記が存在する必要があります。

    • TofArTof/TofArTofManager

    • TofArBody/TofArBodyManager

  2. TofArBodyManager.DetectorTypeBodyPoseDetectorType.Internal_SV2 に設定します。

  3. BodySkeleton Prefabをシーン原点に配置します。

11.1.2. 実行時設定

TofArTofManagerとTofArBodyManagerを開始すると認識処理を開始します。

11.2. 関節位置マッピング

ARKitの関節インデックスへの認識結果のマッピングです。

ARKit SV2BodyPoseEstimator joint index

JointIndices.Head

0

JointIndices.Neck1

1

JointIndices.RightShoulder1

2

JointIndices.RightForearm

3

JointIndices.RightHand

4

JointIndices.LeftShoulder1

5

JointIndices.LeftForearm

6

JointIndices.LeftHand

7

JointIndices.RightUpLeg

8

JointIndices.RightLeg

9

JointIndices.RightFoot

10

JointIndices.LeftUpLeg

11

JointIndices.LeftLeg

12

JointIndices.LeftFoot

13

JointIndices.RightEyeball

14

JointIndices.LeftEyeball

15

JointIndices.RightEye

16

JointIndices.LeftEye

17

12. ARFoundationConnector

ARFoundationConnector を使うことで、Unity Project 上で AR Foundation と ToF AR を共存させることができます。この時、ToF AR は下位レイヤのカメラを直接制御せず、AR Foundation から得られる RGB や ToF カメラの出力データフレームを使用し、Hand や Body などの認識処理を動作させます。このため、アプリ開発者は AR Foundation の有無にかかわらず ToF AR から同じインタフェースでデータフレームを受け取ることができます。

image

12.1. 使用方法

使用方法については AR Foundation の利用を参照してください。

12.2. Prefabs

Name Description

ARFoundationConnector

AR Foundation から得られるフレームデータを ToF AR へ入力・連携させるための機能。
アプリ開発者は AR Foundation の有無にかかわらず ToF AR から同じインタフェースでデータフレームを受け取ることができます。

12.3. コンポーネントの詳細

ARFoundationConnector は、ARFoundation が出力する以下のデータを対応する ToF AR の Manager コンポーネントから取得可能とします。

ARFoundation の機能 対応する ToF AR Manager

RGB Color 映像

TofArColorManager

Depth データ

TofArTofManager

Human Stencil, Human Depth

TofArSegmentationManager

3D ボディトラッキング

TofArBodyManager

Face トラッキング

TofArFaceManager

デバイストラッキング

TofArSlamManager

ARFoundation がプラットフォームごとにサポートしている機能については com.unity.xr.arfoundation (対応プラットフォーム)を参照してください。
ARFoundation がサポートしていない機能は ToF AR でもサポートしません。

13. Segmentation コンポーネント

ToF AR Segmentation コンポーネント

image

SegmentationコンポーネントはSegmentation認識関連の処理を行い、認識結果データをアプリケーションに提供します。 主に下記機能を提供します。

  • Colorカメラ映像から空部分の推定を行い、マスクテクスチャを作成(SkyDetector使用時)

  • Colorカメラ映像から人物部分の推定を行い、マスクテクスチャを作成(HumanDetector使用時)

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

Yes

使用可能なEstimator:
SkyDetector
HumanDetector

iOS

Yes

使用可能なEstimator:
SkyDetector
HumanDetector
AR Foundation Human Stencil / Human Depth

13.1. データ形式: Segmentationデータ

アプリケーションはTofArSegmentationManager.SegmentationData フィールドよりSegmentation情報を格納した構造体を取得できます。 SegmentationResults 参照

13.2. Segmentation認識エンジン

下記の認識エンジンをサポートしています。

13.3. Prefabs

Name Description

TofArSegmentationManager

ToF AR Segmentationコンポーネントとの接続を管理します。
Segmentationの機能を利用するシーンに必ず配置してください。

SkySegmentationDetector

Colorカメラ映像から空部分の推定を行い、マスクテクスチャを作成します。

HumanSegmentationDetector

Colorカメラ映像から人物部分の推定を行い、マスクテクスチャを作成します。

13.4. コンポーネントの詳細

Segmentationコンポーネントの詳細については API references for Segmentation を参照してください。

14. SkyDetector

Colorカメラ映像から空部分の推定を行い、マスクテクスチャを作成します。

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

Yes

iOS

Yes

14.1. 使用方法

  1. SkySegmentationDetector Prefabをシーンに配置します。

実行時にTofArColorManagerとTofArSegmentationManagerに接続し推定処理を行います。 そのため実行時にそれぞれのManagerが存在している必要があります。

TofArColorManagerはRGB形式のColorデータを出力する設定となっている必要があります。 FormatConvertProperty 参照。

14.2. 出力データ形式

14.2.1. Segmentaton情報

TofArSegmentationManager.SegmentationData フィールドよりSegmentation情報を格納した構造体を取得できます。 SegmentationResults 参照。

OutputFormat
SegmentationResult.name SegmentationResult.rawPointer SegmentationResult.maskBufferByte

Sky

TextureFormat.R8 形式バッファへのポインタ

TextureFormat.R8 形式バッファ

14.3. マスクテクスチャ2D型情報

SkySegmentationDetector.MaskTextureプロパティよりTexture2D型で取得可能です。

テクスチャフォーマットは TextureFormat.R8 となります。

詳細については API references for Segmentation.Sky を参照してください。

15. HumanDetector

Colorカメラ映像から人物部分の推定を行い、マスクテクスチャを作成します。

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

Yes

iOS

Yes

15.1. 使用方法

  • HumanSegmentationDetector Prefabをシーンに配置します。

実行時にTofArColorManagerとTofArSegmentationManagerに接続し推定処理を行います。 そのため実行時にそれぞれのManagerが存在している必要があります。

TofArColorManagerはRGB形式のColorデータを出力する設定となっている必要があります。 FormatConvertProperty 参照。

15.2. 出力データ形式

15.2.1. Segmentaton情報

TofArSegmentationManager.SegmentationData フィールドよりSegmentation情報を格納した構造体を取得できます。 SegmentationResults 参照。

OutputFormat
SegmentationResult.name SegmentationResult.rawPointer SegmentationResult.maskBufferByte

Human

TextureFormat.R8 形式バッファへのポインタ

TextureFormat.R8 形式バッファ

15.3. マスクテクスチャ2D型情報

HumanSegmentationDetector.MaskTexture プロパティよりTexture2D型で取得可能です。

テクスチャフォーマットは TextureFormat.R8 となります。

詳細については API references for Segmentation.Human を参照してください。

16. AR Foundation Human Stencil / Human Depth

AR FoundationからHuman Stencil データ、Human Depthデータを取得し、マスクテクスチャを作成します。

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

No

iOS

Yes

16.1. 使用方法

  1. ARFoundationConnectorをセットアップします。

    詳細については、 AR Foundationのセットアップを参照してください。

  2. ARFoundationConnectorのInspectorで AR Foundation Segmentation コンポーネントをアクティブにします。

  3. AR Foundation Segmentation コンポーネントの Capture Stencil や Capture Depth をオンにします。

image

実行時にTofArSegmentationManagerに接続し処理を行います。 そのため実行時にそのManagerが存在している必要があります。

16.2. 出力データ形式

TofArSegmentationManager.SegmentationDataフィールドよりSegmentation情報を格納した構造体を取得できます。 SegmentationResults 参照。

OutputFormat
SegmentationResult.name SegmentationResult.rawPointer SegmentationResult.maskBufferByte SegmentationResult.maskBufferFloat

Human

TextureFormat.R8 形式バッファへのポインタ

TextureFormat.R8 形式バッファ

HumanDepth

TextureFormat.RFloat 形式バッファへのポインタ

TextureFormat.RFloat 形式バッファ

17. Face コンポーネント

ToF AR Face コンポーネント

FaceコンポーネントはFace認識関連の処理を行い、認識結果データをアプリケーションに提供します。 主に下記機能を提供します。

  • AR Foundationに準拠したフォーマットのFace認識データ、BlendShapeデータ出力

  • Face認識結果の表示

  • 視線認識結果の表示

image

アプリケーションは TofArFaceManager.FaceData フィールドよりデータを取得できます。

本コンポーネントは以下のプラットフォームが使用可能です。

Platform Available Note

Android

No

iOS

Yes

内部でARKitを使用します。AR
Foundationなど同じくARKitを使用するものと同時使用はできません。

17.1. データ形式: Faceデータ

アプリケーションは TofArFaceManager.FaceData フィールドよりFace情報を格納した構造体を取得できます。

[Member] [Type] [Description]

results

FaceResult[]

Face情報配列

FaceResultは AR FoundationのARFaceクラスにBlendShapeデータのフィールドを追加した定義。

17.2. Prefabs

Name Description

TofArFaceManager

ToF AR Faceコンポーネントとの接続を管理します。
Faceの機能を利用するシーンに必ず配置してください。

FaceModel

Face認識結果をMeshで表示します。
視線認識結果を表示します。

17.3. コンポーネントの詳細

Faceコンポーネントの詳細については API references for Face を参照してください。