Wikitude SDK APIリファレンス

バージョン: 8.1.0
表示:

InstantTrackableクラス

継承元: ARObject
モジュール: AR

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 (デフォルト値: trueBoolean オプション
    • renderingOrder (デフォルト値: 0Number オプション
    • 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 オプション

メソッド

convertScreenCoordinateToPointCloudCoordinate

(
  • screenX
  • screenY
  • completionHandler
  • errorHandler
)

スクリーンの座標をポイントクラウドの座標に変換します。

パラメーター:

  • screenX Number

    Xスクリーン座標

  • screenY Number

    Yスクリーン座標

  • completionHandler Function

    スクリーン座標がポイントクラウド座標に正常に変換された場合に呼び出されるコールバック

  • errorHandler Function

    スクリーン座標をポイントクラウド座標に変換できなかった場合に呼び出されるコールバック

destroy

()

継承元: ARchitectObject

オブジェクトを破棄します。

drawables.addCamDrawable

(
  • drawable
  • position
)

継承元: ARObject

カメラの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 optional

    Drawable2Dを追加する配列内の位置。指定しない場合は、配列の最後にDrawable2Dが追加されます。整数にする必要があります。

drawables.removeCamDrawable

(
  • drawable|position
)

継承元: ARObject

カメラのARObjectからDrawablesを削除します。

パラメーター:

  • drawable|position Drawable | [Drawable] | Number

    1つのDrawableまたはDrawablesの配列が指定された場合、これらのDrawableは配列から削除されます。整数が指定されると、指定された位置のDrawableが削除されます。

drawables.removeInitializationDrawable

(
  • drawable|position
)

インスタントトラッキングの開始位置の視覚化するDrawable2Dを削除します。

パラメーター:

  • drawable|position Drawable2D | Drawable2D[] | Int

    単一のDrawable2D、またはDrawable2Dの配列を指定すると、それらのDrawable2Dが配列から削除されます。整数を指定すると、指定した位置にあるDrawable2Dが削除されます。

isVisible

() Boolean

継承元: ARObject

ARObjectの現在の可視性の状態を返します。ARObjectの位置(ジオロケーションまたはビジュアルトラッカー)の少なくとも1つが現在スクリーン上に表示されているスクリーン座標に投影されるとARObjectトが表示されます。

戻り値:

Boolean:

オブジェクトが現在画面に表示されているか(true)、または表示されていない(false)かを示します。

プロパティ

destroyed

Boolean

継承元: ARchitectObject

オブジェクトがすでに破棄されているかどうかを示します。

drawables.cam

Drawable[]

継承元: ARObject

カメラビューで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(...);で直接設定する必要があります。

enabled

Boolean

継承元: ARObject

ARObjectを有効または無効にするブール値のフラグ。

デフォルト値: true

renderingOrder

Number

継承元: ARObject

異なるARObjects の描画可能オブジェクトが重複する可能性があります。この場合、renderingOrderはARObjectのDrawablesのレンダリング順序を定義します。より高いrenderingOrder値を持つARObjectsは、drawOleder値が低いARObjectsのDrawableの上にDrawablesを描画します。2つのARObjectsが同じrenderingOrderを設定している場合、Drawablesは距離に基づいてレンダリングされ、オブジェクトに近いところでオブジェクトをオーバーラップさせます。
たとえば、特定のARObjectのDrawablesを最前面に持ってくる場合、対応するARObjectのrenderingOrder値を非常に高い値に設定します。

同じARObject内のDrawablesの印刷順序については、Drawable2D.zOrderを参照してください。

整数でなければなりません。

デフォルト値: 0

tracker

InstantTracker

このInstantTrackableによって参照されるターゲットを含むトラッカーこのプロパティは読み取り専用で、作成時にのみ設定できます。

イベント

conversionCompletionHandler

スクリーン座標がポイントクラウド座標に正常に変換された場合に実行される。

conversionErrorHandler

スクリーン座標がポイントクラウド座標に変換できなかった場合に実行される。

onClick

継承元: ARObject

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

継承元: ARObject

ユーザーが1本の指で1つ以上のDrawableをドラッグし始めたときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。ドラッグジェスチャへの変更が発生していない場合、onDragBeganは常に0です。

  • yNormalized Number

    >開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。ドラッグジェスチャへの変更が発生していない場合、onDragBeganは常に0です。

onDragChanged

継承元: ARObject

ユーザーが1本の指で少なくとも1つのDrawableをドラッグすると実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離

  • yNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離

onDragEnded

継承元: ARObject

ユーザーが1本の指で1つ以上のDrawableをドラッグして停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。onDragChangedで受信した最新の距離と常に同じ

  • yNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。onDragChangedで受信した最新の距離と常に同じ

onPanBegan

継承元: ARObject

ユーザーが2本の指で1つ以上のDrawableをドラッグし始めたときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。パンジェスチャへの変更が発生していない場合、onPanBeganは常に0です。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

  • yNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。パンジェスチャへの変更が発生していない場合、onPanBeganは常に0です。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

onPanChanged

継承元: ARObject

ユーザーが2本の指で少なくとも1つのDrawableをドラッグすると実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

  • yNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

onPanEnded

継承元: ARObject

ユーザーが2本の指で1つ以上のDrawableをドラッグして停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。onPanChangedで受信した最新の距離と常に同じです。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

  • yNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。onPanChangedで受信した最新の距離と常に同じです。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

onRotationBegan

継承元: ARObject

ユーザーが2本の指で少なくとも1つのDrawableの回転を開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • angle Number

    開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。回転ジェスチャの変更が発生していない場合、onRotationBeganでは常に0です。

onRotationChanged

継承元: ARObject

ユーザーが2本の指で1つ以上のDrawableを回転させたときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • angle Number

    開始タッチ位置によって定義される線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。

onRotationEnded

継承元: ARObject

ユーザーが2本の指で少なくとも1つのDrawableの回転を停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • angle Number

    開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。onRotationChangedで受け取った最新の角度と常に同じ。

onScaleBegan

継承元: ARObject

ユーザーが2本の指で少なくとも1つのDrawableの拡大縮小を開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • scale Number

    スケール値は、開始タッチ間の距離にわたる更新されたタッチ間の距離の比[0、inf]を定義します。スケールジェスチャへの変更が発生していない場合、onScaleBeganは常に1です。

onScaleChanged

継承元: ARObject

ユーザーが2本の指で少なくとも1つのDrawableの拡大縮小したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • scale Number

    開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。

onScaleEnded

継承元: ARObject

ユーザーが2本の指で少なくとも1つのDrawableの拡大縮小を停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • scale Number

    開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。onScaleChangedで受信した最新のスケールと常に同じ。

onTrackingPlaneClick

ユーザーがトラッキング可能なインスタントの平面上でクリックしたときに実行されます。このコールバックは、通常のonClickコールバックのようにコンテキストに伝播しません。即時トラッキング可能なものにのみ有効です。

イベントペイロード:

  • xIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]

  • yIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]

onTrackingPlaneDragBegan

ユーザーがインスタントトラッキング可能の平面上にドラッグを開始したときに実行されます。このコールバックは、通常のonDragBeganコールバックのようにコンテキストに伝播しません。即時トラッキング可能なものにのみ有効です。

イベントペイロード:

  • xIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]

  • yIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]

onTrackingPlaneDragChanged

ユーザーがインスタントトラッキング可能の平面上にドラッグすると実行されます。このコールバックは、通常のonDragChangedコールバックのようにコンテキストに伝播しません。即時トラッキング可能なものにのみ有効です。

イベントペイロード:

  • xIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]

  • yIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]

onTrackingPlaneDragEnded

ユーザーがインスタントトラッキング可能の平面上にドラッグすると実行されます。このコールバックは、通常のonDragEndedコールバックのようにコンテキストに伝播しません。即時トラッキング可能なものにのみ有効です。

イベントペイロード:

  • xIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]

  • yIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]

onTrackingStarted

初期化状態からトラッキング状態への遷移が行われたときに実行されます。また、以前トラッキングされなくなったものが、再びトラッキングされるのが見つかったときにも実行されます。

onTrackingStopped

トラッキング状態から初期化状態への遷移が実行されたときに実行されます。また、トラッキングされなくなったときにも実行されます。