Wikitude SDK APIリファレンス

バージョン: 8.1.0
表示:

ARObjectクラス

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

ARObjectは直接インスタンス化できない抽象クラスです。ARchitect Worldにレンダリングされるオブジェクトに必要な基本的なメソッドとプロパティを提供します。

ARObjectは、GeoObjectまたはImageTrackableによって実世界に投影されます。また、カメラビューでARObjectを表現するために拡張オブジェクトがアタッチされます。

メソッド

destroy

()

継承元: ARchitectObject

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

drawables.addCamDrawable

(
  • drawable
  • position
)

拡張オブジェクトをARObjectに追加します。

パラメーター:

  • drawable Drawable | Drawable[]

    追加する拡張オブジェクト。単一、または複数の拡張オブジェクトを配列で指定できます。

  • position Number オプション

    拡張オブジェクトを追加する配列内の位置。指定しない場合は、配列の最後に追加されます。整数にする必要があります。

drawables.removeCamDrawable

(
  • drawable|position
)

拡張オブジェクトをARObjectから削除します。

パラメーター:

  • drawable|position Drawable | [Drawable] | Number

    単一、または複数の拡張オブジェクトを配列で指定すると、それらが配列から削除されます。整数を指定すると、指定した位置にある拡張オブジェクトが削除されます。

isVisible

() Boolean

ARObjectの現在の可視/不可視状態を返します。ARObjectのロケーションまたはターゲットの少なくとも1つが、現在認識されている場合、そのARObjectは可視状態にあると定義されます。

戻り値:

Boolean:

ARObjectが現在認識されている場合はtrue。認識されていない場合はfalse。

プロパティ

destroyed

Boolean

継承元: ARchitectObject

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

drawables.cam

Drawable[]

カメラビュー内で使用される拡張オブジェクト。

拡張オブジェクトが、配列の添え字順に表示されます。順序が後の拡張オブジェクトは、先に描画された拡張オブジェクトの上に重なります。

注:

配列の内容を[]演算子によって操作しないでください。それらの変更がアプリケーションに反映されるかどうかは保証されません。このプロパティを操作するときは、arobject.drawables.addCamDrawable()とarobject.drawables.removeCamDrawable()を使用するか、arobject.drawables.cam = new Array(...);を使用して直接設定してください。

enabled

Boolean

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

デフォルト値: true

renderingOrder

Number

異なるARObjectの拡張オブジェクトが重なる場合があります。その場合、renderingOrderによって、そのARObject間の拡張オブジェクトのレンダリング順序が決まります。renderingOrder値の高いARObjectに属する拡張オブジェクトが、renderingOrder値の低いARObjectに属する拡張オブジェクトの前面に描画されます。2つのARObjectに同じrenderingOrderが設定されている場合、それらの拡張オブジェクトは距離に基づいてレンダリングされ、ユーザーに近い方のオブジェクトが遠い方のオブジェクトより前面に描画されます。
たとえば、特定のARObjectの拡張オブジェクトを最前面に移動する場合は、対応するARObjectのrenderingOrder値を非常に大きい値に設定します。

同じARObject内の拡張オブジェクトの描画順序については、Drawable2D.zOrderを参照してください。

整数にする必要があります。

デフォルト値: 0

イベント

onClick

ARObjectのいずれかの拡張オブジェクトがクリックされたとき、どの拡張オブジェクトのonClick()トリガーでもクリックキューが停止されない場合に実行されます。ARObject.onClick()トリガーは、すべてのDrawable.onClick()トリガーが実行された後に実行されます。

複数のARObjectがクリックされた場合、実行順序はユーザーに対するARObjectの距離によって決定され、最も近いARObjectのonClickトリガーが最初に実行されます。

onClick()トリガーの戻り値は、このARObjectのonClick()トリガーが実行された後にキューの次のARObjectのonClick()トリガーを実行するかどうかを決定します。キューの最後のARObjectがさらにクリックキューの実行を要求した場合は、context.onScreenClick()トリガーが実行されます。

このトリガーの戻り値により後続のクリックキューの処理を決定します。falseの場合、クリックキューの実行はこのARObjectで停止しません。したがって、次のARObjectのonClick()トリガーが実行されます。これは、戻り値が設定されていない場合、またはこのARObjectに対してonClick()トリガーが定義されていない場合のデフォルト値です。trueの場合、キューの実行は現在のARObjectで停止し、後続のARObjectのonClick()トリガーは実行されません。

onDragBegan

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

onDragChanged

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

onDragEnded

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

onPanBegan

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

onPanChanged

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

onPanEnded

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

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で受信した最新のスケールと常に同じ。