Wikitude SDK APIリファレンス

バージョン: 8.1.0
表示:

Modelクラス

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

Modelは、拡張オブジェクトを3Dモデルで表す場合に使用できます。

Modelは、Wikitude 3D Encoderを使用して作成されたWT3ファイルへのリンクと制御プロパティ、および特定のイベントを発生させるトリガーで構成されています。Wikitude 3D Encoderの詳細については、Wikitude SDKドキュメントを参照してください。



3Dモデルは2Dオブジェクトの前面にレンダリングされます。この制限はWikitude SDKの内部制約に起因しており、今後のリリースで変更される可能性があります。



インスタンス生成時にパラメーターを渡して、Modelのプロパティをカスタマイズできます。

例:
//create a new Model and pass some setup parameters
var model = new AR.Model("models/my3dModel.wt3", {
  // scales it to half of the original size
  scale: {
    x: 0.5,
    y: 0.5,
    z: 0.5
  },
  // rotates it 90 degrees around the z-axis and 180 degrees around the x-axis
  rotate: {
    roll: 90.0,
    tilt: 180.0,
    heading: 0.0
  },
  // moves the 0bject 5 SDUs along the x- and the y-axis
  translate: {
    x: 5,
    y: 5,
    z: 0
  },
  onClick : function() {
    //something happens
  }
});

コンストラクター

Model

(
  • uri
  • options
)

パラメーター:

  • uri String

    すべての3Dモデル情報を含むwt3ファイルを指すURI。

  • options Object オプション

    追加のオブジェクトプロパティをカスタマイズするためのパラメーター。

    設定可能なプロパティは以下のとおりです。

    • enabled (デフォルト値: trueBoolean オプション
    • mirrored (デフォルト値: trueBoolean オプション
    • onClick Function オプション
    • rotate.x (デフォルト値: 0Number オプション
    • rotate.y (デフォルト値: 0Number オプション
    • rotate.z (デフォルト値: 0Number オプション
    • rotate.global.x (デフォルト値: 0Number オプション
    • rotate.global.y (デフォルト値: 0Number オプション
    • rotate.global.z (デフォルト値: 0Number オプション
    • translate.x (デフォルト値: 0Number オプション
    • translate.y (デフォルト値: 0Number オプション
    • translate.z (デフォルト値: 0Number オプション
    • translate.global.x (デフォルト値: 0Number オプション
    • translate.global.y (デフォルト値: 0Number オプション
    • translate.global.z (デフォルト値: 0Number オプション
    • scale.x (デフォルト値: 1Number オプション
    • scale.y (デフォルト値: 1Number オプション
    • scale.z (デフォルト値: 1Number オプション
    • onLoaded Function オプション
    • onInitialized Function オプション
    • onError Function オプション

メソッド

destroy

()

継承元: ARchitectObject

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

isInitialized

() Boolean

モデルがすでに正常に初期化されているかどうかを確認できます。 モデルが最初にレンダリングされたときに初期化されます。

Returns:

Boolean:

モデルがすでに初期化されている場合はtrue、まだ初期化されていない場合はfalse。

isLoaded

() Boolean

Modelがすでに正常にロードされているかどうかをチェックします。

戻り値:

Boolean:

Modelがすでにロードされている場合はtrue。まだロードされていない場合はfalse。

プロパティ

destroyed

Boolean

継承元: ARchitectObject

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

enabled

Boolean

継承元: Drawable

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

デフォルト値: true

mirrored

Boolean

継承元: Drawable

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

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

rotate

Object

継承元: Drawable

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

rotate.global.x

Number

継承元: Drawable

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

デフォルト値: 0

rotate.global.y

Number

継承元: Drawable

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

デフォルト値: 0

rotate.global.z

Number

継承元: Drawable

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

デフォルト値: 0

rotate.heading

Number 非推奨

継承元: Drawable

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

rotate.roll

Number 非推奨

継承元: Drawable

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

rotate.tilt

Number 非推奨

継承元: Drawable

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

rotate.x

Number

継承元: Drawable

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

デフォルト値: 0

rotate.y

Number

継承元: Drawable

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

デフォルト値: 0

rotate.z

Number

継承元: Drawable

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

デフォルト値: 0

rotatesToCamera

Boolean

継承元: Drawable

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

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

scale

Object

継承元: Drawable

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

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

translate.global.x

Number

継承元: Drawable

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

デフォルト値: 0

translate.global.y

Number

継承元: Drawable

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

デフォルト値: 0

translate.global.z

Number

継承元: Drawable

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

デフォルト値: 0

translate.x

Number

継承元: Drawable

Drawableの計算された位置までの水平オフセット(SDU単位)。Xに正の値を設定すると拡張オブジェクトの位置が右に移動し、負の値を設定すると左に移動します。

デフォルト値: 0

translate.y

Number

継承元: Drawable

Modelによって表される拡張オブジェクトの垂直オフセット(SDU単位)。Yに正の値を設定すると拡張オブジェクトが上に移動し、負の値を設定すると下に移動します。すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

translate.z

Number

継承元: Drawable

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

デフォルト値: 0

uri

String

3Dモデルを指すURI。このプロパティは読み取り専用であり、作成後に変更することはできません。

イベント

onClick

継承元: Drawable

Modelをクリックすると、Model.onClick(ARObject,String)がトリガーされます。

戻り値にはtrueまたはfalseが設定できます。詳細は(Drawable.onClick()トリガーを参照してください。

イベントペイロード:

  • arObject ARObject

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

  • modelPart String

    クリックされたモデルパーツの名前。モデルは通常、モデルパーツ(ノードとメッシュパーツ)の階層で構成されています。各ノードにはメッシュパーツが1つ以上含まれます。ノードに含まれるメッシュパーツが1つだけの場合、modelPartはノード名と一致します。ノードに複数のメッシュパーツが含まれる場合、modelPartはXYZ[i]という形式の文字列になります。ここでXYZはノード名を示し、iは角カッコで囲まれたモデルパーツのインデックスを示します。クリック可能なモデルパーツのリストはWikitude 3D Encoderから取得できます。

onDragBegan

継承元: Drawable

ユーザーが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

継承元: Drawable

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

  • xIntersection Number

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

  • yIntersection Number

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

onDragEnded

継承元: Drawable

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

  • xIntersection Number

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

  • yIntersection Number

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

onError

このトリガーは、3Dモデルをロードできないときに発生します。

このトリガーのデフォルト値はnullであり、トリガーが発生したときに何もアクションは実行されません。開発者はonErrorトリガーにカスタム関数を指定することで、カスタム機能を追加できます。3Dモデルのロードが失敗した理由に関する詳細な情報を得るため、エラートリガーにエラーメッセージパラメーターを持たせることができます。

onInitialized

モデルファイルが正常にロードされ、レンダリングされるときにトリガーが発生します。

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

onLoaded

このトリガーは、モデルファイルが正常に読み込まれたときに発生します。

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

onPanBegan

継承元: Drawable

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

onPanChanged

継承元: Drawable

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

onPanEnded

継承元: Drawable

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

イベントペイロード:

  • xNormalized Number

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

  • yNormalized Number

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

onRotationBegan

継承元: Drawable

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

イベントペイロード:

  • angle Number

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

onRotationChanged

継承元: Drawable

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

イベントペイロード:

  • angle Number

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

onRotationEnded

継承元: Drawable

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

イベントペイロード:

  • angle Number

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

onScaleBegan

継承元: Drawable

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

イベントペイロード:

  • scale Number

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

onScaleChanged

継承元: Drawable

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

イベントペイロード:

  • scale Number

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

onScaleEnded

継承元: Drawable

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

イベントペイロード:

  • scale Number

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