Unity AssetのKinect v2 Examples with MS-SDKを使用してHD Faceの各ポイントを取得する手順を説明します。

1. HD Faceを使えるように設定する

適当なGameObject(仮にFaceObjという名前にしておきます)にKinectManagerとFacetrackingManagerをAdd Componentして Get Face Model Data にチェックを入れます。

2. 各Faceポイントを取得する

Asset内にある GetFacePointsDemo.cs を参考に各ポイントが取得できるスクリプト GetFacePoints.cs を作りFaceObjにAdd Componentする。

3. 各FaceポイントをPixel値で取得する

GetFacePointsTest.cs を作成してFaceObjにAdd Componentします。これで実行するとNoseTopの位置がpixel値で表示されるはずです。

※ここでpublic宣言しているKinectManagerとGetFacePointsはEditorで指定しておいてください。

コード解説

(1) y軸方向の座標をassetの位置からkinectの位置に変更しています。

(2) kinectManagerに CoordinateMapper  がなかったため下記の部分では Windows.Kinect の CoordinateMapper を使用しています。