イベントシステム

説明
イベントシステムは、すべての研究にとって不可欠です。これにより、記録される値を設定し、実験を進行させ、タスクを作成します。ユーザーは、タスク内のすべての機能、論理、インタラクションを実行するためのイベントシステムを作成できます。イベントは、オブジェクトと変数の間の仲介者として機能することが多いです。

イベントシステムは、トリガーとアクションで構成されています。ここで、'これが起こったとき'(トリガー)に'これをする'(アクション)というルールを設定します。たとえば、参加者が特定の画像をクリックした場合(トリガー)、別のランダムな画像を表示する(アクション)ということです。
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’**オプションをクリックすることで追加できます。 |
|
- 注: イベントシステムでマウストリガーを選択した後、トリガー固有のマウス値をさまざまなアクションにわたって利用および参照するオプションがあります。値選択メニュー.
キーボードトリガー
「キーボードトリガー」オプションは、イベントをトリガーする人気のある方法の1つです。本質的に、キーボードからの任意の入力をトリガーとして使用できます。これには、キーの押下、保持、または離すことが含まれます。

以下の例では、トリガーは指定された数値のターゲット(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タブで有効にするのを忘れないでください。
生理的信号トリガー
これらのトリガーは、タスクに対してアイートラッキングおよび/またはヘッドトラッキングが有効になっている場合にのみ適用されます。
アイートラッキング注視トリガー
トリガーされるイベント:
- 全体的に、このトリガーはアイートラッキングが有効になっているときに適用されます。
- 特定の要素を見ているときのみトリガーされる
パラメータ:
特定の要素でのみトリガーすることを選択した場合、これらの要素をターゲットとして追加します。
注: イベントシステムでアイートラッキング注視トリガーを選択した後、トリガー固有の注視値をさまざまなアクションにわたって利用および参照するオプションがあります。値選択メニュー.
アイートラッキング注視点トリガー
このトリガーはまだベータ版です。
- 注: イベントシステムでキーボードトリガーを選択した後、トリガー固有の注視点値をさまざまなアクションにわたって利用および参照するオプションがあります。値選択メニュー.
ヘッドトラッキングトリガー
トリガーされるイベント:
頭の向きや動きの変化。
注: イベントシステムでヘッドトラッキングトリガーを選択した後、トリガー固有のヘッドトラッキング値をさまざまなアクションにわたって利用および参照するオプションがあります。値選択メニュー.
トライアルおよびフレームトリガー
タスク初期トリガー
トリガー発生:
- タスクの最初のトライアルの最初のフレーム。タスクごとに一度だけ実行され、すべてのインスタンスのイベントタブに表示されます。
このトリガーは、シャッフルおよび読み取りアクションと組み合わせると良いでしょう。これらの組み合わせでは、タスクが始まると配列のエントリやデータフレームをシャッフルし、刺激のセットに被験者を割り当てることができます。刺激やデータを読み出すために複数のイベントを作成する必要はありません。
パラメータ: なし
- 注: イベントシステムでタスク初期トリガーを選択した後、トリガー特有のタスク初期値をさまざまなアクションで利用および参照するオプションがあります。値選択メニューで。
フレーム初期トリガー
トリガー発生:
- フレームの初期化、参加者に表示される前。
このトリガーは、シャッフル、読み取り、およびランダム数描画アクションと組み合わせると良いでしょう。これらの組み合わせでは、フレームが表示される前にこれらのアクションを完了させ、フレームが開始されると同時に他のアクションを開始するための明確な経路を提供します。
注: フレーム初期トリガーを試行回数または条件番号のような変数を記録するイベントで使用しないでください。フレーム初期トリガーはトライアルの間に発生するため、表示されるトライアルまたは条件の正確な数が取得できません。
パラメータ: なし
- 注: イベントシステムでフレーム初期トリガーを選択した後、トリガー特有のフレーム初期値をさまざまなアクションで利用および参照するオプションがあります。値選択メニューで。
タスクおよびフレーム初期トリガーに関する注意: タスクやフレームが始まる前にタスクおよびフレーム初期トリガーが発生するため、この間に作成された変数は、タスク/フレームが実際に開始されるとリセットされます。このイベントを使用すると、警告が表示されます:

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

Websocketトリガー
Websocketトリガーは、Websocket/APIからのメッセージを受信し、アクションのトリガーとして処理するために使用されます。

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

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

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

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

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

実験の一時停止/再開
「実験の一時停止 / 再開」トリガーは、実験が一時停止または再開されることに基づいてイベントを実行するオプションです。

このトリガーを選択すると、実験が一時停止されるか、続行されるかを指定するための次のビューが表示されます。


実験が一時停止された場合: 参加者が研究を一時停止(フルスクリーンを終了)します。
実験が再開された場合: 参加者が研究を再開します。このトリガーは、眼球追跡研究でうまく機能します。参加者が仮想チンレストから離れた場合、以前の試行やフレームに戻すために使用できます。
注: イベントシステムで一時停止/再開実験トリガーを選択した後、さまざまなアクションでトリガー固有の値を利用したり参照したりするオプションがあります。値選択メニューとともに。
参加者がマルチユーザー研究を離脱
参加者がマルチユーザー研究を離脱した場合、それもイベントのトリガーとして使用できます。参加者がマルチユーザー研究を離脱すると、他の参加者が研究を続行できなくなるため、実験に対してグローバルな影響を与えます。

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

アクション
アクションは、イベントが実行されたときに何が起こるべきかを定義します。これらは、変数やオブジェクトのプロパティを変更したり、データを記録したり、配列からデータを読み書きしたり、次の試行やタスクにジャンプしたりするために使用できます。通常、イベントごとに複数のアクションがあります。「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 | ペーストアクション | 前にコピーしたアクションをペーストすることができます。 |
オブジェクトアクション
オブジェクトアクションは、タスク内に存在するオブジェクトに対して行われる操作を指します。いくつかのオブジェクトアクションオプションがあります:
- オブジェクトプロパティを設定
- メディアオブジェクトを制御
- オブジェクトをコピー
- オブジェクトごとに

オブジェクトプロパティを設定アクション
「オブジェクトプロパティを設定」アクションを使用すると、対象のオブジェクト、変更するプロパティ、新しい値を指定することで、オブジェクトの外観を自由に変更できます。
メディアオブジェクトを制御アクション
以前の「オーディオ/ビデオを制御」と「オブジェクトを制御」という独立したアクション。
効果:ビデオ/オーディオ要素の再生を変更するか、アップロード/録音要素の状態を変更します。
パラメータ:
- ターゲット:1つのメディアオブジェクトを選択します
- 効果:サブアクションを選択します
- オーディオまたはビデオオブジェクトオプション:
- 再生開始:ビデオ/オーディオファイルの再生を開始します
- 再生停止:ビデオ/オーディオファイルの再生を停止します
- 一時停止:ビデオ/オーディオファイルの再生を一時停止します
- ジャンプ到時間:オーディオ/ビデオファイル内でジャンプする時間をミリ秒単位で指定します
- ミュート:オブジェクトの音をオフにします
- ミュート解除:オブジェクトの音を復元します
- オーディオ、ビデオ、またはスクリーン録画オブジェクトオプション:
- 録画開始:新しい(音声)録画を開始します
- 録画停止:録音を停止します
- アップロード開始:ファイルのアップロードを開始します
- 録音クリア:録音データを削除します。
- 再生開始:録音されたファイルの再生を開始します
- 再生停止:録音されたファイルの再生を停止します
- 録画一時停止:オブジェクトの録音を一時停止します
- 録画再開:オブジェクトの録音を再開します
- ファイルアップロードオブジェクトオプション:
- アップロード開始:選択したファイルのアップロードプロセスを開始します
- ファイルクリア:選択したファイルを削除します
- ファイル選択:参加者が希望のファイルを選択できるようにします
- カメラスナップショットオブジェクトオプション:
- カメラ開始:参加者のカメラをオンにします
- カメラ停止:参加者のカメラをオフにします
- アップロード開始:スナップショットを実験にアップロードします
- スナップショットを撮る:参加者のカメラで写真を撮ります
- オーディオまたはビデオオブジェクトオプション:
オブジェクトコピーアクション
効果: オブジェクトをコピーし、複数の別々のオブジェクトや重複イベントの必要性を置き換えます。
パラメータ:
- ソース: コピーするフレーム上のオブジェクトを選択します。
- コピーの数: ソースオブジェクトのコピー数を入力します。
- 新しい要素名を設定: コピーの名前を決定するためにいくつかのパラメータから選択します。
- 増分接尾辞を持つ名前を割り当て: コピーを区別するために新しい要素名の末尾に数値タグを追加します。
- アクションシーケンス:(通常のアクションリストから)コピーに対して何が起こるかを選択できます。ターゲットとして「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 | 他の参加者に値を送信します。その値は変数に保存されます。 |
変数設定/記録アクション
「変数設定/記録」アクションは、Labvancedのすべての実験で使用されることが義務付けられています。これは、値や行動測定が保存および記録される方法です。

このアクションをクリックすると、どの変数を記録し、どの値が関心かを指定するためのダイアログメニューが表示されます:

| メニュー項目 | メニューエリア | 説明 |
|---|---|---|
Select | ![]() | 選択をクリックすると、どの変数に値を保存するかを示します。ここから新しい変数を作成することもできます。 |
| ペンアイコン | ペンアイコンは、選択された変数に割り当てるべき正確な値を定義し指定するために使用される値選択メニューを象徴しています(これは等号(=)記号の左にある緑のボタンに指定されています)。 |
以下の例では、counterという新しい変数を作成し、値選択メニューからの算術オプションを使用して、変数の値が1増加するように設定しています(これは前のステップで定義されたトリガーに基づいています)。

以下の画像は、研究中のマウストラッキングをキャプチャするために、マウスのX、Y座標を記録します。以下の画像は、変数値の記録を可能にするために使用される3つのアクションがどのように存在するかを示しています。左側の変数は手動で作成され、等号(=)記号の右側の値は、システムが提供するマウストリガー特有の値であり、値の記録時に参照できます。

注: Set / Record Variableアクションは、変数値に基づいて「if / then」や「whileループ」を使用して条件を指定できるControl Actionsの文脈でも一般的に使用されます。
クリップボードにコピーアクション
効果: 変数値をコンピュータ内のクリップボードにコピーします。
ランダム数を描画するアクション
効果: 1つまたは複数のランダムな数値を描画し、それを変数に保存します。
パラメータ:
- タイプ: 連続値と離散値の間から選択します。
- 分布: ガウス分布と均一分布の間から選択します。
- 複数の描画(boolean true/false): 1度または複数回描画するかを選択します。
- 描画数: 描画の回数を選択します。
- 最小: 均一分布の最小値を定義します。
- 最大: 均一分布の最大値を定義します。
- 平均: ガウス分布の平均値を定義します。
- 標準偏差: ガウス分布の標準偏差を定義します。
- 変数に保存: 値を保存する変数を選択します。
URLパラメータ取得アクション
効果: 参加者のユニークなURLから値を保存します。
パラメータ:
- パラメータ名: 必要なパラメータの名前を入力します。
- 変数に保存: パラメータ値を保存する変数を選択します。
このアクションは、参加者用のユニークなURLを構築したり、データ分析に必要な情報を抽出するために他のアクションと組み合わせることができます。
デバイスから読み書きアクション
効果: ローカルデバイスのストレージに対して変数を読み書きします。このアクションはデータをLabvancedサーバーに送信するのではなく、参加者のデバイスに保存します。
パラメータ:
- ローカルデバイスから読み取るか、書き込むかを選択します。
- 読み取るまたは書き込む変数を選択します。
ユースケース: 縦断的/マルチセッション研究
- このアクションを使用すると、同じ参加者が各セッションで同じデバイスを使用している場合、デバイス特有のデータをセッション間で持ち越すことができます。
- 例えば、このアクションを使用して、セッション1で各参加者に提示された画像を記録し、セッション2で異なる画像を提示することができます。
- 画像の配列を作成し、各セッションで提示するためにいくつかをランダムに選択します。
- デバイスに書き込む: セッション1で提示された画像のインデックス番号。
- デバイスから読み取る: セッション2で、セッション1の画像のインデックスを読み取り、2番目のセッションでそのインデックスが選択されないようにするJavaScriptアクションを含めます。
共有変数から読み書きアクション
効果: 研究のセッション間で共有される変数から読み書きします。この変数はすべての参加者と共有されるか、それぞれの個人にプライベートにされます。
パラメータ:
- 同期する変数を選択します。スカラまたは配列でなければなりません。
- 詳細オプション
- ストレージキー: 同期された変数にアクセスするためのキーとして機能する変数の名前を選択します。
- 読み取りまたは書き込み方法:
- 共有変数を読み取り、修正してから書き込む: 変数を読み取り、変更を加えた後、変数を研究に送信します。
- サーバーから共有値のみを読み取る: 研究内で共有されている変数を呼び出しますが、変更は加えません。
- サーバーに変数のみを書き込む: 共有変数に変更を加えますが、参加者には表示されません。
- 異なる参加者間で値を共有(セッション間のみでない): 参加者がセッション間でお互いの同期された変数値を見ることを可能にします。このオプションはデフォルトで選択されていますが、チェックボックスをクリックして選択を解除できます。
- アクションシーケンス:
- 利用可能なすべてのアクションのリストから、共有/同期された変数に何が起こるかを選択します。
利用例: 縦断的/マルチセッション研究
- このアクションを使用すると、参加者ごとのデータをセッション間で引き継ぎ、セッション間で参加者間で共有することができます。
- たとえば、このアクションを使用してテストのスコアを記録し、その後、参加者がテストを完了した他の参加者の平均スコアと自分のスコアを比較できるようにすることができます。
- もう一つの例(デバイスからの読み取り/書き込みアクションに似ています)は、参加者が配列から好きな画像を5つ選択し、タスクを実行し、その後、別のセッションで再びその5つの画像を提示することです。違いは、このアクションを使用して選択した画像を他の参加者に表示したり、別の参加者の利用可能なオプションからその画像を除外したりできることです。
数学 & 統計アクション
効果: 入力変数(配列)の数学的操作を実行し、結果を出力変数に保存します。
パラメータ:
- タイプ: 配列操作、線形代数、統計テストのいずれかを選択します
- 操作: 数学的操作を選択します(例: sum, min, stdev など)
- 入力配列: 操作が実行される入力変数(配列)を選択します
- パラメータ: 一部の操作には追加のパラメータがあります。
- 出力: 結果が保存される出力変数を選択します。
変数を即座に記録するアクション
効果: すべての変数の値のスナップショットを作成し、これをLabvancedサーバーに送信します。
パラメータ: なし
移動平均フィルターアクション
効果: 一部の入力の移動平均(データの常に更新される平均)を計算し、その結果を新しい変数に保存します。
パラメータ:
- フィルター形状: フィルターの種類を選択します
- 単純移動平均: すべてのサンプルが同じ重みを持つ単純移動平均を計算します。
- 線形加重移動平均: サンプルの重みが線形に減少するようにサンプルに重みを付けます。
- 指数移動平均: サンプルの重みが指数的に減少するようにサンプルに重みを付けます。
- サンプル数: ステップごとに使用されるサンプルの数を決定します。
- 入力: 移動平均を計算する入力変数(配列)を選択します
- 出力: 結果が保存される出力変数を選択します。
変数を分配するアクション
変数を分配するアクションは、Labvancedのマルチユーザー研究に欠かせません。 このアクションを使用すると、変数の値を参加者間で共有でき、基本的に情報(刺激の位置や変更を含む)が参加者の画面に反映されるようになります。

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

こちらのデモで、分配変数とチャットボックス機能を組み込んだものをご覧ください: チャットアドオンを使用した画像説明タスク。
ダイアログメニュー項目の完全な説明は以下にあります:
| メニュー項目 | メニューエリア | 変数分配アクションのオプションと説明 |
|---|---|---|
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」の下のアクションが実行されます。
パラメータ:
- 要件の追加: ステートメントに新しい要件を追加します。「value-select」メニューが両側に表示され、論理的比較を行います。ステートメントの中央で、両側をどのように比較するか(例: 等しい、小さい、異なるなど)を選択できます。
- 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 Loop)アクション
効果: 直ちにもしくは定義された間隔内で一連のアクションを繰り返し実行します。ループ実行を停止する停止条件を指定できます。
パラメータ:
- 実行タイプ: 即時実行またはタイミング実行のいずれかを選択
- ループ全体を実行: 停止条件が満たされるまでループを継続的に実行します。
- 毎回... ms実行: 定義された間隔でループが実行されます(例: 50 msごとにループが実行されます)。
- ループの数を定義: 「毎回... ms実行」が選択されている場合、ループが実行される回数の数値を割り当てるオプションがあります。これにより、停止条件を定義する必要がなくなります。
- 実行間隔: これが実行間隔を決定します。
- 即時に開始(真/偽): 有効にすると、ループがすぐに実行されます。無効にすると、ループは次の実行間隔で開始されます。
- 複数の開始を許可(真/偽): 有効にすると、複数のループインスタンスが並行して開始できます。無効にすると、一度に1つのループインスタンスしか実行できません。
- 停止条件を有効にする(真/偽): 有効にすると、ループの停止条件を指定できます。
- 停止条件: 停止条件を使用して、ループ実行を停止すべき論理式を指定できます。If / Else-If文のように、ANDグループ、ORグループ、および要件を組み合わせることができます。
- アクションシーケンス: アクションシーケンスは、ループの各イテレーションで実行されるすべてのアクションをリストします。新しいアクションは「アクションの追加」アイコンを通じて追加できます。
遅延アクション(タイムコールバック)アクション
効果: 一定の時間遅延後に一連のアクションを実行します。
パラメータ:
- 遅延タイプ: 固定遅延または可変遅延のいずれかを選択
- 固定遅延: アクションは固定遅延の後に実行されます。
- 可変遅延: アクションは(数値)変数で指定された遅延の後に実行されます。
- 遅延: ミリ秒(ms)での遅延の長さ。
- アクションシーケンス: アクションシーケンスは、指定された時間遅延の後に実行されるすべてのアクションをリストします。新しいアクションは「アクションの追加」アイコンを通じて追加できます。
アクショングループ
アクションはアクショングループに整理することもできます。アクショングループにより、特定のアクションをグループ化して視覚構造を簡素化したり、一度に複数のアクションをコピー、複製、または削除したりできます。
APIアクション
外部サーバーからLabvancedにデータを送信または通信する必要がある場合、「APIアクション」と「APIトリガー」を使用できます。このカテゴリには次のアクションがあります:
- PostMessageを送信
- Websocketに送信
- OpenAIに送信
これらのアクションを「利用可能」または使用可能にするには、SettingsタブにAPIキーを入力する必要があります。

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

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

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

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

ここでは、必要な情報がすべて提供されたときにこのイベントがどのように見えるかの実例を示します:

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

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

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

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

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

「グローバルCSSを設定」アクションの一例としては、参加者が特定の色を複数選択の質問から選択したときに、研究の背景色を変更することがあります。
ペーストアクション
このオプションを使用すると、以前に作成してコピーしたアクションをペーストできます。これにより、実験をデザインする際、同じアイテムを何度も選択する必要がなくなり、作業が迅速化します。たとえば、既存のイベントに似たイベントがある場合、それをコピーしてペーストし、最初から構築する代わりに修正できます。
値選択メニュー
特定のイベントに取り組む際、ペンアイコンが表示されます。これは、値選択メニューと呼ばれ、どのような値を記録または追跡するかを選択して指示することを可能にします。これは、実験デザインおよびセットアップに使用する必須の非常に強力なオプションです。
このペンアイコン/値選択メニューは、Set / Record Variableアクション、Set Object Propertyアクション、Requirement (If... Then)アクションなど、一部のアクションイベントシステムのさまざまな場所に表示されます。

ペンアイコンをクリックすると、読み取られるか書き込まれる値を指定するドロップダウンメニューが表示されます。ドロップダウンメニューは、常にトリガーに特有の値オプションから始まり、その後に他の5つのカテゴリー(Current Time, Constant Value, Variable, Frame / Task / Option, Operations)が続きます。これらはそれぞれ独自のオプションを持っています。 それらについては以下でさらに説明します。

上の画像は、マウストリガーが使用されているときの値選択メニューの見た目を示しています。左側の最初のメニュー項目はトリガー特有のカテゴリから始まり、その後他の5つのカテゴリ(Current Timeなど)に移行します。
メニューオプション
以下の表は、カテゴリとオプションをさらに説明しています:
| カテゴリ | オプション | 説明 |
|---|---|---|
Trigger-specific | イベントで以前に選択したトリガータイプに依存します。 | イベントのために選択したトリガーに基づき、値選択メニューの上部には特定のリストオプションが表示されます。オプションと説明の完全なリストを見るには、トリガー特有の値のセクションを参照してください。 |
Current Time | 時間の値を測定し、呼び出します。 | |
Constant Value |
| 文字列や数値など、必要な変数のタイプに基づいて定数の値を割り当てます。これらは時々Arithmeticのような他のオプションと組み合わせて使用されてカウンターを作成します。 |
Variable |
| 変数を指定または参照したり、配列またはデータフレームから値を選択したりします。 |
Frame / Task / Object |
| オブジェクトプロパティ、フレーム、眼球追跡(アクティブな場合)、およびデバイス(画面のリフレッシュレート)に関連する値を取得します。 |
Operations |
| 変数の値を結合したり、文字列を全て小文字に変換したり、数学的な操作を実行するなど、指定された変更を行うために操作を使用します。 |
現在の時間の値
「現在の時間」オプションを使用することで、時間に関する値を記録または参照できます。
以下のオプションが利用可能です:
現在の時間: UNIXタイムスタンプ
この値は、ミリ秒単位のUNIX形式のタイムスタンプを記録します。
現在の時間: フレーム開始からの時間
この値は、フレーム開始から経過した時間を記録します。最もよく使われるのは、反応時間に相当します。
定数値
必要な変数の種類に基づいて定数値を割り当てます。これらは、カウンターを作成するために、他のオプションと組み合わせて使用されることがありますArithmetic。
以下のオプションが利用可能です:
定数:文字列
文字列/テキスト値を割り当てます。
定数:数値
数値/数字値を割り当てます。
定数:ブール値
trueまたはfalseの値を割り当てます。
定数:カテゴリカル
レベル値(主に要因用)を割り当てます。
定数:日付
日付値を割り当てます。
定数:時間
時間値を割り当てます。
定数:色
色(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アクションなど)において、マウストリガー固有の値をvalue select menuで参照できます。
以下の例では、マウストリガーのトリガー固有の値を使用してx値およびy値、およびSet / Record Variableアクションを使用して[X,Y]配列を記録します。

以下は、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) | UNIX時間でのゲームパッドタイムスタンプ。 |
Trigger Timestamp (Unixtime) | トリガーが発生したときのUNIX時間でのタイムスタンプ。 |
Trigger Time (From Frame Onset) | フレームの開始に関するトリガーが発生するUNIX時間でのタイムスタンプ。 |
トリガー(視線追跡)値
視線追跡トリガーが使用される場合、特定のアクションを操作するときに呼び出すことができるトリガー特有の値は以下の通りです:

| トリガー (視線追跡) オプション | 説明 |
|---|---|
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) | フレームの開始から固定トリガーが発生するまでの経過時間(ミリ秒)。 |
トリガー (頭部追跡) 値
頭部追跡トリガーが使用されるとき、特定のアクションを操作する際に呼び出せる次のトリガー特有の値があります:
| トリガー (頭部 追跡) オプション | 説明 |
|---|---|
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トリガー) 値
WebSocketトリガーが使用されるとき、特定のアクションを操作する際に呼び出せる次のトリガー特有の値があります:
| トリガー (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 | 外部ソースから送信された受信したpostMessageのデータペイロードです。 |
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) | フレームの開始からユーザーが実験を離れたトリガーが発生した際までの経過時間をミリ秒単位で示します。 |














