本文へスキップ

XR8.FaceController.pipelineModule()

XR8.FaceController.pipelineModule()

説明

カメラパイプラインモジュールを作成し、インストールすると、カメラの起動時、カメラプロセッシングイベント、その他の状態変化に関するコールバックを受け取ります。 これらはカメラの位置を計算するために使用される。

パラメータ

なし

{#returns}を返す。

戻り値は、onUpdate として利用可能なオブジェクトである:

processCpuResult.facecontroller: { rotation, position, intrinsics, cameraFeedTexture }.

プロパティタイプ説明
ローテーションw, x, y, z}`.シーン内のカメラの向き(クォータニオン)。
位置{x, y, z}`シーン内のカメラの位置。
インプリンシックス数字レンダリングされたカメラフィードと同じ視野をシーンカメラに与える、16次元の列長4x4の投影行列。
カメラフィードテクスチャWebGLTexture`カメラフィードデータを含むテクスチャ。

派遣イベント

faceloading:追加のフェイスARリソースのローディングが開始されたときに発生します。

faceloading.detail : {maxDetections、pointsPerDetection、indices、uvs}

プロパティタイプ説明
最大検出数番号同時に処理できる面の最大数。
ポイント・パー・ディテクション番号面ごとに抽出される頂点の数。
指標[{a, b, c}]`XR8.FaceController.configure()](configure.md) の meshGeometry` で指定した、要求されたメッシュの三角形を形成する頂点配列のインデックスのリスト。
紫外線[{u, v}]`返された頂点点に対応するテクスチャマップのuv位置のリスト。

facescanning:すべての顔ARリソースがロードされ、スキャンが開始されたときに発生します。

facescanning.detail : {maxDetections, pointsPerDetection, indices, uvs}.

プロパティタイプ説明
最大検出数番号同時に処理できる面の最大数。
ポイント・パー・ディテクション番号面ごとに抽出される頂点の数。
指標[{a, b, c}]`XR8.FaceController.configure()](configure.md) の meshGeometry` で指定した、要求されたメッシュの三角形を形成する頂点配列のインデックスのリスト。
紫外線[{u, v}]`返された頂点点に対応するテクスチャマップのuv位置のリスト。

facefound:顔が最初に見つかったときに発火する。

facefound.detail : {id、transform、頂点、法線、attachmentPoints}

プロパティタイプ説明
アイドル番号位置する面の数値ID。
変える位置、回転、スケール、scaledWidth、scaledHeight、scaledDepth}`。位置する顔の変形情報。
頂点[{x, y, z}]`トランスフォームに対する顔点の位置。
標準[{x, y, z}]`トランスフォームに対する頂点の法線方向。
アタッチメントポイント名前、ポジション: {x,y,z}}`使用可能なアタッチメントポイントのリストについては、XR8.FaceController.AttachmentPoints を参照してください。 position`はトランスフォームからの相対位置である。
uvsInCameraFrame[{u, v}]`返された頂点点に対応するカメラフレーム内の uv 位置のリスト。

transform`は以下のプロパティを持つオブジェクトである:

プロパティタイプ説明
位置{x, y, z}`位置する面の3Dポジション。
ローテーションw, x, y, z}`.配置された面の3次元の局所的な向き。
スケール番号この面に取り付けられているオブジェクトに適用されるスケールファクター。
拡大幅番号スケールを掛けたときのシーン内の頭部のおおよその幅。
スケールドハイト番号スケールを掛けたときのシーン内の頭部のおおよその高さ。
深さ番号スケールを掛けたときの、シーン内の頭部のおおよその深さ。

faceupdated:その後に顔が見つかったときに発生します。

faceupdated.detail : {id、transform、頂点、法線、attachmentPoints}

プロパティタイプ説明
アイドル番号位置する面の数値ID。
変える位置、回転、スケール、scaledWidth、scaledHeight、scaledDepth}`。位置する顔の変形情報。
頂点[{x, y, z}]`トランスフォームに対する顔点の位置。
標準[{x, y, z}]`トランスフォームに対する頂点の法線方向。
アタッチメントポイント名前、ポジション: {x,y,z}}`使用可能なアタッチメントポイントのリストについては、XR8.FaceController.AttachmentPoints を参照してください。 position`はトランスフォームからの相対位置である。
uvsInCameraFrame[{u, v}]`返された頂点点に対応するカメラフレーム内の uv 位置のリスト。

transform`は以下のプロパティを持つオブジェクトである:

プロパティタイプ説明
位置{x, y, z}`位置する面の3Dポジション。
ローテーションw, x, y, z}`.配置された面の3次元の局所的な向き。
スケール番号この面に取り付けられているオブジェクトに適用されるスケールファクター。
拡大幅番号スケールを掛けたときのシーン内の頭部のおおよその幅。
スケールドハイト番号スケールを掛けたときのシーン内の頭部のおおよその高さ。
深さ番号スケールを掛けたときの、シーン内の頭部のおおよその深さ。

facelost:顔が追跡されなくなったときに発生します。

facelost.detail : { id }.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

mouthopened:追跡された顔の口が開いたときに発射される。

mouthopened.detail : { id }.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

**口を閉じる:追跡された顔の口が閉じると発射される。

mouthclosed.detail : { id }.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

lefteyeopened:追跡している顔の左目が開いたときに発火する。

レフテイオープン.detail : { id }`.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

lefteyeclosed:追跡された顔の左目が閉じたときに発火する。

レフティクローズド.detail : { id }`.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

righteyeopened:追跡している顔の右目が開いたときに発火する。

righteyeopened.detail : { id }.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

righteyeclosed:追跡された顔の右目が閉じると発火する。

righteyeclosed.detail : { id }.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

lefteyebrowraised:追跡された顔の左眉が、その顔が見つかったときの最初の位置から上がったときに発生します。

レフテイブロウレイズ.detail : { id }`.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

lefteyebrowlowered:追跡されている顔の左眉が、その顔が発見されたときの最初の位置まで下がっているときに発火します。

レフテイブローワード.detail : { id }`.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

righteyebrowraised:追跡された顔の右眉が、その顔が発見されたときの位置から上がっているときに発火します。

righteyebrowraised.detail : { id }.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

righteyebrowlowered:追跡された顔の右眉が、その顔が発見されたときの最初の位置まで下がったときに発火する。

righteyebrowlowered.detail : { id }.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

lefteyewinked:追跡された顔の左目が閉じ、右目が開いたまま750ms以内に開くと発動。

レフティウィンクの詳細 : { id }`.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

righteyewinked:追跡された顔の右目が閉じ、左目が開いたまま750ms以内に開くと発火する。

righteyewinked.detail : { id }.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

まばたき:追跡中の顔の目がまばたきしたときに発火する。

blinked.detail : { id }.

プロパティタイプ説明
アイドル番号位置する面の数値ID。

interpupillarydistance:追跡された顔の各瞳孔の中心間の距離がミリメートル単位で最初に検出されたときに発火する。

pupillarydistance.detail : {id, interpupillaryDistance}.

プロパティタイプ説明
アイドル番号位置する面の数値ID。
瞳孔間距離番号各瞳孔の中心間のおおよその距離(ミリメートル)。

enableEars:true`の場合、耳の検出はFace Effectsと同時に実行され、以下のイベントをディスパッチします:

耳発見:耳が最初に発見されたときに発火する。

earfound.detail : {id, ear}.

プロパティタイプ説明
アイドル番号耳が取り付けられている面を示す数値ID。
イヤー文字列leftまたはright`のいずれかを指定する。

earpointfound:耳のアタッチメントポイントが最初に見つかったときに発生します。

earpointfound.detail : {id, point}.

プロパティタイプ説明
アイドル番号イヤーアタッチメントポイントが取り付けられている面を示す数値ID。
ポイント文字列leftHelixleftCanalleftLoberightHelixrightCanalrightLobe`のいずれかを指定する。

earost:耳が追跡されなくなったときに発火する。

earlost.detail : {id, ear}.

プロパティタイプ説明
アイドル番号耳が取り付けられている面を示す数値ID。
イヤー文字列leftまたはright`のいずれかを指定する。

earpointlost:イヤーアタッチメントポイントが追跡されなくなったときに発火する。

earpointlost.detail : {id, point}.

プロパティタイプ説明
アイドル番号イヤーアタッチメントポイントが取り付けられている面を示す数値ID。
ポイント文字列leftHelixleftCanalleftLoberightHelixrightCanalrightLobe`のいずれかを指定する。

例 - パイプライン・モジュールの追加

XR8.addCameraPipelineModule(XR8.FaceController.pipelineModule())