イベントシステム

説明
イベントシステムは、どの研究においても不可欠です。これは、記録される値を設定し、実験を進行させ、タスクを作成する方法です。ユーザーは、タスク内のすべての機能、ロジック、相互作用を実行するためのイベントシステムを作成できます。イベントは、オブジェクトと変数の間の仲介者として機能することがよくあります。

イベントシステムは、トリガーとアクションで構成されています。ここで、「このことが起こったとき」(トリガー)、次に「これを実行する」(アクション)というようにルールを設定します。例えば、参加者が特定の画像をクリックした場合(トリガー)、別のランダムな画像を表示します(アクション)。
Labvancedにおけるイベントの動作の紹介については、このクイックビデオを参照してください:
イベントの作成 - 概要
イベントは、右上隅の「イベント」タブの下でタスクエディターで管理されます。新しいイベントは、+ Frame Eventをクリックすることでそのフレームで発生するイベントを作成したり、+ Trial Eventをクリックしてすべてのフレームにそのイベントを適用したりすることができます。既存のすべてのイベントは、右側のパネルにリスト表示されます。イベントはフレームレベルで定義され、各フレームごとに別個または特定にすることも、試行全体で複製または同じにすることも可能です。

いずれにせよ、指定されたフレームに対してイベントは必ず試行グループ内のすべての試行に定義されています。ただし、カスタムロジックにより、ユーザーは特定の試行、条件、または他の状況でのみイベントを実行できます。
トリガーの選択
新しいイベントを作成すると、トリガー選択がタイルグリッドとして開きます。トリガーの種類はカテゴリー(ユーザー入力、生理的信号、試行とフレーム、変数、メディアオブジェクト、API、グローバル)で整理されています。上部の検索ボックスでは、トリガータイプを名前でフィルタリングできます。任意のタイルをクリックして、そのタイルをイベントのトリガーとして設定します。
トリガーが選択されると、イベントには現在のトリガー名とアイコンを含むコンパクトなバーが表示されます。異なるトリガーに切り替えるには、Change triggerボタン(鉛筆アイコン)をクリックしてタイルグリッドを再度開きます。
以下のビデオでは、Labvancedで使用可能なトリガーとアクションの概要を示しています:
イベントの実行順序は調整可能です。デフォルトでは、同じトリガーを持つイベントはリストの上部に表示され、最初に実行されます。イベントはコピーや削除も可能です。既存のイベントを選択すると、詳細が右下の「イベントプロパティ」パネルに表示されます。既存のイベントは、名前フィールドの隣にあるアイコンをクリックして再度開くことも可能です。
トリガー
トリガーは、イベントが実行されるタイミングを定義します。これは、特定のオブジェクトの上でのマウスクリック、特定のキーボード入力、変数の変更、動画ファイルの開始、その他多くのことが含まれます。すべてのトリガーとその設定/パラメータは、以下のリストで説明されています:
| トリガーカテゴリー | トリガーオプション | 説明 |
|---|---|---|
User Input Triggers | ユーザー入力トリガーは、ユーザーや参加者がマウスを動かす、キーボードの要素をクリックする、スクロールするなどのアクションによって手動でアクティブ化できるトリガーを指します。 | |
Physiological Signal Triggers | 生理的信号トリガーは、特定の要素を見つめたり、頭の動きに変化がある場合に発生します。 | |
Trial and Frame Triggers | これらのトリガーは、実験試行やフレームに関して発生します。例えば、フレームが開始または終了する時です。 | |
Variable Value Changed Trigger | 変数(値変更) | 特定の変数値に変更があるときにイベントが発生するトリガーです。 |
Media Object Trigger | メディアオブジェクトトリガー | メディアオブジェクトに関するトリガーで、動画/音声ファイルの一時停止や録音の完了などに関連します。 |
API Triggers | APIからの受信データがあるときに発生するトリガーです。 | |
Global Triggers | グローバルトリガーは、実験の重要な変更を指します。例えば、実験が一時停止されたり、複数ユーザー研究から参加者が退出したりすることです。 |
ユーザー入力トリガー
ユーザー入力トリガーは、ユーザーまたは参加者が手動でアクティブ化できるトリガーを指します。

以下の表は、Labvancedで利用可能なすべてのユーザー入力トリガーの紹介概要を提供しています。それぞれは、次のセクションでさらに詳しく説明されています。
| ユーザー入力トリガーオプション | 概要 |
|---|---|
Mouse Trigger | マウスの動きは、スクロール、クリック、ホバーなど、イベントを開始するためのトリガーとして使用できます。また、特定の要素やターゲットをトリガーに関連付けることもできます。例えば、特定の画像がクリックされた場合にのみマウスクリックがトリガーとして使用されます。 |
Keyboard Trigger | すべてのキーボードキーの押下は、イベントを開始するトリガーとして使用できます。特定のキーボードの文字や数字をトリガーとして指定できます。 |
Button-Clicks | Labvancedで作成されたボタンオブジェクトは、イベントを開始するトリガーとして使用できます。 |
Enter on Input | このトリガーは、参加者が実験中に「Enter」を押すときによく使用され、テキストフィールドに入力した応答を送信する手段となります。 |
Scroll Trigger | このトリガーは、参加者がスクロールしたときに発生します。x方向またはy方向のスクロールを指定でき、どの要素の上でスクロールが発生するかをイベントトリガーとして使用できます。 |
Gamepad/ Joystick Trigger | このトリガーを使用すると、ゲームパッドやジョイスティックコントローラーを入力デバイスとして実験デザインで使用できます。 |
マウストリガー
「マウストリガー」オプションは非常に人気のあるイベントトリガーで、マウスの動き(上下の移動、クリック、特定のオブジェクト上でのホバー、特定のオブジェクトからの離脱、またはあらゆる動き)に基づいてイベントを開始します。

以下の例は、対象オブジェクト「Image_1」に対して、「左」マウスクリックによって実行される「マウストリガー」を示しています:

以下は、マウストリガーを使用する際のオプションの全体的な概要です:
| メニュー項目 | メニュー領域 | マウストリガーオプションと仕様 |
|---|---|---|
Action ドロップダウンリスト: | ![]() | ドロップダウンリストから利用可能なマウストリガーオプションは以下の通りです:
|
Button ドロップダウンリスト: | ![]() |
|
Targets オプション: | 上記の例では、「Image_1」がイベントをトリガーするボタンクリックの対象です。 複数のターゲットは、下部の** ‘+Add Target’**オプションをクリックすることで追加できます。 |
|
- 注意: イベントシステムでマウストリガーを選択した後、トリガー特有のマウス値を各アクションで利用および参照するオプションがあります。値選択メニューを使用してください。
キーボードトリガー
「キーボードトリガー」オプションは、イベントをトリガーするためのもう一つの一般的な方法です。基本的に、キーボードからの任意の入力をトリガーとして使用できます。これには、キーを押す、保持する、または放すことが含まれます。

以下の例では、特定のターゲット数値(0、2、または6)が押されたときにトリガーされるキーボードプレスが設定されています:

以下は、キーボードトリガーを使用する際のキーとオプションの全体的な概要です:
| メニュー項目 | メニュー領域 | キーボードトリガーオプション |
|---|---|---|
Action ドロップダウンリスト: | ![]() |
|
Keys どのキーがイベントをトリガーするか | ![]() | どのキーがトリガーとして使用されるかは、ここで**+Add:をクリックすることで指定します。
+Add:**ボタンをクリックすることで追加できます。 |
| 追加オプション | ![]() | ナンバーパッドボタンを有効にするオプションでは、ナンバーパッドキーを実験内のトリガーとして使用することができます。 イベント伝播を許可するオプションでは、複数のイベントが同じキーボードトリガーを持っている場合、それらはすべて発火/トリガーされます。最初のものだけが発火し、最初のイベントが完了した後にイベント実行は停止します。 |
- 注意: イベントシステムでキーボードトリガーを選択した後、トリガー特有のキーボード値を各アクションで利用および参照するオプションがあります。値選択メニューを使用してください。
ボタンクリックトリガー
エディターにボタンまたはナビゲーションオブジェクトが配置されている場合、ボタンをクリックすることがアクションのトリガーとして機能するイベントの一部として利用できます。

このトリガーをクリックすると、どの特定のボタンがトリガーとして機能するかを指定できる次のメニューが表示されます:

ここに示されている項目の詳細は以下の通りです:
| メニュー項目 | メニュー領域 | ボタンクリックトリガーオプション |
|---|---|---|
ターゲット: +Set Target | ![]() | |
Button: オプション | ![]() | フレーム上のどの特定のボタンを指定 |
- 注意: イベントシステムでボタンクリックトリガーを選択した後、トリガー特有のボタンクリック値を各アクションで利用および参照するオプションがあります。値選択メニューを使用してください。
入力時のEnterトリガー
トリガー実行条件: 特定の要素がアクティブな間にEnter/Returnキーがキーボードで押される。
パラメータ:
ターゲットを追加:イベントに入力要素を追加します。
注意: イベントシステムで入力時のEnterトリガーを選択した後、トリガー特有のEnterに関する入力値を各アクションで利用および参照するオプションがあります。値選択メニューを使用してください。
スクロールトリガー
トリガー実行条件: スクロールバー、トラックパッドのスクロール、またはマウスのスクロールホイールが特定の要素で使用される。
パラメータ:
- Y軸またはX軸(垂直スクロールまたは水平スクロール)のどちらかでスクロールすることを選択します。
ターゲット: スクロールトリガーが適用されるターゲット要素を設定します。
注意: 長文の場合、'オブジェクトプロパティ'パネルの「スタイル」セクションで、Overflow-Xおよび/またはOverflow-Yオプションにはscrollを選択する必要があります。
- 注意: イベントシステムでスクロールトリガーを選択した後、トリガー特有のスクロール値を各アクションで利用および参照するオプションがあります。値選択メニューを使用してください。
ゲームパッド/ジョイスティックトリガー
Gamepad/ Joystick Triggerは、実験設計においてゲームパッドやジョイスティックコントローラーをデータを記録するための入力デバイスとして使用することができます。注意: このオプションをSettingsタブの下で有効にすることを忘れないでください。
生理的信号トリガー
これらのトリガーは、タスクに対して眼追跡および/または頭追跡が有効になっている場合にのみ適用されます。
眼追跡視線トリガー
トリガー実行条件:
- 全体的に、このトリガーは眼追跡が有効になっているときに適用されます。
- 特定の要素を見ているときだけトリガーされる
パラメータ:
特定の要素でのみトリガーすることを選択した場合、それらの要素をターゲットとして追加します。
注意: イベントシステムで眼追跡視線トリガーを選択した後、トリガー特有の視線値を各アクションで利用および参照するオプションがあります。値選択メニューを使用してください。
さらに詳しく学ぶ: 眼追跡を有効にし、視線データを記録し、実用的な例を示すために専用の眼追跡視線トリガーページをご確認ください。
眼追跡注視トリガー
このトリガーは現在BETA段階にあります。
- 注意: イベントシステムでキーボードトリガーを選択した後、トリガー特有の注視値を各アクションで利用および参照するオプションがあります。値選択メニューを使用してください。
詳細を学ぶ: フィクセーション検出の有効化、フィクセーションデータの記録、実用的な例については、専用の Eyetracking Fixation Trigger ページをご覧ください。
ヘッドトラッキングトリガー
トリガー条件:
頭の向きや頭の動きの変化。
注意: イベントシステムでヘッドトラッキングトリガーを選択した後、トリガー固有のヘッドトラッキング値 をさまざまなアクションで利用および参照するオプションがあります。値選択メニューを使用して。
トライアルおよびフレームトリガー
タスク初期化トリガー
トリガー条件:
- タスクの最初のトライアルの最初のフレーム。タスクごとに一度だけ実行され、そのフレームのすべてのインスタンスについてはイベントタブに表示されます。
このトリガーは、ShuffleおよびRead Fromアクションと組み合わせると良いでしょう。この組み合わせを使用すると、タスクが開始されるときに配列項目やデータフレームをシャッフルし、刺激のセットに被験者を割り当てることができますが、刺激やデータを読み出すために複数のイベントを作成する必要はありません。
パラメーター: なし
- 注意: イベントシステムでタスク初期化トリガーを選択した後、トリガー固有のタスク初期化値 をさまざまなアクションで利用および参照するオプションがあります。値選択メニューを使用して。
フレーム初期化トリガー
トリガー条件:
- フレームの初期化、参加者に表示される前。
このトリガーは、Shuffle、Read From、Draw Random Numberアクションと組み合わせると良いでしょう。この組み合わせにより、フレームが表示される前にこれらのアクションを実行でき、フレームが開始されると同時に他のアクションが始まるための明確な道を提供します。
注意: フレーム初期化トリガーを、Trial NumberやCondition Numberなどの変数を記録するイベントで使用しないでください。フレーム初期化トリガーはトライアルの間に発生するため、表示されるトライアルや条件の正確なカウントはありません。
パラメーター: なし
- 注意: イベントシステムでフレーム初期化トリガーを選択した後、トリガー固有のフレーム初期化値 をさまざまなアクションで利用および参照するオプションがあります。値選択メニューを使用して。
タスクおよびフレーム初期化トリガーに関する注意: タスクおよびフレーム初期化トリガーは、タスクまたはフレームが始まる前に発生するため、この間に作成された変数は、タスク/フレームが実際に開始されるとリセットされます。このイベントを使用する際に警告が表示されます:

変数値がリセットされないようにしたい場合は、変数プロパティウィンドウで「Trial Start時にリセット」のチェックを外してください。
フレーム開始トリガー
トリガー条件:
- フレームの開始
パラメーター: なし
- 注意: イベントシステムでフレーム開始トリガーを選択した後、トリガー固有のフレーム開始値 をさまざまなアクションで利用および参照するオプションがあります。値選択メニューを使用して。
フレーム終了トリガー
トリガー条件:
- フレームの終了(フレームがもはや表示されない後)
パラメーター: なし
- 注意: イベントシステムでフレーム終了トリガーを選択した後、トリガー固有のフレーム終了値 をさまざまなアクションで利用および参照するオプションがあります。値選択メニューを使用して。
変数値変更トリガー
変数値変更
トリガー条件:
- 変数の値が初期値から変更される
パラメーター:
変数: 変更を「リッスン」したい1つ以上の変数を選択します。これらの変数の値の変更は、対応するアクションを直ちにトリガーします。
注意: イベントシステムで変数値変更トリガーを選択した後、トリガー固有の変数値変更値 をさまざまなアクションで利用および参照するオプションがあります。値選択メニューを使用して。
メディアオブジェクトトリガー
メディアオブジェクトトリガー
以前は、別々の「オーディオ/ビデオトリガー」と「オブジェクト制御」トリガーとして知られていました。
トリガー条件:
- ビデオまたはオーディオファイルの開始、一時停止、または停止
- 録音オブジェクトのファイルアップロード完了、ファイル選択、録音完了
- カメラスナップショットオブジェクトのスナップショット完了またはアップロード完了
パラメーター:
ターゲット: フレーム内に存在するオブジェクト要素を選択します
実行: トリガーのサブタイプを選択します
- オーディオまたはビデオオブジェクトのオプション:
- 再生開始: 要素が再生を開始したときにトリガーします
- 再生停止: 要素が一時停止したときにトリガーします
- 再生終了: 要素が再生を停止したときにトリガーします
- ビデオ、オーディオ、または画面録画オブジェクトのオプション:
- 録音完了: オーディオ録音が停止したときにトリガーします
- アップロード完了: ファイルのアップロードが完了したときにトリガーします
- ファイルアップロードオブジェクトのオプション:
- ファイル選択: ファイルが選択されたときにトリガーします
- アップロード完了: ファイルのアップロードが完了したときにトリガーします
- カメラスナップショットオブジェクトのオプション:
- スナップショット完了: カメラがスナップショットを正常に撮影したときにトリガーします
- アップロード完了: スナップショットのアップロードが完了したときにトリガーします
- オーディオまたはビデオオブジェクトのオプション:
注意: イベントシステムでメディアオブジェクトトリガーを選択した後、トリガー固有のメディアオブジェクト値 をさまざまなアクションで利用および参照するオプションがあります。値選択メニューを使用して。
APIトリガー
外部サーバーからLabvancedにデータを送信または通信する必要がある場合は、「APIトリガー」と 「APIアクション」 を使用できます。次のものがトリガーとして使用できます:
- ウェブソケットトリガー
- OpenAIトリガー
- PostMessage受信

ウェブソケットトリガー
ウェブソケット/APIからのメッセージを受信し、アクションのトリガーとして処理する場合に使用されます。

このオプションをクリックすると、次の項目が表示されます。

- 受け入れ/受信元: ローカルホストのIPアドレスを自動検出します。
Settingsタブ内のSpecial Featuresで手動で変更できます。 - トリガー/メッセージ: トリガーとして機能するメッセージを入力します。「any」と入力すると、複数のメッセージをトリガーとして受け入れます。
APIトリガーというアクションがどのように使用されるかの例については、ダイアログボックスで「検査」オプションをクリックして、このデモ https://www.labvanced.com/page/library/51053 をご覧ください。
- 注意: イベントシステムでウェブソケットトリガーを選択した後、トリガー固有のウェブソケット値 をさまざまなアクションで利用および参照するオプションがあります。値選択メニューを使用して。
OpenAIトリガー
「OpenAIトリガー」は、OpenAIからの受信情報に基づいてアクションを開始するために使用できます。

このオプションを選択すると、次のパラメーターが表示されます。

注意: このトリガーを統合した研究をステップバイステップで構築するこのウォークスルーも参照してください。
以下の例では、割り当てられたデータフレームは「df」と呼ばれ、「OpenAIトリガー」からの結果はこのデータフレームに追加されます。このデータフレームには2つの列が必要です。最初の列は「ロール」を示し、2番目の列は「チャットメッセージ」を示します。アクションからの値は、自動的にここでリンクされたデータフレームに追加されます。

「OpenAIに送信」アクションを使用する場合は、ここで指定したのと同じデータフレームをそちらでも利用する必要があります。
- 注意: イベントシステムでOpenAIトリガーを選択した後、トリガー固有のOpenAI値 をさまざまなアクションで利用および参照するオプションがあります。値選択メニューを使用して。
PostMessage Received Trigger
PostMessage Received トリガーは、実行中の実験がブラウザの postMessage API を介して外部ソースから受信したメッセージを受け取ると発火します。これは、実験を親ページ、カスタムアプリケーション、またはデータを研究に送り込む埋め込まれた外部ウェブサイトに接続するのに便利です。
- 注意: イベントシステムで PostMessage Received トリガーを選択した後、trigger-specific PostMessage Received values をさまざまなアクションで value-select menu を使用して活用および参照するオプションがあります。
Global Triggers
グローバルトリガーは、実験内で重大な変更が発生するたびに発生します。つまり、実験を一時停止することや、参加者がマルチユーザー研究から離れるといった「グローバル」な事象です!以下のオプションがグローバルトリガーとしてリストされています。
- 一時停止 / 実験の再開
- 参加者がマルチユーザー研究から離れた

Pause/Resume Experiment
「Pause / Resume Experiment」トリガーは、実験が一時停止または再開されたときにイベントを実行するオプションです。

このトリガーを選択すると、以下のビューが表示され、トリガーの性質をさらに指定できます。つまり、実験が一時停止中か続行/再開中かに応じて実行されるべきです。


実験が一時停止された場合: 参加者が研究を一時停止(全画面を終了)します。
実験が再開された場合: 参加者が研究を再開します。このトリガーは、眼球追跡研究と相性が良いです。参加者が仮想チンレストから離れた場合、前の試行やフレームに戻すために使用できます。
注意: イベントシステムで Pause/Resume Experiment トリガーを選択した後、trigger-specific values をさまざまなアクションで value-select menu を使用して活用および参照するオプションがあります。
Participant Left Multiuser Study
参加者がマルチユーザー研究から離れた場合、それもイベントのトリガーとして使用できます。参加者がマルチユーザー研究を離れると、他の参加者が研究を続行できなくなるため、これはグローバルレベルで実験に影響を与えます。

このトリガーを選択すると、参加者がマルチユーザー研究から離れた場合に何らかのアクションが発生するように指定できます。

- 注意: イベントシステムで Participant Left Multiuser Study トリガーを選択した後、trigger-specific values をさまざまなアクションで value-select menu を使用して活用および参照するオプションがあります。
Actions
アクションは、イベントが実行されたときに何が起こるべきかを定義します。変数やオブジェクトプロパティを変更したり、データを記録したり、配列からデータを読み書きしたり、次の試行やタスクにジャンプするために使用できます。通常、各イベントにはいくつかのアクションがあります。「ControlActions」を使用すると、論理演算(If-Else文)、ループ、コールバック関数を使用し、アクションを入れ子にすることもできます(例えば、if文内のwhileループ)。したがって、イベントシステムはグラフィカルプログラミング環境と見なすことができます。このビューでは、トリガーは関数呼び出しとして機能し、アクションは機能論理を説明します。このアプローチにより、特定のプログラム的/構文的構造を使用せずに、ほぼすべての実験的論理を実装できます。
以下の表は、Labvanced で利用可能なアクションの導入概要を提供します:
| アクションカテゴリ | アクションオプション | 説明 |
|---|---|---|
Object Actions | オブジェクトアクションは、タスク内に存在するオブジェクトに対して発生する任意の操作を指します。 | |
Variable Actions | 変数値を読み取ったり記録したりする任意のアクション。 | |
Array Actions | 配列操作は、配列やそのエントリを選択、追加、削除、変更、シャッフルすることを含みます。 | |
Data Frame Operations | これらのアクションは、実験で .csv ファイル(データフレーム)を扱っている場合に関連します。 | |
Jump Actions | 特定のセクションにジャンプすることで実験をナビゲートし、参加者部分を受け入れたり拒否したりすることができます。 | |
Control Actions | コントロールアクションは、特定のイベントシーケンスを実行するために使用されます。例えば、if/then ロジック、ループ(繰り返しサウンドを再生したり、画像を点滅させたりするような)や、アクションが発生するまでの遅延を設定します。 | |
API Actions | APIへのデータを送信するためのAPI固有のアクションを指します。 | |
Code Actions | コードアクションを使って、JavaScriptまたはCSSを操作できます。 | |
Paste Action | Paste Action | 以前にコピーしたアクションを貼り付けることができます。 |
Object Actions
オブジェクトアクションは、タスク内に存在するオブジェクトに対して発生する任意の操作を指します。いくつかのオブジェクトアクションオプションがあります:
- Set Object Property
- Control Media Object
- Copy Object
- ForEach Object

Set Object Property Action
「Set Object Property」アクションを使用すると、指定したオブジェクト、変更対象のプロパティ、新しい値を指定することで、オブジェクトの外観を任意に変更できます。
Control Media Object Action
以前は、「Control Audio/Video」と「Control Object」の別個のアクションでした。
効果:ビデオ/オーディオ要素の再生を変更したり、アップロード/録音要素の状態を変更します。
パラメータ:
- ターゲット:1つのメディアオブジェクトを選択
- 効果:サブアクションを選択
- オーディオまたはビデオオブジェクトオプション:
- 再生開始:ビデオ/オーディオファイルの再生を開始します
- 再生停止:ビデオ/オーディオファイルの再生を停止します
- 再生一時停止:ビデオ/オーディオファイルの再生を一時停止します
- JumpToTime:オーディオ/ビデオファイル内でジャンプする時間(ミリ秒)を指定できます
- ミュート:オブジェクトの音をオフにします
- ミュート解除:オブジェクトの音を復元します
- オーディオ、ビデオ、または画面録画オブジェクトオプション:
- 録音開始:新しい(オーディオ)録音を開始します
- 録音停止:録音を停止します
- アップロード開始:ファイルのアップロードを開始します
- 録音クリア:録音データを削除します。
- 再生開始:録音されたファイルの再生を開始します
- 再生停止:録音されたファイルの再生を停止します
- 録音一時停止:オブジェクトの録音を一時停止します
- 録音再開:オブジェクトの録音を再開します
- ファイルアップロードオブジェクトオプション:
- アップロード開始:選択したファイルのアップロードプロセスを開始します
- ファイルクリア:選択したファイルを削除します
- ファイル選択:参加者に希望のファイルを選択させます
- カメラスナップショットオブジェクトオプション:
- カメラ起動:参加者のカメラをオンにします
- カメラ停止:参加者のカメラをオフにします
- アップロード開始:スナップショットを実験にアップロードします
- スナップショット取得:参加者のカメラを使用して写真を撮ります
- オーディオまたはビデオオブジェクトオプション:
オブジェクトコピーアクション
効果: オブジェクトをコピーし、複数の別々のオブジェクトと重複イベントの必要性を置き換えます。
パラメータ:
- ソース: コピーするフレーム上のオブジェクトを選択します。
- コピーの数: ソースオブジェクトのコピー数を入力します。
- 新しい要素名を設定: コピーの名前を決定するためのいくつかのパラメータから選択します。
- 増分ポスティックスで名前を割り当て: コピーを区別するために新しい要素名の末尾に数値タグを追加します。
- アクションシーケンス: コピーに対して何が起こるかを通常のアクションリストから選択できます。「CurrentObject」をターゲットとして選択すると、すべてのコピーにアクションが適用されます。
各オブジェクトアクション
効果: 同じタイプの複数のオブジェクトにアクションを適用します。
パラメータ:
- フィルター: 対象とする要素のタイプを選択します。
- 追加の名前フィルターを許可: 対象とするオブジェクトの名前を入力します。同じ名前のオブジェクトがフレーム上に複数ある場合にうまく機能します。
- アクションシーケンス: 選択した要素に何が起こるかを通常のアクションリストから選択できます。「CurrentObject」をターゲットとして選択すると、上記の指定基準を満たすすべての要素にアクションが適用されます。
変数アクション
変数アクションは、変数値を設定または作成し、値を記録して定義するために使用されます。セッションを超えた値も含まれます。

以下の表は、Labvancedで利用可能なすべての変数アクションオプションの概要を提供します。それぞれは今後のセクションで詳細に説明されます。
| 変数アクションオプション | 説明 |
|---|---|
Set / Record Variable | 変数値を書き込むまたは設定する |
Copy to Clipboard | 変数値をコンピュータの内部クリップボードにコピーします。 |
Draw Random Number | 1つまたは複数のランダムな数を描画し、それを変数に保存します |
Get URL Parameter | 参加者のユニークなURLから値を保存します |
Read from / Write to Device | ローカルデバイスのストレージから変数を読み取ったり書き込んだりします。このアクションは、データをLabvancedサーバーに送信する代わりに、参加者のデバイスにデータを保存します。 |
Read from / Write to Shared Variable | 研究のセッション間で共有される変数を読み取ったり書き込んだりします。この変数は、すべての参加者と共有することも、各個人に対してプライベートにすることもできます。 |
Math & Statistics | 入力変数(配列)の数学的操作を実行し、結果を出力変数に保存します。 |
Record Variables Instantly | すべての変数値のスナップショットを作成し、これをLabvancedサーバーに送信します。 |
Moving Average Filter | 一連の入力の移動平均(データの常に更新される平均)を計算し、その結果を新しい変数に保存します。 |
Distribute Variable | 他の参加者に値を送信します。この値は変数に保存されます。 |
セット / レコード変数アクション
Set / Record Variable アクションを使用して、変数に値を書き込むことができ、ターゲット変数を選択または作成し、値選択メニューを通じて値を定義します。これは、行動測定を記録し、Labvancedにおける変数ベースのロジックを導くためのコアメカニズムです。
クリップボードにコピーアクション
効果: 変数値をコンピュータの内部クリップボードにコピーします。
ランダム数を描画アクション
効果: 1つまたは複数のランダムな数を描画し、それを変数に保存します。
パラメータ:
- タイプ: 連続値と離散値のいずれかを選択します。
- 分布: ガウス分布と均一分布のいずれかを選択します。
- 複数の描画(真/偽): 一度または複数回描画するかを選択します。
- 描画数: 描画する数を選択します。
- 最小: 均一分布の最小値を定義します。
- 最大: 均一分布の最大値を定義します。
- 平均: ガウス分布の平均値を定義します。
- 標準偏差: ガウス分布の標準偏差を定義します。
- 変数に保存: 値が保存される変数を選択します。
URLパラメーターを取得するアクション
効果: 参加者のユニークなURLから値を保存します。
パラメータ:
- パラメータ名: 希望するパラメータの名前を入力します。
- 変数に保存: パラメータ値を保存する変数を選択します。
このアクションは、参加者のユニークなURLを構築するために他のアクションと組み合わせたり、データ分析に必要な情報を抽出するために使用することができます。URLパラメーターを取得するアクションには、このアクション自体の専用の説明が含まれており、URL_Search_Paramsとの比較も行われています。
デバイスからの読み取り/書き込みアクション
効果: ローカルデバイスのストレージに変数を読み取ったり書き込んだりします。このアクションは、データをLabvancedサーバーに送信する代わりに、参加者のデバイスにデータを保存します。
パラメータ:
- ローカルデバイスから読み取るか書き込むかを選択します。
- 読み取るまたは書き込む変数を選択します。
ユースケース: 縦断的/複数セッション研究
- このアクションを使用すると、デバイス固有のデータをセッション間で持ち越すことができ、同じ参加者が毎回同じデバイスを使用している場合に有効です。
- 例えば、セッション1で各参加者に提示された画像を記録し、セッション2で異なる画像を提示するこれを使用できます。
- 画像の配列を作成し、各セッションで提示するためにいくつかをランダムに選択します。
- デバイスに書き込み: セッション1で提示された画像のインデックス番号。
- デバイスから読み取り: セッション2でセッション1の画像のインデックスを読み取り、そのインデックスが2回目のセッションで選択されないようにするJavaScriptアクションを含めます。
共有変数に対する読み取り/書き込みアクション
効果: 研究のセッション間で共有される変数を読み取ったり書き込んだりします。この変数は、すべての参加者と共有することも、各個人に対してプライベートにすることもできます。
パラメータ:
- 同期する変数を選択します。スカラまたは配列のいずれかでなければなりません。
- 高度なオプション
- ストレージキー: 同期された変数にアクセスするためのキーとして機能する変数の名前を選択します。
- 読み取りまたは書き込み方法:
- 共有変数を読み取り、修正してから書き込む: 変数を読み取り、変更を加え、次に変数を研究に送信します。
- サーバーから共有値のみを読み取る: 研究内で共有されている変数を呼び出しますが、変更は行いません。
- サーバーに変数のみを書き込む: 共有変数に変更を加えますが、参加者には表示されません。
- 異なる参加者間で値を共有(セッション間だけでなく): 参加者がセッションを跨いで同期された変数の値を互いに見ることができます。このオプションはデフォルトで選択されていますが、チェックボックスをクリックすることでデセレクトできます。
- アクションシーケンス:
- 利用可能なすべてのアクションのリストから共有/同期された変数に何が起こるかを選択します。
ユースケース: 縦断的/複数セッション研究
- このアクションを使用すると、参加者固有のデータをセッション間で持ち越し、セッション間で参加者間で共有することができます。
- 例えば、このアクションを使用してテストのスコアを記録し、次に参加者が他の参加者のスコアとその平均スコアを比較できるようにします。
- 別の例(デバイスからの読み取り/書き込みアクションに似ている)は、参加者が配列から好きな5枚の画像を選び、タスクを実行し、次に後のセッションでその5枚の画像を再提示することです。違いは、このアクションを使用して他の参加者に選択された画像を表示したり、別の参加者の利用可能なオプションからその画像を除外したりできることです。
数学的および統計的アクション
効果: 入力変数(配列)の数学的操作を実行し、結果を出力変数に保存します。
パラメータ:
- タイプ: 配列操作、線形代数、統計テストのいずれかを選択します。
- 操作: 数学的操作を選択します(例: 合計、最小、標準偏差など)。
- 入力配列: 操作が実行される入力変数(配列)を選択します。
- パラメータ: いくつかの操作には追加のパラメータがあります。
- 出力: 結果が保存される出力変数を選択します。
即時変数記録アクション
効果: すべての変数の値のスナップショットを作成し、これをLabvancedサーバーに送信します。
パラメータ: なし
移動平均フィルターアクション
効果: 一部の入力の移動平均(データの常に更新される平均)を計算し、その結果を新しい変数に保存します。
パラメータ:
- フィルター形状: フィルターのタイプを選択
- 単純移動平均: すべてのサンプルが同じ重みを持つ単純移動平均を計算します。
- 線形加重移動平均: サンプルの重みが線形に減少するようにサンプルに重みを付けます。
- 指数移動平均: サンプルの重みが指数関数的に減少するようにサンプルに重みを付けます。
- サンプル数: ステップごとに使用されるサンプル数を決定します。
- 入力: 移動平均が計算される入力変数(配列)を選択
- 出力: 結果が保存される出力変数を選択します。
変数配布アクション
変数配布アクションは、Labvancedでのマルチユーザースタディに不可欠です。 このアクションを使用することで、変数の値を参加者間で共有でき、実質的に情報(刺激の位置や変更を含む)を参加者の画面に反映させることができます。このアクションの詳細な手順については、変数配布アクションを参照してください。

このアクションを選択すると、参加者間でどの変数値が配布されるかを指定できるダイアログボックスが表示されます。
下の画像は、すべてのメニュー項目が入力された際の機能的な変数配布アクションのダイアログボックスの様子です。この例では、配布変数は、入力フィールドオブジェクトから変数の値を配布することで二人の参加者間でチャットを作成する手段として使用されています。

変数配布およびチャットボックス機能を組み込んだこのデモをチェックしてください: 画像説明タスクのチャットアドオン。
ダイアログメニュー項目の完全な説明は以下にあります:
| メニュー項目 | メニューエリア | 変数配布アクションのオプションと説明 |
|---|---|---|
Distribute value to | ![]() | 変数の値を送信する他の参加者を選択します。
|
Choose target variable and value | ![]() |
|
Block | ![]() | 有効にすると、ターゲット変数は現在の値の配布が完了するまで変更できません。 |
Rate Limit Strategy | ![]() | レートリミット戦略は、サーバーのオーバーフローから実験を保護し、リクエスト(すなわち、変数配布による更新)の送信速度を制御する予防策として機能します。以下の戦略オプションが利用可能です:
|
配列アクション
配列から選択(読み取り)アクション
効果: 配列から1つの変数を読み取り、この値をスカラ変数に保存します。
パラメータ:
- 配列変数: 値を読み取るための入力配列。
- インデックスタイプ: どの種類のインデックスが使用されるかを決定します。
- 固定: 読み取り操作のために固定インデックスを使用します。この場合、情報を読み取る位置を入力します(1から始まる)。
- 変数: 読み取り操作のインデックスとして数値変数を使用します。この場合、読み出しの位置を決定するためにスカラ数値変数を選択します。
- 配列の終わり: 配列の末尾から読み取ります。
- 出力変数: 読み出した値が保存されるスカラ変数を選択します。
配列要素の追加 / 削除アクション
効果: 配列から/へ要素を追加および/または削除します。
パラメータ:
- 配列変数: 追加または削除操作を実行する配列変数。
- インデックスタイプ: どの種類のインデックスが使用されるかを決定します。
- 固定: 挿入 / 削除操作のために固定インデックスを使用します。この場合、要素を挿入 / 削除する配列の位置を入力します(1から始まる)。
- 変数: 挿入 / 削除操作のインデックスとして数値変数を使用します。この場合、要素を挿入 / 削除する位置を決定するためにスカラ数値変数を選択します。
- 配列の終わり: 配列の末尾から挿入 / 削除します。
- 削除する要素数: 新しい要素を挿入する前に、定義したインデックス位置から配列の要素を削除します。0は、値が削除されないことを示します。
- 挿入する変数: 定義されたインデックス位置に配列変数に追加される1つ以上のスカラ変数を選択します。
配列要素を変更(置換)アクション
効果: 配列内の1つの値を置換/変更します。
パラメータ:
- 配列変数: 1つの値が変更される配列変数
- インデックスタイプ: どの種類のインデックスが使用されるかを決定します。
- 固定: 置換操作のために固定インデックスを使用します。この場合、変更される配列の位置を入力します(1から始まる)。
- 変数: 置換操作のインデックスとして数値変数を使用します。この場合、置換操作の位置を決定するためにスカラ数値変数を選択します。
- 配列の終わり: 配列の最後の要素を置換します。
- 入力変数: 新しい値を持つ(スカラ)変数を選択します。
配列要素をシャッフルアクション
効果: 配列内の要素/順序を再シャッフルします。
パラメータ: なし
データフレーム操作
データフレームからの読み取り / 書き込みアクション
効果: データフレームから値を読み取り、または値を書き込み、新しい配列変数に保存します。
パラメータ:
- データフレーム変数: 読み取るデータフレームの変数を選択します。
- 読み取りまたは書き込み: 選択されたデータフレームから読み取るか、選択されたデータフレームに書き込みます。
- 行または列による: データがどのように読み取られるべきかを選択します。
- インデックスタイプ: データフレームを読み取るために使用されるインデックス変数のタイプを選択します。 固定、変数、または最後の行を選べます。
- インデックス変数: データフレームを読み取るためにインデックスとして使用する変数を選択します。
- 出力変数: 読み取られた/書き込まれたデータが出力として保存される変数を選択します。 配列変数である必要があります。
データフレーム要素をシャッフルアクション
効果: データフレーム内の要素の順序をシャッフルします。
パラメータ:
- シャッフルするデータフレームを選択します。
- データフレームが行または列によってシャッフルされるかを選択します。
ジャンプアクション
ジャンプ先アクション
効果: 参加者を実験の別のステップに「ジャンプ」させます。このアクションは、実験内の試行やタスクの順序を変更でき、各参加者のための個別の実験ロジックを作成するために使用できます。
パラメータ:
- ジャンプ先: 実験内のどこにジャンプするかを決定します。
- 次のフレーム: 次のフレームにジャンプします。試行に定義されたフレームがもうない場合、次の試行の最初のフレームにジャンプします。
- 次の試行: 次の試行にジャンプします。もう試行が定義されていない場合、次のタスクの最初の試行にジャンプします。
- 次のタスク: 次のタスクにジャンプします。もうタスクが定義されていない場合、次のブロックの最初のタスクにジャンプします。
- 次のブロック: 次のブロックにジャンプします。もうブロックが定義されていない場合、セッションは終了します。
- 前のフレーム: 前のフレームにジャンプします。前のフレームがない場合、このアクションは実行されません。
- 特定のフレーム: 特定のフレームにジャンプします。ユーザーは直接ジャンプするフレームを選択します。
- 特定の試行: 特定の試行にジャンプします。ユーザーは直接ジャンプする試行番号を選択します。
- 特定のタスク: 現在のブロック内の指定されたタスクの最初のインスタンスにジャンプします。ユーザーは直接ジャンプするタスクを選択します。
- 特定のブロック: 指定されたブロックの最初のインスタンスにジャンプします。ユーザーは直接ジャンプするブロックを選択します。
- 必要な回答を確認: 有効にすると、実験はすべての必要な回答がすでに回答されているかどうかを確認します。そうでない場合、ジャンプ先アクションは実行されません。
セッション受け入れ/終了アクション
効果: 参加者のデータを受け入れ、録音セッションを終了し、クラウドソーシングコードを表示します。
パラメータ:
- セッション終了前にトライアルデータを記録: 有効にすると、最も最近のトライアルデータが保存され(サーバーに送信され)、研究から退出する前にストアされます。
- デフォルト終了ページを表示: 有効にすると、デフォルトのLabvancedエンドスクリーンが表示されます。これはクラウドソーシングセッションの場合(クラウドソーシングリンクが使用された場合)、参加者には補償コードが表示されます。無効の場合、現在のフレームを表示した後に実験が終了し、補償コード付きのデフォルトのエンドスクリーンは表示されません。
セッション拒否/終了アクション
効果: 録音セッションを終了しますが、参加者のデータを完了としてマークせず、補償コード付きのデフォルトのエンドスクリーンを表示しません。
このアクションを使用して参加者のデータを拒否する場合、ユーザーは参加者に対し、その時間に報酬が支払われない理由を説明する適切なメッセージを表示する必要があります。
パラメータ: なし
URLにリダイレクトアクション
効果: 参加者を特定のURLにリダイレクトします。
注意: このアクションが機能するためには、URLの先頭にhttps://を含める必要があります。
コントロールアクション
要件アクション (If... Then... Else If) アクション
効果: if-thenステートメントを評価し、一連のアクションを依存的に実行します。各If / Else-Ifステートメントは、すべての要件が満たされているか(ステートメントが真)または満たされていないか(ステートメントが偽)を評価するためのネストされたAND / OR比較で構成されています。ステートメントが真の場合、「Then」以下のアクションが実行されます。このアクションの個別のウォークスルーについては、要件アクションを参照してください。
パラメータ:
- 要件を追加: ステートメントに新しい要件を追加します。「値選択」メニューが両側に表示され、論理比較が行われます。ステートメントの中央では、両側をどのように比較するか(例: 等しい、小さい、異なるなど)を選択できます。
- ORグループを追加: ORグループ内のすべての要件のうち、1つだけが真であれば、グループ全体が真になります。サブアクションが複数のケースで実行される必要がある場合はORグループを追加します。
- ANDグループを追加: ANDグループ内のすべての要件が真でなければ、グループ全体は真になりません。サブアクションが複数の要件が満たされたときのみ実行される必要がある場合はANDグループを追加します。
- アクションシーケンス: 各If / Else-Ifステートメントには「Then」以下に定義されたアクションのリストがあります。新しいアクションは「アクション追加」アイコンを使って追加できます。アクションシーケンスは、関連付けられたIf / Else-Ifステートメントの要件が満たされた場合のみ実行されます。
- Else-Ifケースを追加: 要件アクションは、複数の独立したIf / Else-If --> Thenステートメントで構成されることがあります。ただし、実行できるステートメントは1つだけです。1つのIf / Else-Ifステートメントが肯定的に評価された場合(真を返す)、Thenブロックのアクションが実行され、残りの要件アクションはスキップされます。
- Elseケースを追加(真/偽): 有効にすると、要件アクションにデフォルト/フォールバックオプションが追加されます。If / Else-Ifステートメントが実行されなかった場合(真を返さなかった場合)、Elseケースで定義된アクションが実行されます。
繰り返しアクション(Whileループ)アクション
効果: 一連のアクションを繰り返し実行します。即時または定義された間隔内で実行可能です。ループ実行が停止する条件を指定できます。
パラメータ:
- 実行タイプ: 即時実行またはタイミング実行のいずれかを選択します
- ループ全体を実行: これは、停止条件が満たされるまでループを継続的に実行します。
- 毎... ms実行: これは、定義された間隔でループを実行します(例: ループが毎50ms実行される)。
- ループの回数を定義: 「毎... ms実行」が選択されている場合、ユーザーはループを実行する回数に数値を割り当てるオプションがあります。これにより、停止条件を定義する必要がなくなります。
- 実行間隔: これにより、実行間隔が決定されます。
- すぐに開始(真/偽): 有効にすると、ループがすぐに実行されます。無効の場合、ループは次の実行間隔で開始されます。
- 複数スタートを許可する(真/偽): 有効にすると、複数のループインスタンスを並行して開始できます。無効の場合、一度に1つのループインスタンスのみ実行できます。
- 停止条件を有効化する(真/偽): 有効にすると、ループのための停止条件を指定できます。
- 停止条件: 停止条件は、ループ実行を停止すべき論理式を指定するために使用できます。If / Else-Ifステートメントと同様に、論理比較のためにANDグループ、ORグループ、および要件を組み合わせることができます。
- アクションシーケンス: アクションシーケンスには、ループの各イテレーションで実行されるすべてのアクションがリストされます。新しいアクションは「アクション追加」アイコンを使って追加できます。
遅延アクション(タイムコールバック)アクション
効果: 特定の時間遅延の後に一連のアクションを実行します。
パラメータ:
- 遅延タイプ: 固定遅延または変動遅延のいずれかを選択します
- 固定遅延: アクションは固定遅延の後に実行されます。
- 変動遅延: アクションは(数値)変数で指定された遅延の後に実行されます。
- 遅延: 遅延の長さ(ミリ秒(ms))です。
- アクションシーケンス: アクションシーケンスには、指定された時間遅延の後に実行されるすべてのアクションがリストされます。新しいアクションは「アクション追加」アイコンを使って追加できます。
アクショングループ
アクションはアクショングループにも整理できます。アクショングループは、特定のアクションを一緒にグループ化して視覚的な構造を簡素化したり、一度に複数のアクションをコピー、複製、または削除したりするために使用されます。
APIアクション
外部サーバーからLabvancedにデータを送信または通信する必要がある場合、「APIアクション」と「APIトリガー」を使用できます。このカテゴリには以下のアクションがあります:
- PostMessageを送信
- Websocketに送信
- OpenAIに送信
これらのアクションを「利用可能」または使用可能にするためには、SettingsタブにAPIキーを入力する必要があります。

PostMessageを送信アクション
Send PostMessageアクションは、実行中のLabvanced実験から外部ターゲットにメッセージを送信します。例えば、親ウェブページや埋め込まれたフレームです。このアクションは、ブラウザのpostMessage APIを使用します。
Websocketに送信アクション

このアクションを選択すると、以下のオプションが表示されます。

上記の例と完全なイベント構造は、https://www.labvanced.com/page/library/51053にアクセスしてここをクリックし、「検査」をすることで確認できます。
| メニュー項目 | 説明 |
|---|---|
| 送信先: | SettingsタブのSpecial FeaturesにリストされたWebsocketアドレスを指定します。 |
| 送信するトリガー/メッセージ: | 送信したいトリガーまたはメッセージを指定します。 |
| 送信変数(オプション): | アクションの一部として送信できる変数を示します。 |
APIアクセスに関する詳細情報については、こちらのページをご覧ください。
OpenAIに送信アクション
「OpenAIに送信」アクションを使用すると、文字列入力値などの情報をOpenAIに送信できます。このオプションを使用できるようにするためには、SettingsタブにAPIキーをリストする必要があります。

このイベントをクリックすると、以下のオプションが表示されます。

すべての必要な情報が提供されたときに、このイベントがどのように機能するかの実用的な例を以下に示します:

より良い理解のために、この機能をどのように活用し、実際に見ることができるかについては、デモを確認するために このお問い合わせフォーム を提出してお気軽にご連絡ください。
注意: また、ステップバイステップで研究を構築し、ChatGPTを研究に統合しこのアクションを利用する このウォークスルー も参照してください。
「Send to OpenAI」アクションに含まれるフィールドの詳しい説明は以下の通りです:
| メニュー項目 | メニューエリア | 「Send to OpenAI」アクションオプション |
|---|---|---|
Model Type | ![]() | |
Chat History Dataframe | ![]() | 2つの列を持つデータフレーム変数にリンクします。最初の列は「役割」を示し、2番目の列は「チャットメッセージ」を示します。アクションからの値はここにリンクされているデータフレームに自動的に追加されます。 データフレームはデータフレームアクションで操作することもできます。詳細については、OpenAIのドキュメントを参照してください。 |
Insert Message ‘+’ | ![]() | これをクリックすると変数ダイアログボックスが表示されます。OpenAIに送信される「変数」値と関連するメッセージの「役割」を示す必要があります:
|
OpenAIは日々進化しているため、さらなる確認のためにはOpenAIのドキュメントを確認してください。
コードアクション
場合によっては、実験でカスタムコードを使用する必要があるかもしれません。これらのアクションを使用すると、まさにそれが可能です!以下のオプションが「コードアクション」メニューの下にあります:
- JavaScriptを実行
- グローバルCSSを設定

JavaScriptを実行するアクション
「JavaScriptを実行する」アクションでは、特定のイベントをプログラムし、トリガーされたときに実行されるカスタムJavaScriptを入力して、研究内でLabvanced変数を読み書きすることができます。

上記の「JavaScriptを実行する」アクションを選択すると、JavaScriptコードを書くための領域(コードエディタ)が表示され、使用方法に関する指示も表示されます。

グローバルCSSを設定するアクション
「グローバルCSSを設定する」アクションでは、トリガーに応じて研究の側面を変更するためにカスタムCSSコードを使用できます。

このアクションをクリックすると、次のフィールドが開きます:

「グローバルCSSを設定する」アクションの使用例は、参加者が複数選択質問から特定の色を選択したときに研究の背景色を変更することです。
ペーストアクション
このオプションを使用すると、以前に作成してコピーしたアクションをペーストできます。これにより、実験を設計する際に同じアイテムを何度も選択する必要がなくなり、より迅速に作業できます。たとえば、既存のイベントに類似したイベントがある場合、それをコピーしてペーストし、変更することができます。
値選択メニュー
特定のイベントで作業していると、ペンアイコンが表示されることに気づくでしょう。これは値選択メニューと呼ばれ、どの種類の値を記録または追跡するかを選択し、指示することができます。これは、実験デザインと設定に使用される非常に強力で重要なオプションです。
このペンアイコン / 値選択メニューは、セット / レコード変数アクション、オブジェクトプロパティの設定アクション、要件(If... Then)アクションなど、イベントシステム内の特定のアクションのさまざまな場所に表示されます。

ペンアイコンをクリックすると、読み取られるまたは書き込まれる値を指定するドロップダウンメニューが表示されます。ドロップダウンメニューは、常にトリガー固有の値オプションから始まり、その後に他の5つのカテゴリ(現在の時間、定数値、変数、フレーム / タスク / オプション、および操作)が続きます。これらはすべて独自のオプションを持っています。 これらは下記でさらに説明されます。

上の画像は、マウストリガーを使用している際の値選択メニューの外観を示しています。左側の最初のメニュー項目はトリガー固有のカテゴリで始まり、他の5つのカテゴリ(現在の時間など)に移行します。
メニューオプション
以下の表は、カテゴリとオプションをさらに説明します:
| カテゴリ | オプション | 説明 |
|---|---|---|
Trigger-specific | イベントに以前に選択したトリガーのタイプに依存します。 | 選択したトリガーに基づいて、値選択メニューの上部に特定のオプションのリストが表示されます。トリガー固有の値セクションを参照し、オプションの完全なリストと説明をご覧ください。 |
Current Time | 時間値を測定および呼び出します。 | |
Constant Value |
| 必要な変数のタイプに基づいて定数値を割り当てます;文字列または数値などの型。これらは、時には他のオプション(例:Arithmetic)と組み合わせてカウンターを作成するために使用されます。 |
Variable |
| 変数を指定または参照するか、配列またはデータフレームから値を選択します。 |
Frame / Task / Object |
| オブジェクトプロパティ、フレーム、眼球追跡(アクティブにされている場合)、およびデバイス(画面更新率)に関連付けられた値を取得します。 |
Operations |
| 変数の値を結合したり、文字列をすべて小文字に変換したり、数学的演算を実行するなど、指定された変更を変数に対して実行するために操作を使用します。 |
現在の時間の値
「現在の時間」オプションを使用すると、時間に関する値を記録または参照することができます。
以下のオプションが利用可能です:
現在の時間:UNIXタイムスタンプ
この値は、ミリ秒単位でUNIX形式のタイムスタンプをキャプチャします。
現在の時間:フレーム開始からの時間
この値は、フレームの開始から経過した時間をキャプチャします。最も一般的には反応時間に相当します。
定数値
必要な変数のタイプに基づいて定数値を割り当てます;文字列または数値など。これらは、時には他のオプション(例:Arithmetic)と組み合わせてカウンターを作成するために使用されます。
以下のオプションが利用可能です:
定数:文字列
文字列 / テキスト値を割り当てます。
定数:数値
数値 / 数値値を割り当てます。
定数:ブール値
真または偽の値を割り当てます。
定数: カテゴリカル
レベル値(主にファクター用)を割り当てます。
定数: 日付
日付値を割り当てます。
定数: 時間
時間値を割り当てます。
定数: 色
色(16進数文字列)値を割り当てます。
変数値
変数を指定または参照するか、配列やデータフレームから値を選択します。以下のオプションが利用可能です:
変数を選択
変数を選択して指すことができます。
配列から値を選択
配列から値を選択できます。
データフレームから値を選択
作成したデータフレームから値を選択できます。
フレーム / タスク / オブジェクト値
オブジェクトプロパティ、フレーム、アイストラッキング(有効な場合)、およびデバイス(画面のリフレッシュレート)に関連する値を取得できます。
オブジェクトプロパティ
オブジェクトプロパティを読み取ります。
フレーム
| フレーム値オプション | 説明 |
|---|---|
Last cached Mouse X Position | 参加者のマウスの最後のX座標値。 |
Last cached Mouse Y Position | 参加者のマウスの最後のY座標値。 |
Last cached Mouse [X,Y] Array | 参加者のマウスの最後の[X,Y]座標値を配列形式で。 |
Frame Name | フレームの名前。 |
アイストラッキング
| アイストラッキング値オプション | 説明 |
|---|---|
Last cached Coordinate X | 参加者の視線の最後のX座標値。 |
Last cached Coordinate Y | 参加者の視線の最後のY座標値。 |
Last cached Coordinate [X,Y] Array | 参加者の視線の最後の[X,Y]座標値を配列形式で。 |
Last cached Coordinate + Time [X,Y,T] Array | 参加者の視線の最後の[X,Y]座標値に、カメラキャプチャT値を配列形式で加えた値。 |
デバイス
- リフレッシュレート: 参加者のデバイスのリフレッシュレート値。
操作
操作を使用して、変数の値を結合する、すべての文字列を小文字に変換する、または数学的な操作を実行するなど、指定された変更を行います。
以下のオプションが利用可能です:
算術
算術操作は、文字列を結合したり、オブジェクトプロパティを変更したりするために、多くの異なる目的で便利です。

基本的に、算術操作では複数の値に対して操作を実行できます。
このオプションを選択すると、追加のペンアイコン(つまり、値選択メニュー)が表示され、加算などの操作のリストが表示されます。

値は、以下の5つの異なる操作を使用して操作できます:
- (+) 加算
- (-) 減算
- (/) 除算
- (*) 乗算
- (%) モジュロ
以下の例は、算術操作を利用して新しい文字列変数(緑のボタンで)である 'intermediateVar' を作成する方法を示しています。

新しい変数値('intermediateVar')は、いくつかの算術操作を使用すると共に、以前に作成した変数(つまり 'userChatName' と 'chatInput')の組み合わせを使用して、定数文字列値(つまり、セミコロン : と空白 <br>)を加えたことで定義されます。この操作により、マルチユーザー研究で使用できるユーザーチャットの効果が作成されます。
文字列操作
| 文字列操作オプション | 説明 |
|---|---|
To Lowercase | 文字列変数内のすべての文字を小文字に変換します。 → 例: (AAABBB) は (aaabbb) に変換されます。 |
To Uppercase | 文字列変数内のすべての文字を大文字に変換します。 → 例: (aaabbb) は (AAABBB) に変換されます。 |
To Link | 変数内の文字列を別のウィンドウで開くURLに変換します。 |
Remove Whitespaces | 文字列変数内の文字の間のスペースをすべて削除します。 → 例: (aaa bbbb cccc) は (aaabbbbccc) に変換されます。 |
Trim Whitespaces | 文字列変数内の先頭のスペースを削除します。 → 例: ( aaabbbcccc) は (aaabbbcccc) に変換されます。 |
Replace Substring Regexp | 文字列値変数内の特定の文字を置き換えます。 → 例: (aaabbbccc) は bbb を xxx に置き換え、値は (aaaxxxccc) に変換されます。 |
数学操作
スカラー値に対して数学操作を実行します。
| 数学操作オプション | 説明 |
|---|---|
abs | 値の絶対値を返します。 |
sqrt | 値の平方根を返します。 |
round | 0から3桁までの小数点で丸めた値を返します。 |
floor | 切り捨てた値を返します。 |
ceil | 切り上げた値を返します。 |
cos | コサイン値を返します。 |
sin | サイン値を返します。 |
tan | タンジェント値を返します。 |
トリガー固有の値
トリガー固有の値は、特定のイベント内で定義されたトリガーに関連付けられた値を指します。たとえば、イベントがマウストリガーを使用している場合、アクションが指定されている特定の領域(例えば、Set / Record Variable アクションや Set Object Property アクションを使用している場合)では、値選択メニュー でマウストリガーの特定の値を参照できます。
以下の例では、マウストリガーのためのトリガー固有の値を使用して、x-およびy値と[X,Y]配列をSet / Record Variable アクションを使用して記録しています。

以下は、Labvancedで見つけることができるすべてのトリガー固有の値の種類の表で、それぞれのオプションの詳細な説明が続きます。
| 名称 | 値オプション - 概要 |
|---|---|
Trigger (Mouse) |
|
Trigger (Keyboard) |
|
Trigger (Button Bar) |
|
Trigger (Enter On Input) |
|
Trigger (Scroll) |
|
Trigger (Gamepad/ Joystick) |
|
Trigger (Eyetracking Gaze) |
|
Trigger (Eyetracking Fixation) |
|
Trigger (Head Tracking) |
|
Trigger (On Task Initialization) |
|
Trigger (On Frame Init) |
|
Trigger (on Frame Start) |
|
Trigger (On Frame End) |
|
Trigger (Variable Value Changed) |
|
Trigger (Media Object Trigger) |
|
Trigger (Websocket Trigger) |
|
Trigger (OpenAI Trigger) |
|
Trigger (PostMessage Received) |
|
Trigger (Global Experiment Event) |
|
Trigger (User Leaves Experiment) |
|
トリガー(マウス)値
マウストリガーが使用されると、特定のアクションで作業する際に以下のトリガー特有の値を呼び出すことができます:

| トリガー(マウス)オプション | 説明 |
|---|---|
Mouse X | フレーム座標における現在のマウスX位置を返します。 |
Mouse Y | フレーム座標における現在のマウスY位置を返します。 |
Mouse [X,Y] Array | マウスの[X,Y]座標を配列形式で返します。 |
Stimulus Name | イベントをトリガーしたオブジェクトの名前(例:クリックされた画像)を返します。 |
Stimulus Info | イベントをトリガーしたオブジェクトの刺激情報を返します。 |
Trigger Timestamp (Unixtime) | トリガーが発生した時刻のタイムスタンプをミリ秒単位のUnix時間形式で返します。 |
Trigger Time (From Frame Onset) | フレーム開始からトリガーが発生するまでの経過時間をミリ秒単位で返します。 |
トリガー(キーボード)値
キーボードトリガーが使用されると、特定のアクションで作業する際に以下のトリガー特有の値を呼び出すことができます:
| トリガー(キーボード)オプション | 説明 |
|---|---|
Id of Key | トリガーとして押されたキーのID値。 |
Trigger Timestamp (Unixtime) | トリガーが発生した時刻のタイムスタンプをミリ秒単位のUnix時間形式で返します。 |
Trigger Time (From Frame Onset) | フレーム開始からトリガーが発生するまでの経過時間をミリ秒単位で返します。 |
トリガー(ボタンバー)値
ボタンクリックトリガーが使用されると、特定のアクションで作業する際に以下のトリガー特有の値を呼び出すことができます:
| トリガー(ボタンバー)オプション | 説明 |
|---|---|
Stimulus Name | イベントをトリガーしたボタンオブジェクトの名前。 |
Stimulus Info | イベントをトリガーしたボタンオブジェクトの刺激情報。 |
Trigger Timestamp (Unixtime) | トリガーが発生した時刻のタイムスタンプをミリ秒単位のUnix時間形式で返します。 |
Trigger Time (From Frame Onset) | フレーム開始からトリガーが発生するまでの経過時間をミリ秒単位で返します。 |
トリガー(入力でのEnter)値
入力でのEnterトリガーが使用されると、特定のアクションで作業する際に以下のトリガー特有の値を呼び出すことができます:
| トリガー(入力でのEnter)オプション | 説明 |
|---|---|
Id of Key | トリガーとして押されたキーのID値。 |
Trigger Timestamp (Unixtime) | トリガーが発生した時刻のタイムスタンプをミリ秒単位のUnix時間形式で返します。 |
Trigger Time (From Frame Onset) | フレーム開始からトリガーが発生するまでの経過時間をミリ秒単位で返します。 |
トリガー(スクロール)値
スクロールトリガーが使用されると、特定のアクションで作業する際に以下のトリガー特有の値を呼び出すことができます:
| トリガー(スクロール)オプション | 説明 |
|---|---|
Stimulus Name | イベントをトリガーしたボタンオブジェクトの名前。 |
Stimulus Info | イベントをトリガーしたボタンオブジェクトの刺激情報。 |
Scroll Position X | イベントがトリガーされたときのマウスのX方向のスクロール位置。 |
Scroll Position Y | イベントがトリガーされたときのマウスのY方向のスクロール位置。 |
Trigger Timestamp (Unixtime) | スクロールトリガーが発生した時刻のタイムスタンプをミリ秒単位のUnix時間形式で返します。 |
Trigger Time (From Frame Onset) | フレーム開始からスクロールトリガーが発生するまでの経過時間をミリ秒単位で返します。 |
トリガー(ゲームパッド/ジョイスティック)値
Gamepad/Joystick triggerが使用されると、特定のアクションで作業する際に以下のトリガー特有の値を呼び出すことができます:

| トリガー(ゲームパッド/ジョイスティック)オプション | 説明 |
|---|---|
Gamepad Device Id | 接続されていたゲームパッドのIDまたは名前。 |
Pressed Keys (Array) | 押されたキー。 |
Pressed OR Hold Keys (Array) | 押されたまたは保持されたキー。 |
Released Keys (Array) | 放されたキー。 |
Axes (Array) | 軸の値。 |
Gamepad Timestamp (Unixtime) | Unixtimeでのゲームパッドのタイムスタンプ。 |
Trigger Timestamp (Unixtime) | トリガーが発生する時刻のUnixtimeのタイムスタンプ。 |
Trigger Time (From Frame Onset) | フレームの開始に関連するトリガーが発生するUnixtimeのタイムスタンプ。 |
トリガー(アイ・トラッキング視線)値
アイ・トラッキング視線トリガーが使用されると、特定のアクションで作業する際に以下のトリガー特有の値を呼び出すことができます:

| トリガー (アイ・トラッキング視線) オプション | 説明 |
|---|---|
Coordinate X | 視線のX座標の値。 |
Coordinate Y | 視線のY座標の値。 |
Coordinate [X,Y] Array | 視線の座標X,Yを配列形式で返します。 |
Stimulus Name | 視線トリガーを引き起こした刺激の名前。 |
Stimulus Info | 視線トリガーを引き起こした刺激の背後にある刺激情報。 |
Camera Capture Time T | スナップショットが発生した正確な時間。Labvancedのアイ・トラッキングパイプラインでは、アルゴリズムとニューラルネットワークが視線計算を行う前にカメラスナップショットが最初に行われます。したがって、Camera Capture Time Tは最初のスナップショットが発生したUnixタイムスタンプです。弊社のウェブカメラベースのアイ・トラッキング技術に関する詳細は、ET技術ページをご覧ください。 |
Gaze Confidence C | この値は0から1の範囲で、画像スナップショットにオープンアイがあるという信頼性と確率を示し、本質的には「まばたき検出器」として機能します。詳細については、発表された査読付き論文をご参照ください。 |
Coord. + Time [X,Y,T] Array | 視線のx/y座標とカメラキャプチャ時刻(T)のタイムスタンプを含む配列。 |
Coord. + Time + Confidence [X,Y, T,C] Array | 視線のx/y座標とカメラキャプチャ時刻(T)および視線確信(C)のタイムスタンプを含む配列。 |
Trigger Timestamp (Unixtime) | 視線トリガーが発生した時刻のタイムスタンプをミリ秒単位のUnix時間形式で返します。 |
Trigger Time (From Frame Onset) | フレーム開始から視線トリガーが発生するまでの経過時間をミリ秒単位で返します。 |
詳細を学ぶ: アイ・トラッキングの有効化、視線データの記録、実際の例については専用のアイ・トラッキング視線トリガーページをご覧ください。
トリガー(アイ・トラッキング注視)値
アイ・トラッキング注視トリガーが使用されると、特定のアクションで作業する際に以下のトリガー特有の値を呼び出すことができます:
| トリガー (アイ・トラッキング注視)オプション | 説明 |
|---|---|
Fixation Centroid X | 注視の中心点のX値。 |
Fixation Centroid Y | 注視の中心点のY値。 |
Fixation Duration | 検出された注視の期間。 |
Fixation Start Time | 検出された注視の開始時刻。 |
Fixation End Time | 検出された注視の終了時刻。 |
Fixation Dispersion | 検出された注視内の視線値がどれほど散在しているかを示します。 |
Stimulus Name | イベントをトリガーしたボタンオブジェクトの名前。 |
Stimulus Info | イベントをトリガーしたボタンオブジェクトの刺激情報。 |
[X, Y, Dur, Start, End, Disp] | 注視の中心のx/y値、注視の期間、開始時刻、終了時刻、散逸値を含む配列。 |
Trigger Timestamp (Unixtime) | 注視トリガーが発生した時刻のタイムスタンプをミリ秒単位のUnix時間形式で返します。 |
Trigger Time (From Frame Onset) | フレーム開始から注視トリガーが発生するまでの経過時間をミリ秒単位で返します。 |
詳細を学ぶ: 専用の Eyetracking Fixation Trigger ページで、フィクサーディテクションを有効にし、フィクサーデータを記録し、実用的な例を確認してください。
トリガー (ヘッドトラッキング) 値
ヘッドトラッキングトリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります。
| トリガー (ヘッド トラッキング) オプション | 説明 |
|---|---|
Camera Capture Time T | カメラがフレームをキャプチャした時、すなわちフレームキャプチャが発生した時のUnixタイムスタンプです。これは、処理が行われる前に画像/フレームがキャプチャされた時間です。 |
Facemesh Dataframe | フェイスメッシュモデルによって検出された468の顔のランドマークキーポイントを含むデータフレームです。各行は、正規化されたフレーム空間内のx、y、z座標を持つ1つのキーポイントを表します。この値を使用して、リップ、目、顎のランドマークなど、フレームごとの詳細な顔ジオメトリにアクセスします。 |
Head Turn | 左から右への頭の回転を示し、文献ではヨーと呼ばれています。 |
Head Tilt | 上から下への頭の傾きを示し、文献ではヘッドピッチと呼ばれています。 |
Head Roll | 側面から側面への頭のロールの動きをキャプチャします。 |
Head Position [X,Y, T] Array | この配列は、頭の位置に関連づけられた数値をキャプチャします。これには、頭の中心のxおよびy座標と、タイムスタンプ変数(T)が含まれます。 |
Nose Position [X,Y, T] Array | この配列は、特に鼻の位置に関連づけられた数値をキャプチャします。これには、鼻の位置のxおよびy座標と測定時のタイムスタンプ変数(T)が含まれます。 |
Nose Vector [X,Y, Z, T] Array | この測定は、鼻先からベクトルを投影することによって機能し、参加者が画面に注意を払っているかどうかをテストするために便利です(特に、視線追跡が無効になっている研究において重要です)。したがって、鼻が画面外を指すと(すなわち、参加者が実験に注意を払っていない場合)、Z値は1から減少し、0に近づきます。 |
Trigger Timestamp (Unixtime) | 実験中にトリガー自体が発生した時点で、ヘッドトラッキングが検出されシステム内でトリガーが発生したときの時間を考慮します。本質的に、これは画像/フレームの処理が行われる時間であり、この値は参加者のグラフィックスカードによって大きく影響を受けます。理論的には、値Tにできるだけ近い必要があります。 |
Trigger Time from Frame Onset | フレームの開始時に対してトリガーが発生した時刻の時間値です。 |
トリガー (タスク初期化時) 値
タスク初期化トリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります。
| トリガー (タスク初期化時) オプション | 説明 |
|---|---|
Trigger Timestamp (Unixtime) | ミリ秒単位のトリガーのUnixタイムスタンプです。 |
Trigger Time (From Frame Onset) | フレームに対してトリガーが発生した時の時間をミリ秒単位で示します。 |
トリガー (フレーム初期化時) 値
フレーム初期化トリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります。
| トリガー (フレーム初期化時) オプション | 説明 |
|---|---|
TrialNr | フレーム初期化トリガーが発生した時のトライアル番号です。 |
Trigger Timestamp (Unixtime) | ミリ秒単位のトリガーのUnixタイムスタンプです。 |
Trigger Time (From Frame Onset) | フレームに対してトリガーが発生した時の時間をミリ秒単位で示します。 |
トリガー (フレーム開始時) 値
フレーム開始トリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります。
| トリガー (フレーム開始時) オプション | 説明 |
|---|---|
Trigger Timestamp (Unixtime) | ミリ秒単位のトリガーのUnixタイムスタンプです。 |
Trigger Time (From Frame Onset) | フレームに対してトリガーが発生した時の時間をミリ秒単位で示します。 |
トリガー (フレーム終了時) 値
フレーム終了トリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります。
| トリガー (フレーム終了時) オプション | 説明 |
|---|---|
Total Frame Time | フレームに費やされた合計時間をミリ秒単位で示します。 |
Trigger Timestamp (Unixtime) | ミリ秒単位のトリガーのUnixタイムスタンプです。 |
Trigger Time (From Frame Onset) | フレームに対してトリガーが発生した時の時間をミリ秒単位で示します。 |
トリガー (変数値変更時) 値
変数値変更トリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります。
| トリガー (変数値変更時) オプション | 説明 |
|---|---|
New Value in Variable | 変数の新しい値を指します。 |
Trigger Timestamp (Unixtime) | 変数値変更トリガーが発生した時のUnix時間形式のタイムスタンプ(ミリ秒単位)です。 |
Trigger Time (From Frame Onset) | フレームの開始から変数値変更が発生するまでの経過時間をミリ秒単位で示します。 |
トリガー (メディアオブジェクトトリガー) 値
メディアオブジェクトトリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります。
| トリガー (メディアオブジェクトトリガー) オプション | 説明 |
|---|---|
Trigger Timestamp (Unixtime) | メディアオブジェクトトリガーが発生した時のUnix時間形式のタイムスタンプ(ミリ秒単位)です。 |
Trigger Time (From Frame Onset) | フレーム開始からメディアオブジェクトトリガーが発生するまでの経過時間をミリ秒単位で示します。 |
トリガー (Websocketトリガー) 値
WebsSocketトリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります。
| トリガー (Websocketトリガー) オプション | 説明 |
|---|---|
Message | どのデータタイプをフィルタリングできるかを説明し、ラベルを付けるために使用できるメッセージです。 |
Data | 参加者の選択、タイムスタンプ、マウスx/y座標など、さまざまなデータタイプを保持できる値です。 |
Trigger Timestamp (Unixtime) | Websocketトリガーが発生した時のUnix時間形式のタイムスタンプ(ミリ秒単位)です。 |
Trigger Time (From Frame Onset) | フレーム開始からWebSocketトリガーが発生するまでの経過時間をミリ秒単位で示します。 |
トリガー (OpenAIトリガー) 値
OpenAIトリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります:
| トリガー (OpenAIトリガー) オプション | 説明 |
|---|---|
Chat GPT Answer | ChatGPTからの回答の値です。 |
Trigger Timestamp (Unixtime) | OpenAIトリガーが発生した時のUnix時間形式のタイムスタンプ(ミリ秒単位)です。 |
Trigger Time (From Frame Onset) | フレーム開始からOpenAIトリガーが発生するまでの経過時間をミリ秒単位で示します。 |
トリガー (PostMessage受信時) 値
PostMessage受信トリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります。
| トリガー (PostMessage受信時) オプション | 説明 |
|---|---|
Message Content | 外部ソースから送信された受信ポストメッセージのデータペイロードです。 |
Trigger Timestamp (Unixtime) | PostMessage受信トリガーが発生した時のUnix時間形式のタイムスタンプ(ミリ秒単位)です。 |
Trigger Time (From Frame Onset) | フレーム開始からトリガーが発生するまでの経過時間をミリ秒単位で示します。 |
トリガー (グローバル実験イベント) 値
一時停止/再開実験トリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります。
| トリガー (グローバル実験イベント) オプション | 説明 |
|---|---|
Total Frame Time | トリガー前に割り当てられた合計フレーム時間を指します。 |
Reason for Global Event | トリガーの理由を示す文字列値(例:参加者が研究を離れた場合)です。 |
Trigger Timestamp (Unixtime) | グローバルイベントトリガーが発生した時のUnix時間形式のタイムスタンプ(ミリ秒単位)です。 |
Trigger Time (From Frame Onset) | フレーム開始からグローバルイベントトリガーが発生するまでの経過時間をミリ秒単位で示します。 |
トリガー (ユーザーが実験から離脱) 値
参加者がマルチユーザー研究から離れたトリガーが使用されるとき、特定のアクションを行う際に呼び出せる以下のトリガー固有の値があります。
| トリガー (ユーザー が実験から離脱) オプション | 説明 |
|---|---|
Remaining Number of Participants | 研究に残っている参加者の数です。 |
Trigger Timestamp (Unixtime) | ユーザーが実験から離れたトリガーが発生した時のUnix時間形式のタイムスタンプ(ミリ秒単位)です。 |
Trigger Time (From Frame Onset) | フレーム開始からユーザーが実験から離れたトリガーが発生するまでの経過時間をミリ秒単位で示します。 |













