Modelクラス
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
(デフォルト値:true
) Boolean オプション -
mirrored
(デフォルト値:true
) Boolean オプション -
onClick
Function オプション -
rotate.x
(デフォルト値:0
) Number オプション -
rotate.y
(デフォルト値:0
) Number オプション -
rotate.z
(デフォルト値:0
) Number オプション -
rotate.global.x
(デフォルト値:0
) Number オプション -
rotate.global.y
(デフォルト値:0
) Number オプション -
rotate.global.z
(デフォルト値:0
) Number オプション -
translate.x
(デフォルト値:0
) Number オプション -
translate.y
(デフォルト値:0
) Number オプション -
translate.z
(デフォルト値:0
) Number オプション -
translate.global.x
(デフォルト値:0
) Number オプション -
translate.global.y
(デフォルト値:0
) Number オプション -
translate.global.z
(デフォルト値:0
) Number オプション -
scale.x
(デフォルト値:1
) Number オプション -
scale.y
(デフォルト値:1
) Number オプション -
scale.z
(デフォルト値:1
) Number オプション -
onLoaded
Function オプション -
onInitialized
Function オプション -
onError
Function オプション
-
項目索引
メソッド
プロパティ
- destroyed
- enabled
- mirrored
- rotate
- rotate.global.x
- rotate.global.y
- rotate.global.z
- rotate.heading 非推奨
- rotate.roll 非推奨
- rotate.tilt 非推奨
- rotate.x
- rotate.y
- rotate.z
- rotatesToCamera
- scale
- scale.x
- scale.y
- scale.z
- translate
- translate.global.x
- translate.global.y
- translate.global.z
- translate.x
- translate.y
- translate.z
- uri
メソッド
destroy
()
オブジェクトを破棄します。
プロパティ
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.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、またはそのサブセットを含むことができます。
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に正の値を設定すると拡張オブジェクトの位置が右に移動し、負の値を設定すると左に移動します。
デフォルト値: 0
translate.y
Number
Modelによって表される拡張オブジェクトの垂直オフセット(SDU単位)。Yに正の値を設定すると拡張オブジェクトが上に移動し、負の値を設定すると下に移動します。すべてのグローバル変換は、ローカル変換後に適用されます。
デフォルト値: 0
イベント
onClick
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
ユーザーが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が使用できない場合は未定義
onError
このトリガーは、3Dモデルをロードできないときに発生します。
このトリガーのデフォルト値はnullであり、トリガーが発生したときに何もアクションは実行されません。開発者はonErrorトリガーにカスタム関数を指定することで、カスタム機能を追加できます。3Dモデルのロードが失敗した理由に関する詳細な情報を得るため、エラートリガーにエラーメッセージパラメーターを持たせることができます。
onInitialized
モデルファイルが正常にロードされ、レンダリングされるときにトリガーが発生します。
このトリガーのデフォルト値はnullであり、トリガーが発生したときに何もアクションは実行されません。開発者は、カスタム関数をonInitialized に割り当てることによって、カスタム関数を追加できます。
onLoaded
このトリガーは、モデルファイルが正常に読み込まれたときに発生します。
このトリガーのデフォルト値はnullであり、トリガーが発生したときに何もアクションは実行されません。開発者は、カスタム関数をonLoadedに割り当てることによって、カスタム関数を追加できます。
onPanBegan
ユーザーが2本の指でDrawableのドラッグを開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
onPanChanged
ユーザーが2本の指でDrawableをドラッグすると実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onPanEnded
ユーザーが2本の指でDrawableのドラッグを停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
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で受信した最新のスケールと常に同じ。