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