Wikitude SDK APIリファレンス

バージョン: 8.1.0
表示:

Drawableクラス

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

Drawableは、ARObjectのグラフィカル表現を実装したスーパークラスです。

Drawableは他のクラスのスーパークラスなので、ユーザーコードで直接インスタンス化しないでください。

定義された変換(ローカルおよびグローバルの回転と平行移動、ローカルスケーリング)はDrawablesに適用できます。Drawableには回転を適用できます。Drawableのローカル座標系は右手座標系として定義されており、以下のように定義されます。

  • 座標系の原点は、DrawableがアタッチされているObjectのロケーションにあります。
  • x軸は右を指します。
  • y軸は上を指します。
  • z軸は画面から離れる方向を指します。
右および上の定義は、DrawableがアタッチされているARObjectのタイプによって異なります。GeoObjectの場合、方向は地面を基準として定義され、Drawable.rotatesToCameraがfalseに設定されていない限り、Drawableは常にユーザーの方を向きます。ImageTrackableの場合、方向はトラッキングオブジェクトを基準として定義されます。

フロントカメラを使用するとき、mirroredフラグを設定することでDrawableをミラーリングできます。デフォルトでは、ラベルとHTMLDrawable以外のDrawableはすべてミラーリングしますが、この設定はオーバーライドできます。

メソッド

destroy

()

継承元: ARchitectObject

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

プロパティ

destroyed

Boolean

継承元: ARchitectObject

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

enabled

Boolean

Drawableを有効または無効にするフラグ。無効なDrawableはカメラビューに表示されず、トリガーも発生しません。有効な場合は状況に応じてレンダリングされ、トリガーが発生します。

デフォルト値: true

mirrored

Boolean

このDrawableのミラーリングを有効または無効にするフラグ。フロントカメラを使用したとき、ミラーリングしたDrawableはy軸を中心に180°回転します。

デフォルト値: 一般的なDrawableの場合はtrue、ラベルとHTMLDrawableの場合はfalse

rotate

Object

Drawableの中央を中心とする回転を定義します。 このプロパティを使用すると、最高のパフォーマンスを出すために、Wikitude SDKのネイティブサイドへの1回の呼び出しで、x、y、zコンポーネントを同時に設定できます。 Objectは、x、y、z、またはそのサブセットを含むことができます。

rotate.global.x

Number

x軸を中心としたDrawableの回転(度単位)を定義します。 値には360の剰余が適用されます。 つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。 すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

rotate.global.y

Number

y軸を中心としたDrawableの回転(度単位)を定義します。値には360の剰余が適用されます。つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。 すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

rotate.global.z

Number

z軸を中心としたDrawableの回転(度単位)を定義します。値には360の剰余が適用されます。つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。 すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

rotate.heading

Number 非推奨

非推奨: 代わりにrotate.yまたはrotate.global.yを使用してください。

rotate.roll

Number 非推奨

非推奨: 代わりにrotate.zまたはrotate.global.zを使用してください。

rotate.tilt

Number 非推奨

非推奨: 代わりにrotate.xまたはrotate.global.xを使用してください。

rotate.x

Number

x軸を中心としたDrawableの回転(度単位)を定義します。 値には360の剰余が適用されます。 つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。

デフォルト値: 0

rotate.y

Number

y軸を中心としたDrawableの回転(度単位)を定義します。 値には360の剰余が適用されます。 つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。

デフォルト値: 0

rotate.z

Number

z軸を中心としたDrawableの回転(度単位)を定義します。 値には360の剰余が適用されます。 つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。

デフォルト値: 0

rotatesToCamera

Boolean

drawableがカメラに向いているかどうかを定義します。これは、GeoObject にアタッチされたDrawablesに対してのみ可能です。

デフォルト値:一般的なdrawableの場合はtrue、モデルの場合はfalse。

scale

Object

Drawableのスケールを定義します。 このプロパティを使用すると、最高のパフォーマンスを出すために、Wikitude SDKのネイティブサイドへの1回の呼び出しで、x、y、zコンポーネントを同時に設定できます。 Objectは、x、y、z、またはそのサブセットを含むことができます。

scale.x

Number

x方向のスケール。 負でない必要があります。

デフォルト値: 1

scale.y

Number

y方向のスケール。 負でない必要があります。

デフォルト値: 1

scale.z

Number

z方向のスケール。 負でない必要があります。

デフォルト値: 1

translate

Object

Drawableの平行移動を定義します。 このプロパティを使用すると、最高のパフォーマンスを出すために、Wikitude SDKのネイティブサイドへの1回の呼び出しで、x、y、zコンポーネントを同時に設定できます。 Objectは、x、y、z、またはそのサブセットを含むことができます。

translate.global.x

Number

Drawableの計算された位置への水平オフセット( SDU 単位)。 正の数xはDrawableを右に移動させ、負の数xは左に移動させます。 すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

translate.global.y

Number

Drawableの計算された位置への垂直オフセット( SDU 単位)。 正の数yはDrawableを上に移動させ、負の数yは下に移動させます。 すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

translate.global.z

Number

Drawableの計算された位置までの深さオフセット( SDU 単位)。 正の数zはDrawableをユーザーの方に移動させ、負の数zは奥に移動させます。 すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

translate.x

Number

Drawableの計算された位置への水平オフセット( SDU 単位)。 正の数xはDrawableを右に移動させ、負の数xは左に移動させます。

デフォルト値: 0

translate.y

Number

Drawableの計算された位置への垂直オフセット( SDU 単位)。 正の数yはDrawableを上に移動させ、負の数yは下に移動させます。

デフォルト値: 0

translate.z

Number

Drawableの計算された位置までの深さオフセット( SDU 単位)。 正の数zはDrawableをユーザーの方に移動させ、負のzは奥に移動させます。

デフォルト値: 0

イベント

onClick

Drawableをクリックすると、Drawable.onClickトリガーが実行されます。画面上のクリックは複数のDrawableにヒットする場合があるため、最前面のDrawableを先頭とする"クリックされたDrawableのキュー"が作成されます。トリガーの戻り値は、このDrawableのonClick()トリガーが実行された後にキューの次のDrawableのonClick()トリガーを実行するかどうかを決定します。キューの最後のDrawableがさらにonClick()トリガーの実行を要求した場合は、ARObject.onClick()トリガーが実行されます。さらにキューの実行が要求された場合は、context.onScreenClick()トリガーが実行されます。

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

イベントペイロード:

  • arObject ARObject

    クリックされたDrawableにアタッチされているARObject。

    このトリガーのデフォルト値はnullであり、トリガーが発生したときに何もアクションは実行されません。開発者はonClickトリガーにカスタム関数を指定することで、カスタム機能を追加できます。

onDragBegan

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

  • xIntersection Number

    ワールド空間における、開始タッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

  • yIntersection Number

    ワールド空間における、開始タッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

onDragChanged

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

  • xIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

  • yIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

onDragEnded

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

  • xIntersection Number

    ワールド空間における、終了タッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

  • yIntersection Number

    ワールド空間における、終了タッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

onPanBegan

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

onPanChanged

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

onPanEnded

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

onRotationBegan

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

イベントペイロード:

  • angle Number

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

onRotationChanged

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

イベントペイロード:

  • angle Number

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

onRotationEnded

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

イベントペイロード:

  • angle Number

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

onScaleBegan

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

イベントペイロード:

  • scale Number

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

onScaleChanged

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

イベントペイロード:

  • scale Number

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

onScaleEnded

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

イベントペイロード:

  • scale Number

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