手を認識してハンドモデルを表示してみよう!
ToF ARのPrefabを配置
ProjectウィンドウにあるPrefabをHierarchyウィンドウのシーンに配置していきます。
(1) TofArTofManagerを配置して設定します。
- Prefab : (Project) / Assets / TofAr / TofArTof / TofArTofManager
- 配置先 : (Hierarchy) / シーン
- Inspectorの設定:
Use Front Camera As Default : チェック ※ デフォルトでフロントカメラを使用
Tips
TofArTofManagerは、ToFカメラとの接続を管理します。Handの認識はToFのデータによって行われるので必要になります。
(2) TofArHandManagerを配置して設定します。
- Prefab : (Project) / Assets / TofAr / TofArHand / TofArHandManager
- 配置先 : (Hierarchy) / シーン
- Inspectorの設定:
RecogMode : Face2Face ※ 端末に対面し片手または両手をフロントカメラで認識
Tips
TofArHandManagerは、ToFカメラの映像から人の手や指の関節位置をリアルタイム認識します。
RecogModeでカメラから見た手の映り方を設定する事で、手の認識方法を変更します。
RecogModeでカメラから見た手の映り方を設定する事で、手の認識方法を変更します。
(3) HandModelをまとめるために「空のオブジェクト」を作成して設定します。
- メニュー: (Hierarchy) / シーン / Main Camera を右クリック / Create Empty
- 名前: HandObjects
- Inspectorの設定:
Add Component: Reorient Relative Color Camera ※ ColorカメラとToFカメラの位置合わせ
※ 「Add Component」をクリックして、上記コンポーネントを検索して追加します。
(4) 左手用のHandModelを配置して設定します。
- Prefab: (Project) / Assets / TofAr / TofArHand / V0 / Resources / Prefabs / HandModel
- 配置先: (Hierarchy) / シーン / Main Camera / HandObjects ※ 上記で作成したオブジェクト
- 名前: LeftHandModel
- Inspectorの設定:
Lr Hand: Left Hand ※ 左手
(5) 右手用のHandModelを配置して設定します。
- Prefab: (Project) / Assets / TofAr / TofArHand / V0 / Resources / Prefabs / HandModel
- 配置先: (Hierarchy) / シーン / Main Camera / HandObjects ※ 上記で作成したオブジェクト
- 名前: RightHandModel
- Inspectorの設定:
Lr Hand: Right Hand ※ 右手
ここまで配置が完了すると、下記の様な配置状態になります。
レンダリング範囲を変更
初期のレンダリング範囲では、手を認識していてもカメラに近いとHandモデルが見えなくなるため範囲を変更します。
(1) Main Cameraの設定を変更します。
- Inspectorの設定:
Camera / Clipping Planes / Near: 0.1 ※ カメラからの距離が近くてもレンダリング
これでカメラ映像で手が認識された時にHandモデルが表示されるようになりました。ビルドして確認してみましょう!
今回使用したHandModel以外にもRealHandModelというモデルもあります。Handモデルを変更してみましょう!