共通

共通

たとえば、タグをボタンに置き換える場合は以下のように書く

// toButtonでボタンに変更する
"タグ名": (replaceTag) => replaceTag.toButton?.create({
 // ボタンの初期化情報
})
.onClick((ctx) => { // クリックされたイベント通知
    // クリックを受け取ったタイミングで実行する関数
})
// 他にイベントがあれば後ろにつなげる

初期化情報

以下のパラメータは共通情報として、どの物体でも適用できる。

変数名 備考
position 表示位置。タグからの相対位置で表す
angle 表示角度。degreeで表す
scale 表示倍率
isBillboard ビルボード(カメラの角度に関わらず、ずっと同じ方向を向く物体)にする

物体によっては、これ以外の固有の情報を取る

イベント

対象が発行するイベントを、onでサブスクライブする
※同じ関数を複数回呼び出した場合は、上書きではなく、それぞれの関数が呼ばれる

イベント一覧

関数名 実行タイミング
onLoad リソースの読み込みが完了した
onUpdateState タグのリアルタイム状態が更新された
onUpdateValue タグに紐づいたデータが更新された
onUpdateCameraAngle カメラのアングルが更新された
onTick レンダリングを実行した(1/60秒ごとに1回実行される)
onEffect effectDependsOnで参照したオブジェクトが更新された
onVisible 表示状態が表示中に更新された
onHide 表示状態が非表示に更新された
onClick (クリック可能なオブジェクトのみ)対象がクリックされた

イベントコンテキスト

イベント関数は以下の属性を持った引数を受け取る。直接参照するか、分割代入で取り出す

.onLoad((context) => {
    const { self, tagName } = context;

});
変数名 必須 備考
self 置き換えたあとのタグオブジェクト
tagName タグ名
breadcrumb Groupで階層があるとき、階層を含んだタグ名
rootScene Three.jsのSceneオブジェクト。useStoreでレンダラやライトを参照できる
state   onUpdateStateで通知された状態
values   onUpdateValueで通知されたIoTデータ
cameraState   カメラの状態
matrix   カメラの角度

イベントによっては、これ以外の変数を持つこともある

results matching ""

    No results matching ""