InstantTrackableクラス
InstantTrackableはインスタントトラッカーにバインドされた仮想オブジェクトを表します。Drawableの補強をこれに関連付けることができ、初期化およびトラッキング中にレンダリングされる適切な変換を受け取ります。InstantTrackableは、トラッキング面と、それと相互作用する手段も表します。
InstantTrackable
- Drawablesを関連付けることができます。これらのDrawableは、カメラビューのInstantTrackableを表します。
- それに関連付けられたトリガーを持つことができます。特定のイベントを発生させ、これらのアクションに反応する関数を実行します。
- タッチやクリックでユーザーの入力を受信できます。
InstantTrackableを作成する場合、渡す必要があるパラメータはInstantTrackerだけです。しかしながら、実用的な使用事例の大部分には、初期化フェーズとトラッキングフェーズにおいてdrawable な増強もまた必要です。さらに、特定の状況下で呼び出されるコールバックを登録することもできます。
this.instantTrackable = new AR.InstantTrackable(this.tracker, { drawables: { cam: aDrawable, initialization: anotherDrawable }, onTrackingStarted: function onTrackingStartedFn() { // do something when tracking is started (recognized) }, onTrackingStopped: function onTrackingStoppedFn() { // do something when tracking is stopped (lost) } });
コンストラクター
InstantTrackable
-
tracker
-
options
パラメーター:
-
tracker
InstantTracker変換を提供するインスタントトラッカー
-
options
Object オプション追加のオブジェクトプロパティをカスタマイズするためのパラメーター。
設定可能なプロパティは以下のとおりです。-
enabled
(デフォルト値:true
) Boolean オプション -
renderingOrder
(デフォルト値:0
) Number オプション -
drawables.cam
Drawable[] オプション -
onClick
Function オプション -
onDragBegan
Function オプション -
onDragChanged
Function オプション -
onDragEnded
Function オプション -
onPanBegan
Function オプション -
onPanChanged
Function オプション -
onPanEnded
Function オプション -
onRotationBegan
Function オプション -
onRotationChanged
Function オプション -
onRotationEnded
Function オプション -
onScaleBegan
Function オプション -
onScaleChanged
Function オプション -
onScaleEnded
Function オプション -
drawables.initialization
Drawable[] オプション -
onTrackingStarted
Function オプション -
onTrackingStopped
Function オプション -
onTrackingPlaneClick
Function オプション -
onTrackingPlaneDragBegan
Function オプション -
onTrackingPlaneDragChanged
Function オプション -
onTrackingPlaneDragEnded
Function オプション
-
項目索引
メソッド
イベント
- conversionCompletionHandler
- conversionErrorHandler
- onClick
- onDragBegan
- onDragChanged
- onDragEnded
- onPanBegan
- onPanChanged
- onPanEnded
- onRotationBegan
- onRotationChanged
- onRotationEnded
- onScaleBegan
- onScaleChanged
- onScaleEnded
- onTrackingPlaneClick
- onTrackingPlaneDragBegan
- onTrackingPlaneDragChanged
- onTrackingPlaneDragEnded
- onTrackingStarted
- onTrackingStopped
メソッド
convertScreenCoordinateToPointCloudCoordinate
-
screenX
-
screenY
-
completionHandler
-
errorHandler
スクリーンの座標をポイントクラウドの座標に変換します。
destroy
()
オブジェクトを破棄します。
drawables.addCamDrawable
-
drawable
-
position
カメラのARObjectにDrawablesを追加します。
パラメーター:
-
drawable
Drawable | Drawable[]カメラに追加するDrawable。1つのDrawableまたはDrawableの配列のいずれかになります。
-
position
Number オプションDrawableを追加する配列の位置。指定しない場合、配列の最後にDrawableが追加されます。整数でなければなりません。
drawables.addInitializationDrawable
-
drawable
-
position
インスタントトラッキングの開始位置の視覚化するDrawable2Dを追加します。
Parameters:
-
drawable
Drawable2D | Drawable2D[]追加するDrawable。単一のDrawable2D、またはDrawable2Dの配列を指定できます。
-
position
Number optionalDrawable2Dを追加する配列内の位置。指定しない場合は、配列の最後にDrawable2Dが追加されます。整数にする必要があります。
drawables.removeCamDrawable
-
drawable|position
カメラのARObjectからDrawablesを削除します。
パラメーター:
-
drawable|position
Drawable | [Drawable] | Number1つのDrawableまたはDrawablesの配列が指定された場合、これらのDrawableは配列から削除されます。整数が指定されると、指定された位置のDrawableが削除されます。
drawables.removeInitializationDrawable
-
drawable|position
インスタントトラッキングの開始位置の視覚化するDrawable2Dを削除します。
パラメーター:
-
drawable|position
Drawable2D | Drawable2D[] | Int単一のDrawable2D、またはDrawable2Dの配列を指定すると、それらのDrawable2Dが配列から削除されます。整数を指定すると、指定した位置にあるDrawable2Dが削除されます。
プロパティ
drawables.cam
Drawable[]
カメラビューでARObjectを表すために使用されるDrawables。
配列内のDrawableはDrawableで始まる位置0に印刷され、後のインデックスのDrawablesが以前に描画されたDrawableと重なるようになります。
変更内容がネイティブアプリケーションに伝播することが保証されないため、配列の内容は[]演算子で操作しないでください。プロパティはarobject.drawables.addCamDrawable()およびarobject.drawables.removeCamDrawable()で操作するか、arobject.drawables.cam = new Array(...);で直接設定する必要があります。
drawables.initialization
Drawable2D[]
インスタントトラッキングを開始する場所を示すために使用されるDrawable2D。
配列内のDrawableはDrawableで始まる位置0に印刷され、後のインデックスのDrawablesが以前に描画されたDrawableと重なるようになります。
変更内容がネイティブアプリケーションに伝播することが保証されないため、配列の内容は[]演算子で操作しないでください。 プロパティはinstantTrackable.drawables.addInitializationDrawable()およびinstantTrackable.drawables.removeInitializationDrawable()で操作するか、 instantTrackable.drawables.initialization = new Array(...);で直接設定する必要があります。
renderingOrder
Number
異なるARObjects の描画可能オブジェクトが重複する可能性があります。この場合、renderingOrderはARObjectのDrawablesのレンダリング順序を定義します。より高いrenderingOrder値を持つARObjectsは、drawOleder値が低いARObjectsのDrawableの上にDrawablesを描画します。2つのARObjectsが同じrenderingOrderを設定している場合、Drawablesは距離に基づいてレンダリングされ、オブジェクトに近いところでオブジェクトをオーバーラップさせます。
たとえば、特定のARObjectのDrawablesを最前面に持ってくる場合、対応するARObjectのrenderingOrder値を非常に高い値に設定します。
同じARObject内のDrawablesの印刷順序については、Drawable2D.zOrderを参照してください。
整数でなければなりません。
デフォルト値: 0
イベント
conversionCompletionHandler
スクリーン座標がポイントクラウド座標に正常に変換された場合に実行される。
conversionErrorHandler
スクリーン座標がポイントクラウド座標に変換できなかった場合に実行される。
onClick
ARObjectのDrawableのいずれかがクリックされ、クリックされたDrawablesのonClick()トリガ(別のARObjectによって参照される可能性もあります)がクリックチェインを終了するように設定されている時に実行されます。ARObject.onClick()は、Drawable.onClick()トリガーが実行された後に実行されます。
クリックによって複数のARObjectがヒットした場合、実行の順序は、ARObjectのクリックトリガーが最初に実行された状態で、ARObjectのユーザーまでの距離によって定義されます。
関数の戻り値は、このARObjectに対してonClick()関数が実行された後、キュー内の次のARObjectに対してonClick()を実行し続けるかどうかを決定します。
キュー内の最後のARObjectが依然としてクリックキューを継続することを要求した場合、context.onScreenClick()が実行されます。
関数の戻り値は、次に何をするかを決定します。falseの場合、このARObjectでクリックキューを停止しません。したがって、次のARObjectのonClick()関数が実行されます。戻り値が設定されていないか、このARObjectに対して関数が定義されていない場合のデフォルト値になります。trueの場合、キューの実行は現在のARObjectで停止し、ARObjectsはonClick()呼び出しを受け取りません。
onDragBegan
ユーザーが1本の指で1つ以上のDrawableをドラッグし始めたときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onDragChanged
ユーザーが1本の指で少なくとも1つのDrawableをドラッグすると実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onDragEnded
ユーザーが1本の指で1つ以上のDrawableをドラッグして停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onPanBegan
ユーザーが2本の指で1つ以上のDrawableをドラッグし始めたときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
onPanChanged
ユーザーが2本の指で少なくとも1つのDrawableをドラッグすると実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onPanEnded
ユーザーが2本の指で1つ以上のDrawableをドラッグして停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onRotationBegan
ユーザーが2本の指で少なくとも1つのDrawableの回転を開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
angle
Number開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。回転ジェスチャの変更が発生していない場合、onRotationBeganでは常に0です。
onRotationChanged
ユーザーが2本の指で1つ以上のDrawableを回転させたときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
angle
Number開始タッチ位置によって定義される線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。
onRotationEnded
ユーザーが2本の指で少なくとも1つのDrawableの回転を停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
angle
Number開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。onRotationChangedで受け取った最新の角度と常に同じ。
onScaleBegan
ユーザーが2本の指で少なくとも1つのDrawableの拡大縮小を開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
scale
Numberスケール値は、開始タッチ間の距離にわたる更新されたタッチ間の距離の比[0、inf]を定義します。スケールジェスチャへの変更が発生していない場合、onScaleBeganは常に1です。
onScaleChanged
ユーザーが2本の指で少なくとも1つのDrawableの拡大縮小したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
scale
Number開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。
onScaleEnded
ユーザーが2本の指で少なくとも1つのDrawableの拡大縮小を停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
scale
Number開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。onScaleChangedで受信した最新のスケールと常に同じ。
onTrackingPlaneClick
ユーザーがトラッキング可能なインスタントの平面上でクリックしたときに実行されます。このコールバックは、通常のonClickコールバックのようにコンテキストに伝播しません。即時トラッキング可能なものにのみ有効です。
onTrackingPlaneDragBegan
ユーザーがインスタントトラッキング可能の平面上にドラッグを開始したときに実行されます。このコールバックは、通常のonDragBeganコールバックのようにコンテキストに伝播しません。即時トラッキング可能なものにのみ有効です。
onTrackingPlaneDragChanged
ユーザーがインスタントトラッキング可能の平面上にドラッグすると実行されます。このコールバックは、通常のonDragChangedコールバックのようにコンテキストに伝播しません。即時トラッキング可能なものにのみ有効です。
onTrackingPlaneDragEnded
ユーザーがインスタントトラッキング可能の平面上にドラッグすると実行されます。このコールバックは、通常のonDragEndedコールバックのようにコンテキストに伝播しません。即時トラッキング可能なものにのみ有効です。
onTrackingStarted
初期化状態からトラッキング状態への遷移が行われたときに実行されます。また、以前トラッキングされなくなったものが、再びトラッキングされるのが見つかったときにも実行されます。
onTrackingStopped
トラッキング状態から初期化状態への遷移が実行されたときに実行されます。また、トラッキングされなくなったときにも実行されます。