本文へスキップ

XR8.HandController.pipelineModule()

XR8.HandController.pipelineModule()

説明

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

パラメータ

なし

{#returns}を返す。

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

processCpuResult.handcontroller: { rotation, position, intrinsics, cameraFeedTexture }`.

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

派遣イベント

**ハンドローディングハンドARのリソースを追加するためにローディングを開始するときに発射されます。

handloading.detail : {maxDetections、pointsPerDetection、rightIndices、leftIndices}`。

プロパティタイプ説明
最大検出数番号同時に処理できるハンドの最大数。
ポイント・パー・ディテクション番号ハンドごとに抽出される頂点の数。
右インデックス[{a, b, c}]`手のメッシュの三角形を形成する頂点配列へのインデックス。
左インデックス[{a, b, c}]`手のメッシュの三角形を形成する頂点配列へのインデックス。

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

handscanning.detail : {maxDetections, pointsPerDetection, rightIndices, leftIndices}.

プロパティタイプ説明
最大検出数番号同時に処理できるハンドの最大数。
ポイント・パー・ディテクション番号ハンドごとに抽出される頂点の数。
右インデックス[{a, b, c}]`手のメッシュの三角形を形成する頂点配列へのインデックス。
左インデックス[{a, b, c}]`手のメッシュの三角形を形成する頂点配列へのインデックス。

**ハンド発見ハンドが最初に見つかったときに発生します。

handfound.detail : {id, transform, vertices, normals, attachmentPoints}.

プロパティタイプ説明
アイドル番号位置する手の数値ID。
変える{position, rotation, scale}`位置する手の情報を変換する。
頂点[{x, y, z}]`ハンドポイントの位置、トランスフォームに対する相対位置。
標準[{x, y, z}]`トランスフォームに対する頂点の法線方向。
ハンドカインド番号手の位置を数値で表したもの。 有効な値は0(指定なし)、1(左)、2(右)。
アタッチメントポイント名前、ポジション: {x,y,z}}`利用可能なアタッチメントポイントのリストについては、XR8.HandController.AttachmentPoints を参照してください。 position`はトランスフォームからの相対位置である。

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

プロパティタイプ説明
位置{x, y, z}`位置する手の3Dポジション。
ローテーションw, x, y, z}`.配置された手の3次元の局所的な向き。
スケール番号この手に取り付けられたオブジェクトに適用されるスケールファクター。

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

プロパティタイプ説明
名称文字列アタッチメントポイントの名前。 利用可能なアタッチメントポイントのリストについては、XR8.HandController.AttachmentPoints を参照してください。
位置{x, y, z}`位置する手の取り付け位置の3Dポジション。
ローテーションw, x, y, z}`.正Yベクトルを取り付け点の骨ベクトルに回転させる回転クォータニオン。
インナーポイント{x, y, z}`アタッチメントポイントの内側の点。 (例:手のひら側)
アウターポイント{x, y, z}`アタッチメントポイントの外側の点。 (例:手の甲)
半径番号指の取り付け点の半径。
小半径番号手の表面から手首の取り付け点までの最短半径。
主要半径番号手の表面から手首の取り付け点までの最長半径。

handupdated:ハンドが見つかったときに発生します。

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

プロパティタイプ説明
アイドル番号位置する手の数値ID。
変える{position, rotation, scale}`位置する手の情報を変換する。
頂点[{x, y, z}]`ハンドポイントの位置、トランスフォームに対する相対位置。
標準[{x, y, z}]`トランスフォームに対する頂点の法線方向。
ハンドカインド番号手の位置を数値で表したもの。 有効な値は0(指定なし)、1(左)、2(右)。
アタッチメントポイント名前、ポジション: {x,y,z}}`利用可能なアタッチメントポイントのリストについては、XR8.HandController.AttachmentPoints を参照してください。 position`はトランスフォームからの相対位置である。

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

プロパティタイプ説明
位置{x, y, z}`位置する手の3Dポジション。
ローテーションw, x, y, z}`.配置された手の3次元の局所的な向き。
スケール番号この手に取り付けられたオブジェクトに適用されるスケールファクター。

ハンドロスト:ハンドが追跡されなくなったときに発生します。

handlost.detail : { id }.

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

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

XR8.addCameraPipelineModule(XR8.HandController.pipelineModule())