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())