イベントシステム

説明
イベントシステムは、任意の研究にとって不可欠です。これは、記録される値を設定し、実験を進行させ、タスクを作成する方法です。ユーザーはタスク内のすべての機能、ロジック、相互作用を実行するためのイベントシステムを作成できます。イベントはしばしばオブジェクトと変数の間の仲介者として機能します。
- トリガーの完全なリストを見る
- アクションの完全なリストを見る
- イベント下での値設定に関するバリューセレクトメニューの詳細を確認する

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

いずれにせよ、イベントは指定されたフレーム内の試行グループのすべての試行に対して常に定義されます。ただし、カスタムロジックにより、ユーザーは特定の試行、条件、または他の状況でのみイベントを実行することができます。
以下のビデオは、Labvancedで利用可能なトリガーとアクションの概要を示しています:
イベントの実行順序は調整可能です。デフォルトでは、同じトリガーを持つイベントはリストの上にあり、最初に実行されます。イベントはコピーしたり削除したりすることもできます。既存のイベントを選択すると、詳細が右下の(Event Properties)パネルに表示されます。より良い概要のために、既存のイベントは再度開くこともできます(名前フィールドの隣にアイコンがあります)。
トリガー
トリガーは、イベントが実行されるタイミングを定義します。これは、特定のオブジェクトでのマウスクリック、特定のキーボード入力、変数の変更、ビデオファイルの開始、その他多くのことが含まれます。すべてのトリガーとその設定/パラメータは、以下のリストで説明されています:
| トリガーカテゴリ | トリガーオプション | 説明 |
|---|---|---|
ユーザー入力トリガー | ユーザー入力トリガーは、ユーザー/参加者によって手動でアクティブにできるすべてのトリガーを指します。 | |
生理的信号トリガー | 生理的信号トリガーは、特定の生理的入力があるときに発生します。 | |
試行およびフレームトリガー | これらのトリガーは、実験の試行およびフレームに関して発生します。 | |
変数値変更トリガー | 変数(値変更) | 特定の変数値に変化があったときにイベントトリガーが発生します。 |
メディアオブジェクトトリガー | メディアオブジェクトトリガー | このトリガーは、メディアオブジェクトに関して発生します。 |
APIトリガー | これらのトリガーは、APIからのデータ受信時に発生します。 | |
グローバルトリガー | グローバルトリガーは、実験への重要な変更を指します。 |
ユーザー入力トリガー
ユーザー入力トリガーは、ユーザー/参加者によって手動でアクティブにできるすべてのトリガーを指します。

以下の表は、Labvancedで利用可能なすべてのユーザー入力トリガーの概要を示します。それぞれについては、今後のセクションで詳細に説明されます。
| ユーザー入力トリガーオプション | 概要 |
|---|---|
マウストリガー | マウスの動きのいずれかをトリガーとして使用できます。例:スクロール、クリック、ホバーなど。特定の要素またはターゲットをトリガーに関連付けることもできます。 |
キーボードトリガー | キーボードの任意のキーをトリガーとして使用し、イベントを開始できます。特定のキーボードの文字や数字をトリガーとして指定できます。 |
ボタンクリック | Labvancedで作成されたボタンオブジェクトをトリガーとして使用することができます。 |
入力時のEnter | このトリガーは、実験中に参加者が「Enter」を押す場合によく使用され、テキストボックスの入力を送信する手段として機能します。 |
スクロールトリガー | 参加者がスクロールする際に発生します。xまたはy方向のスクロールを指定することができ、また、どの要素上でスクロールが発生するかでもトリガーを使用できます。 |
ゲームパッド/ジョイスティックトリガー | このトリガーを使うことで、実験デザインの入力デバイスとしてゲームパッドやジョイスティックコントローラーを使用します。 |
マウストリガー
「マウストリガー」オプションは、あらゆるマウス操作に基づいてイベントを開始する非常に人気のあるイベントトリガーです。例えば、マウスを上下に動かす、クリックする、特定のオブジェクトにホバーする、特定のオブジェクトから離れる、またはあらゆる動作です!

以下の例では、「ターゲット」オブジェクト「Image_1」に左マウスクリックを実行すると「マウストリガー」が発生します:

ここでは、マウストリガーを使用する際のオプションを完全に示しています:
| メニュー項目 | メニューエリア | マウストリガーのオプションと仕様 |
|---|---|---|
アクション ドロップダウンリスト: | ![]() | こちらのマウストリガーオプションがドロップダウンリストから利用できます。
|
ボタン ドロップダウンリスト: | ![]() |
|
ターゲット オプション: | 上記の例では、「Image_1」がイベントトリガーを引き起こすボタンクリックのターゲットです。 複数のターゲットは、下部の** ‘+ターゲットを追加**オプションをクリックすることで追加できます。 |
|
- 注: イベントシステム内でマウストリガーを選択した後、さまざまなアクションでトリガー固有のマウス値を利用し参照するオプションがあります。
キーボードトリガー
「キーボードトリガー」オプションは、イベントがトリガーされる一般的な方法です。基本的に、キーボードからの入力はすべてトリガーとして使用できます。これには、キーを押すこと、保持すること、またはリリースすることが含まれます。

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

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

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

以下は、掲載されている項目の詳細です:
| メニュー項目 | メニューエリア | ボタンクリックトリガーオプション |
|---|---|---|
ターゲット: +ターゲットを設定 | ![]() | |
ボタン: オプション | ![]() | フレーム上の特定のボタンを指定 |
- 注: イベントシステム内でボタンクリックトリガーを選択した後、さまざまなアクションでトリガー固有のボタンクリック値を利用し参照するオプションがあります。
入力時のEnterトリガー
トリガー対象: 特定の要素がアクティブな間にEnter/Returnキーが押されたとき。
パラメータ:
ターゲットを追加: イベントに入力要素を追加します。
注: イベントシステム内で入力時のEnterトリガーを選択した後、さまざまなアクションでトリガー固有の入力時のEnter値を利用し参照するオプションがあります。
スクロールトリガー
トリガー対象: スクロールバー、トラックパッドでのスクロール、またはマウスのスクロールホイールが特定の要素で使用されます。
パラメータ:
- スクロールがY軸またはX軸のどちらであるかを選択します(縦スクロールまたは横スクロール)。
ターゲット: スクロールトリガーが適用されるターゲット要素を設定します。
注: 長文の場合、'オブジェクトプロパティ'パネル内の「スタイル」セクションで、Overflow-Xおよび/またはOverflow-Yオプションにscrollを選択する必要があります。
- 注: イベントシステム内でスクロールトリガーを選択した後、さまざまなアクションでトリガー固有のスクロール値を利用し参照するオプションがあります。
ゲームパッド/ジョイスティックトリガー
ゲームパッド/ジョイスティックトリガーを使うことで、ゲームパッドやジョイスティックコントローラーを試験設計でデータ取得の入力デバイスとして使用できます。 注: このオプションを、設定タブで有効にするのを忘れないでください。
生理的信号トリガー
これらのトリガーは、タスクに対してアイ・トラッキングおよび/またはヘッドトラッキングが有効になっている場合にのみ適用されます。
アイ・トラッキング(視線)トリガー
トリガー対象:
- 全体的に、このトリガーはアイ・トラッキングが有効になっているときに適用されます。
- 特定の要素に視線を向けたときにのみトリガーされます。
パラメータ:
特定の要素に対してのみトリガーするように選択した場合は、それらの要素をターゲットとして追加します。
注: イベントシステム内でアイ・トラッキング(視線)トリガーを選択した後、さまざまなアクションでトリガー固有の視線値を利用し参照するオプションがあります。
アイ・トラッキング(注視)トリガー
このトリガーは現在ベータ段階にあります。
- 注: イベントシステム内でキーボードトリガーを選択した後、さまざまなアクションでトリガー固有の注視値を利用し参照するオプションがあります。
ヘッドトラッキングトリガー
トリガー対象:
頭の向きや動きの変化。
注: イベントシステム内でヘッドトラッキングトリガーを選択した後、さまざまなアクションでトリガー固有のヘッドトラッキング値を利用し参照するオプションがあります。
試行およびフレームトリガー
タスク初期化トリガー
トリガー対象:
- タスクの最初の試行の最初のフレーム。タスクごとに1回のみ実行されますが、そのフレームのすべてのインスタンスのイベントタブに表示されます。
このトリガーは、シャッフルおよび読み込みアクションとうまく組み合わせることができます。この組み合わせを使用して、タスクの開始時に配列のエントリやデータフレームをシャッフルし、被験者を刺激のセットに割り当てることができます。これにより、刺激やデータを読み取るための複数のイベントを作成する必要がなくなります。
パラメータ: なし
- 注: イベントシステム内でタスク初期化トリガーを選択した後、さまざまなアクションでトリガー固有のタスク初期化値を利用し参照するオプションがあります。
フレーム初期化トリガー
トリガー対象:
- フレームの初期化。参加者に対して表示される前です。
このトリガーは、シャッフル、読み込み、およびランダム番号を描画アクションとうまく組み合わせることができます。この組み合わせにより、フレームが表示される前にこれらのアクションを完了し、フレームの開始時に他のアクションを開始するための明確な経路を残します。
注: 変数を記録するイベントや、試行番号や条件番号といったシステム変数に関連するイベントにはフレーム初期化トリガーを使用しないでください。これは、フレーム初期化トリガーが試行の間に発生するため、表示される試行や条件の正確なカウントがないからです。
パラメータ: なし
- 注: イベントシステム内でフレーム初期化トリガーを選択した後、さまざまなアクションでトリガー固有のフレーム初期化値を利用し参照するオプションがあります。
タスクおよびフレーム初期化トリガーの注意: タスクおよびフレーム初期化トリガーはタスクやフレームが開始する前に発生するため、この時に作成された変数は、実際にタスク/フレームが開始されるとリセットされます。このイベントを使用すると警告が表示されます。

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

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

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

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

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

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

また、‘OpenAIに送信するアクション’を使用している場合は、ここで示したのと同じデータフレームを使用する必要があります。
- 注: イベントシステム内でOpenAIトリガーを選択した後、さまざまなアクションでトリガー固有のOpenAI値を利用し参照するオプションがあります。
グローバルトリガー
グローバルトリガーは、実験内で重大な変更が発生するたびに発生します。つまり、「グローバル」なもの、例えば実験が一時停止したり、参加者が多人数研究から抜けたりすることです!以下は、グローバルトリガーとしてリストされているオプションです:
- 実験の一時停止/再開
- 参加者が多人数研究から退出

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

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


実験が一時停止した: 参加者が(フルスクリーンを終了して)研究を一時停止します。
実験が続行された: 参加者が研究を再開します。このトリガーは、アイ・トラッキング研究に適しています。参加者がバーチャルチンレストを離れた場合、前の試行またはフレームに戻す手段として部品任務を使用できます。
注: イベントシステム内で一時停止/再開実験トリガーを選択した後、さまざまなアクションでトリガー固有の値を利用し参照するオプションがあります。
参加者が多人数研究から退出
参加者が多人数研究から退出した場合、それはイベントのトリガーとしても使用できます。参加者が多人数研究から退出した場合、これはグローバルレベルで実験に影響を与えます。なぜなら、他の参加者が研究を続行することを妨げるからです。

このトリガーを選択することにより、参加者が多人数研究から退出した場合、どのようなアクションが発生するかを指定できます。

- 注: イベントシステム内で参加者が多人数研究から退出するトリガーを選択した後、さまざまなアクションでトリガー固有の値を利用し参照するオプションがあります。
アクション
アクションは、イベントが実行されたときに何を行うべきかを定義します。それらは変数やオブジェクトのプロパティを変更し、データを記録したり、配列間でデータを読み書きしたり、次の試行またはタスクにジャンプしたりするために使用できます。通常、各イベントには複数のアクションがあります。「ControlActions」を使用すると、論理演算(If-Elseステートメント)、ループ、コールバック関数を使用し、またアクションをお互いにネストすることができ(例:ifステートメント内のwhileループ)、そのため、イベントシステムはグラフィカルなプログラミング環境と見なすことができます。このビューにおいて、トリガーは関数の呼び出しとして機能し、アクションは機能的ロジックを説明します。このアプローチにより、ほぼすべての実験的ロジックが特定のプログラミング/構文構造なしに実装できることが保証されます。
以下の表は、Labvancedで利用可能なアクションの概要を示します:
| アクションカテゴリ | アクションオプション | 説明 |
|---|---|---|
オブジェクトアクション | オブジェクトアクションは、タスク内に存在するオブジェクトに対して行われるすべての操作を指します。 | |
変数アクション | 変数の値を読み取ったり記録したりするアクションです。 | |
配列アクション | 配列操作には、配列やそのエントリを選択、追加、削除、変更、シャッフルすることが含まれます。 | |
データフレーム操作 | これらのアクションは、実験で.csvファイル(データフレーム)を使用する場合に関連しています。 | |
ジャンプアクション | 実験の特定のセクションにジャンプしたり、参加者セクションを受け入れたり拒否したりすることができます。 | |
制御アクション | 制御アクションは、特定のイベントのシーケンス(if/thenロジック、ループ(繰り返し音を再生したり画像を点滅させたりする)、またはアクションが発生するまでの遅延の設定)を実行するために使用されます。 | |
APIアクション | APIにデータを送信するためのAPI特有のアクションを指します。 | |
コードアクション | コードアクションにより、JavaScriptまたはCSSを使用できます。 | |
貼り付けアクション | 貼り付けアクション | 以前にコピーしたアクションを貼り付けることができます。 |
| オブジェクトアクションは、タスク内に存在するオブジェクトに対する操作を指します。いくつかのオブジェクトアクションのオプションがあります: |
- オブジェクトプロパティの設定
- メディアオブジェクトの制御
- オブジェクトのコピー
- 各オブジェクトに対して

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

以下の表は、Labvancedで利用可能なすべての変数アクションオプションの概要を示しています。それぞれは、今後のセクションで詳細に説明されます。
| 変数アクションオプション | 説明 |
|---|---|
セット / 変数を記録 | 変数値を書くか設定する |
クリップボードにコピー | 変数値をコンピュータの内部クリップボードにコピーする。 |
ランダム番号を生成 | 1つまたは複数のランダム番号を生成し、変数に保存します |
URLパラメータの取得 | 参加者のユニークなURLから値を保存します |
デバイスから読み取る / 書き込む | ローカルデバイスのストレージに変数を読み取りまたは書き込みます。このアクションは、データをLabvancedサーバーに送信するのではなく、参加者のデバイスにデータを保存します。 |
共有変数から読み取る / 書き込む | 研究のセッション間で共有される変数から読み取ったり書き込んだりします。この変数は、すべての参加者と共有されるか、個々のプライベートとして扱われます。 |
数学 & 統計 | 入力変数(配列)の数学的操作を実行し、結果を出力変数に保存します。 |
変数を即座に記録 | すべての変数値のスナップショットを作成し、これをLabvancedサーバーに送信します。 |
移動平均フィルター | 入力の移動平均(データの継続的に更新される平均)を計算し、結果を新しい変数に格納します。 |
変数を配布 | ある値を他の参加者に送信します。この値は変数に保存されます。 |
セット / 変数を記録アクション
「セット / 変数を記録」アクションは、Labvancedのすべての実験で使用される必要があります。これにより、値と行動測定が保存および記録されます。

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

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

以下の画像は、研究中のマウストラッキングをキャプチャするためにマウスのX,Y座標を記録する方法を示しています。以下の画像では、変数値の記録を可能にするために使用されている3つのアクションが表示されています。左側の変数は手動で作成され、右側の=記号の右側の値は、値を記録する際に参照できるマウストリガー専用の値です。

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

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

こちらのデモをご覧ください: チャット追加機能付き画像説明タスク。
ダイアログメニュー項目の詳細な説明は以下の通りです:
| メニュー項目 | メニューエリア | 配布変数アクションのオプションと説明 |
|---|---|---|
値を配布する対象 | ![]() | 値を送信する他の参加者を選択します。
|
ターゲット変数と値を選択 | ![]() |
|
ブロック | ![]() | 有効にされた場合、ターゲット変数は現在の値の配布が完了するまで変更できません。 |
レート制限戦略 | ![]() | レート制限戦略は、実験がサーバーをオーバーフローさせないようにし、配布変数を介して送信されるリクエスト(更新)のレートを制御するための予防策として機能します。以下の戦略オプションが利用可能です:
|
配列アクション
配列から選択(読み取り)アクション
効果:配列から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 ループ)アクション
効果:即時または定義された間隔内で一連のアクションを繰り返し実行します。ループ実行を停止するための停止条件を指定できます。
パラメータ:
- 実行タイプ:即時実行またはタイマー実行のいずれかを選択します。
- ループを完全に実行する:これは、停止条件が満たされるまでループを継続的に実行します。
- ...ミリ秒ごとに実行:これは、定義された間隔(例:50ミリ秒ごとにループが実行される)でループを実行します。
- ループの回数を定義: 「...ミリ秒ごとに実行」が選択された場合、ユーザーはループが実行される回数のための数値整数値を割り当てるオプションがあります。これは停止条件を定義する必要を置き換えます。
- 実行間隔:これにより、実行間隔が決定されます。
- すぐに開始(真/偽):有効にされた場合、ループはすぐに実行されます。無効にされた場合、ループは次の実行間隔で開始されます。
- 複数回の開始を許可(真/偽):有効にされた場合、複数のループインスタンスが並行して開始されることができます。無効にされた場合、同時に1つのループインスタンスのみが実行されます。
- 停止条件を有効にする(真/偽):有効にされた場合、ループの停止条件を指定できます。
- 停止条件:停止条件を使用して、ループ実行を停止すべき論理式を指定することができます。If / Else-If文と同様に、ANDグループ、ORグループ、および要件を組み合わせて論理比較を行うことができます。
- アクションシーケンス:アクションシーケンスは、ループの各反復で実行されるすべてのアクションをリストします。新しいアクションは「アクション追加」アイコンを使用して追加できます。
遅延アクション(時間コールバック)アクション
効果:特定の時間遅延の後に一連のアクションを実行します。
パラメータ:
- 遅延タイプ:固定遅延または変数遅延のいずれかを選択します。
- 固定遅延:アクションは固定遅延の後に実行されます。
- 変数遅延:アクションは(数値)変数で指定された遅延の後に実行されます。
- 遅延:遅延の長さ(ミリ秒)を指定します。
- アクションシーケンス:アクションシーケンスは、指定された時間遅延の後に実行されるすべてのアクションをリストします。新しいアクションは「アクション追加」アイコンを使用して追加できます。
アクショングループ
アクションもアクショングループに整理できます。アクショングループを使用すると、特定のアクションを視覚的構造を容易にするためや、複数のアクションを一度にコピー、複製、または削除するためにグループ化できます。
APIアクション
外部サーバーからLabvancedにデータを送信または通信する必要がある場合は、「APIアクション」と「APIトリガー」を使用できます。このカテゴリーでは以下のアクションが利用可能です:
- Websocketに送信
- OpenAIに送信
これらのアクションが「利用可能」または「使用可能」であるためには、設定タブ内にAPIキーを入力する必要があります。

Websocketに送信アクション

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

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

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

必要な情報がすべて提供されたとき、このイベントがどのように機能するかの実例は次の通りです:

この機能を利用している方法を理解し、それが実際にどのように機能するかを確認するために、このコンタクトフォームを送信してデモをリクエストしてください。
注: また、このウォークスルーを参照して、ChatGPTを統合した研究を段階的に作成し、このアクションを利用する方法を学んでください。
「OpenAIに送信」アクションに含まれるフィールドの詳細説明は以下の通りです:
| メニュー項目 | メニューエリア | 「OpenAIに送信」アクションのオプション |
|---|---|---|
モデルタイプ | ![]() | |
チャット履歴データフレーム | ![]() | 2つの列を持つデータフレーム変数へのリンク。最初の列は「役割」を示し、2番目の列は「チャットメッセージ」を示します。アクションからの値は、ここにリンクされたデータフレームに自動的に追加されます。 データフレームはデータフレームアクションで操作することもできます。さらなる参考として、OpenAIのドキュメントを参照してください。 |
メッセージを挿入 ‘+’ | ![]() | これをクリックすると、変数ダイアログボックスが表示されます。OpenAIに送信される「変数」値および関連するメッセージの「役割」を指定する必要があります:
|
OpenAIは日々進化しているため、さらなる明確化のためにOpenAIのドキュメントを確認してください。
コードアクション
一部のケースでは、実験にカスタムコードを使用する必要があります。これらのアクションを使用することで、そのようにできます!「コードアクション」メニューでは、以下のオプションが利用可能です:
- JavaScriptを実行
- グローバルCSSを設定

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

上記の「JavaScriptを実行」アクションが選択されると、JavaScriptコードを記述すべきエリア(コードエディタ)が表示され、どのように使用するかについての指示も表示されます:

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

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

「グローバルCSSの設定」アクションを使用する例としては、参加者が特定の色を選択したときに研究の背景色を変更することが挙げられます。
ペーストアクション
このオプションでは、以前に作成してコピーしたアクションをペーストすることができます。これにより、実験を設計する際に同じアイテムを繰り返し選択する必要がなくなるため、作業を迅速に行えるようになります。たとえば、既存のイベントに似たイベントがある場合は、それをコピーしてペーストし、修正するだけで済み、最初から構築する必要がありません。
値選択メニュー
特定のイベントで作業していると、ペンのアイコンが表示されることに気付くでしょう。これは「値選択メニュー」と呼ばれ、記録または追跡する必要のある値の種類を選択して指示することができます。実験設計および設定のために使用することになる非常に強力で重要なオプションです。
このペンのアイコン/値選択メニューは、イベントシステム内の特定のアクションのさまざまな場所に表示されます。たとえば、設定/変数を記録するアクション、オブジェクトプロパティを設定するアクション、および要件(If... Then)アクションなどに表示されます。

ペンのアイコンをクリックすると、読み取りまたは書き込むべき値を指定するドロップダウンメニューが表示されます。 ドロップダウンメニューは、最初にトリガー固有の値オプションをリストし、次に他の5つのカテゴリ(現在の時間、定数値、変数、フレーム/タスク/オプション、および演算)に進みます。これらすべてのカテゴリにはそれぞれのオプションがあります。 これらについては以下で詳しく説明します。

上の画像は、マウストリガーが使用されているときの値選択メニューの外観を示しています。左側の最初のメニュー項目はトリガー固有のカテゴリから始まり、その後、他の5つのカテゴリ(現在の時間など)に進みます。
メニューオプション
以下の表は、カテゴリとオプションをさらに詳しく説明しています:
| カテゴリ | オプション | 説明 |
|---|---|---|
トリガー固有 | あなたが以前にイベントのために選択したトリガータイプに依存します。 | イベントのために選択したトリガーに基づいて、値選択メニューの上部に特定のオプションのリストが表示されます。完全なオプションと説明のリストは、トリガー固有の値のセクションを参照してください。 |
現在の時間 | 時間の値を測定し、呼び出します。 | |
定数値 |
| 必要な変数のタイプに基づいて定数値を割り当てます。文字列や数値のように。これらは、時折算術などの他のオプションと組み合わせて使用され、カウンターを作成します。 |
変数 |
| 変数を指定または参照するか、配列またはデータフレームから値を選択します。 |
フレーム / タスク / オブジェクト |
| オブジェクトプロパティ、フレーム、眼球追跡(有効な場合)、およびデバイス(画面のリフレッシュレート)に関連付けられた値を取得します。 |
操作 |
| 変数の値を組み合わせたり、文字列をすべて小文字に変換したり、数学的な操作を実行したりするために指定された変更を行うために操作を使用します。 |
現在の時間の値
「現在の時間」オプションを使用すると、時間に関する値を記録または参照できます。
使用可能なオプションは以下の通りです:
現在の時間: UNIXタイムスタンプ
この値は、ミリ秒単位のUNIX形式のタイムスタンプを取得します。
現在の時間: フレームオ onsetからの時間
この値は、フレームオ onsetから経過した時間を取得します。多くの場合、これは反応時間と等しいです。
定数値
必要な変数のタイプに基づいて定数値を割り当てます。文字列や数値のように。これらは、時折算術などの他のオプションと組み合わせて使用され、カウンターを作成します。
使用可能なオプションは以下の通りです:
定数: 文字列
文字列/テキスト値を割り当てます。
定数: 数値
数値/数値値を割り当てます。
定数: ブール値
真または偽の値を割り当てます。
定数: カテゴリカル
レベル値(主に要因用)を割り当てます。
定数: 日付
日付値を割り当てます。
定数: 時間
時間値を割り当てます。
定数: 色
色(16進文字列)値を割り当てます。
変数の値
変数を指定または参照するか、配列またはデータフレームから値を選択します。以下のオプションが使用可能です:
変数を選択
変数を選択してポイントすることを可能にします。
配列から値を選択
配列から値を選択できます。
データフレームから値を選択
作成したデータフレームから値を選択できます。
フレーム / タスク / オブジェクトの値
オブジェクトプロパティ、フレーム、眼球追跡(有効な場合)、およびデバイス(画面のリフレッシュレート)に関連付けられた値を取得することができます。
オブジェクトプロパティ
オブジェクトプロパティを読み出します。
フレーム
| フレーム値オプション | 説明 |
|---|---|
最後にキャッシュされたマウスX位置 | 参加者のマウスの最後のX座標値。 |
最後にキャッシュされたマウスY位置 | 参加者のマウスの最後のY座標値。 |
最後にキャッシュされたマウス[X,Y]配列 | 参加者のマウスの最後の[X,Y]座標値を配列形式で取得します。 |
フレーム名 | フレームの名前。 |
眼球追跡
| 眼球追跡値オプション | 説明 |
|---|---|
最後にキャッシュされた座標X | 参加者の視線の最後のX座標値。 |
最後にキャッシュされた座標Y | 参加者の視線の最後のY座標値。 |
最後にキャッシュされた座標[X,Y]配列 | 参加者の視線の最後の[X,Y]座標値を配列形式で取得します。 |
最後にキャッシュされた座標+時間[X,Y,T]配列 | 参加者の視線の最後の[X,Y]座標値を、カメラキャプチャT値に加えた配列形式で取得します。 |
デバイス
- リフレッシュレート: 参加者のデバイスのリフレッシュレート値です。
操作
操作を使用して、変数値を組み合わせたり、文字列をすべて小文字に変換したり、数学的な操作を実行したりして、指定された変更を行います。
以下のオプションが使用可能です:
算術
算術操作は、文字列を結合したり、オブジェクトプロパティを修正したりするために役立ちます。

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

値はいくつかの異なる操作を使用して操作することができます:
- (+) 足し算
- (-) 引き算
- (/) 割り算
- (*) 乗算
- (%) モジュロ
以下の例は、算術操作を利用して新しい文字列変数(緑色のボタン)を作成する方法を示しています。 'intermediateVar'と呼びます。

新しい変数値('intermediateVar')は、既存の変数(つまり、'userChatName'と'chatInput')の組み合わせと、恒常的な文字列値(例えば、セミコロン:および改行<br>)を使用することによって定義されます。このアクションは、複数のユーザー研究で使用できるユーザーチャットの効果を作成します。
文字列操作
| 文字列操作オプション | 説明 |
|---|---|
小文字に変換 | 文字列変数内の全ての文字を小文字に変換します。 → 例: (AAABBB) は (aaabbb) に変換されます。 |
大文字に変換 | 文字列変数に含まれる全ての文字を大文字に変換します。 → 例: (aaabbb) は (AAABBB) に変換されます。 |
リンクに変換 | 変数内の文字列を別のウィンドウで開くURLに変換します。 |
空白を削除 | 文字列変数内の全ての文字の間にあるスペースを削除します。 → 例: (aaa bbbb cccc) は (aaabbbbccc) に変換されます。 |
空白をトリム | 文字列変数の先頭にあるスペースを削除します。 → 例: ( aaabbbcccc) は (aaabbbcccc) に変換されます。 |
部分文字列を正規表現で置換 | 文字列値変数内の特定の文字を置換します。 → 例: (aaabbbccc) は bbb を xxx に置換し、値を (aaaxxxccc) に変換します。 |
数学操作
スカラー値に対して数学演算を実行します。
| 数学操作オプション | 説明 |
|---|---|
絶対値 | 値の絶対数を返します。 |
平方根 | 値の平方根を返します。 |
丸め | 0から3桁の小数の丸めた値を返します。 |
フロア | 切り捨てた値を返します。 |
天井 | 切り上げた値を返します。 |
余弦 | コサイン値を返します。 |
正弦 | サイン値を返します。 |
正接 | タンジェント値を返します。 |
トリガー固有の値
トリガー固有の値とは、特定のイベント内で定義されたトリガーに関連付けられた値を指します。たとえば、イベントがマウストリガーを使用する場合、そのアクションが指定されている特定の領域では、設定/変数を記録アクションやオブジェクトプロパティを設定アクションの下でマウストリガー固有の値を参照できます。
以下の例では、マウストリガーのトリガー固有の値を使用してx-およびy値、そして[X,Y]配列を設定/変数を記録アクションを使用して記録しています。

以下は、Labvancedで見つけることができるトリガー固有の値のすべてのタイプを示す表で、それぞれのオプションの詳細な説明が続きます。
| 名称 | 値オプション - 概要 |
|---|---|
トリガー(マウス) |
|
トリガー(キーボード) |
|
トリガー(ボタンバー) |
|
トリガー(入力時のEnter) |
|
トリガー(スクロール) |
|
トリガー(ゲームパッド/ジョイスティック) |
|
トリガー(眼球追跡の視線) |
|
トリガー(眼球追跡の注視) |
|
トリガー(頭の動き追跡) |
|
トリガー(タスク初期化時) |
|
トリガー(フレーム初期化時) |
|
トリガー(フレーム開始時) |
|
トリガー(フレーム終了時) |
|
トリガー(変数の値が変更された) |
|
トリガー(メディアオブジェクトトリガー) |
|
トリガー(Websocketトリガー) |
|
トリガー(OpenAIトリガー) |
|
トリガー(グローバル実験イベント) |
|
トリガー(ユーザーが実験を離れた) |
|
トリガー(マウス)値
マウストリガーが使用される場合、以下のトリガー固有の値は、特定のアクションで作業するときに呼び出すことができます:

| トリガー(マウス)オプション | 説明 |
|---|---|
マウスX | フレーム座標における現在のマウスX位置を返します。 |
マウスY | 現在のマウスY位置をフレーム座標で返します。 |
マウス[X,Y]配列 | マウスの[X,Y]座標を配列形式で返します。 |
刺激名 | イベントを引き起こしたオブジェクトの名前(例: クリックされた画像)。 |
刺激情報 | イベントを引き起こしたオブジェクトの刺激情報。 |
トリガータイムスタンプ(Unix時間) | トリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームオ onsetの開始からトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(キーボード)値
キーボードトリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(キーボード)オプション | 説明 |
|---|---|
キーのID | トリガーとして押されたキーのID値。 |
トリガータイムスタンプ(Unix時間) | トリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームオ onsetの開始からトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(ボタンバー)値
ボタンクリックトリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(ボタンバー)オプション | 説明 |
|---|---|
刺激名 | イベントを引き起こしたボタンオブジェクトの名前。 |
刺激情報 | イベントを引き起こしたボタンオブジェクトの刺激情報。 |
トリガータイムスタンプ(Unix時間) | トリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームオ onsetの開始からトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(入力時のEnter)値
Enter on Inputトリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(入力時のEnter)オプション | 説明 |
|---|---|
キーのID | トリガーとして押されたキーのID値。 |
トリガータイムスタンプ(Unix時間) | トリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームオ onsetの開始からトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(スクロール)値
スクロールトリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(スクロール)オプション | 説明 |
|---|---|
刺激名 | イベントを引き起こしたボタンオブジェクトの名前。 |
刺激情報 | イベントを引き起こしたボタンオブジェクトの刺激情報。 |
スクロール位置X | イベントがトリガーされた時のマウスのスクロール位置X。 |
スクロール位置Y | イベントがトリガーされた時のマウスのスクロール位置Y。 |
トリガータイムスタンプ(Unix時間) | トリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームオ onsetの開始からトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(ゲームパッド/ジョイスティック)値
ゲームパッド/ジョイスティックトリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。

| トリガー(ゲームパッド/ジョイスティック)オプション | 説明 |
|---|---|
ゲームパッドデバイスID | 接続されたゲームパッドのIDまたは名前。 |
押されたキー(配列) | 押されたキー。 |
押されたまたは保持されたキー(配列) | 押されたまたは保持されたキー。 |
解放されたキー(配列) | 解放されたキー。 |
軸(配列) | 軸の値。 |
ゲームパッドのトリガータイムスタンプ(Unix時間) | Unix時間でのゲームパッドトリガーのタイムスタンプ。 |
トリガータイムスタンプ(Unix時間) | トリガーが発生した時のUnix時刻形式でのタイムスタンプ。 |
トリガー時間(フレームオ onsetから) | フレームの開始に関してトリガーが発生する時のUnix時間でのタイムスタンプ。 |
トリガー(眼球追跡の視線)値
眼球追跡の視線トリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。

| トリガー (眼球追跡の視線) オプション | 説明 |
|---|---|
座標X | 視線のX座標の値。 |
座標Y | 視線のY座標の値。 |
座標[X,Y]配列 | 視線のX,Y座標を配列形式で取得します。 |
刺激名 | 視線トリガーを引き起こした刺激の名前。 |
刺激情報 | 視線トリガーを引き起こした刺激の背後にある刺激情報。 |
カメラキャプチャ時間T | スナップショットが発生した正確な時間。Labvancedの眼球追跡パイプラインでは、カメラスナップショットが最初に発生し、その後アルゴリズムとニューラルネットワークが視線計算を実行します。したがって、カメラキャプチャ時間Tは初期スナップショットが発生した時のUNIXタイムスタンプです。私たちのウェブカメラベースの眼球追跡に関する技術については、ET技術ページを参照してください。 |
視線の信頼度C | この値は0から1の範囲であり、画像スナップショットにオープンな目があることに対する信頼度と確率を指し、基本的には「まばたき検出器」として機能します。詳細については、私たちの発表された査読論文を参照してください。 |
座標+時間[X,Y,T]配列 | 視線のx/y座標とカメラキャプチャ時間(T)のタイムスタンプを含む配列。 |
座標+時間+信頼度[X,Y,T,C]配列 | 視線のx/y座標、カメラキャプチャ時間(T)、および視線の信頼度(C)を含む配列。 |
トリガータイムスタンプ(Unix時間) | 視線トリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームオ onsetの開始から視線トリガーが発生するまでの経過時間をミリ秒単位で測定したもの。 |
トリガー(眼球追跡の注視)値
眼球追跡の注視トリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー (眼球追跡の注視)オプション | 説明 |
|---|---|
注視の重心X | 注視の中心点をX値として取得します。 |
注視の重心Y | 注視の中心点をY値として取得します。 |
注視時間 | 検出された注視の時間。 |
注視開始時間 | 検出された注視の開始時間。 |
注視終了時間 | 検出された注視の終了時間。 |
注視の分散 | 検出された注視内で視線値がどれくらい散らばっているかを示します。 |
刺激名 | イベントを引き起こしたボタンオブジェクトの名前。 |
刺激情報 | イベントを引き起こしたボタンオブジェクトの刺激情報。 |
[X,Y,Dur,Start,End,Disp] | 以下の配列: 注視の重心のxおよびy値、注視の持続時間、開始時間、終了時間、および分散値。 |
トリガータイムスタンプ(Unix時間) | トリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームオ onsetの開始から注視トリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(頭の動き追跡)値
頭の動き追跡トリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー (頭 の 動き追跡)オプション | 説明 |
|---|---|
カメラキャプチャ時間T | カメラがフレームをキャプチャした時、つまりフレームキャプチャが行われた時のUnixタイムスタンプです。これは、処理が行われる前の画像/フレームがキャプチャされた時間です。 |
頭の回転 | 左から右への頭の回転で、文献ではヨーと呼ばれています。 |
頭の傾き | 上から下への頭の傾きで、文献ではピッチと呼ばれています。 |
頭のロール | 左右に頭が回転する動きをキャプチャします。 |
頭の位置[X,Y,T]配列 | 頭の位置に関連する数値値をキャプチャします。これには頭の中心のxおよびy座標とタイムスタンプ変数(T)が含まれます。 |
鼻の位置[X,Y,T]配列 | 特に鼻の位置に関連する数値値をキャプチャします。これには、鼻の位置のxおよびy座標と測定が行われた時のタイムスタンプ変数(T)が含まれます。 |
鼻のベクトル[X,Y,Z,T]配列 | 鼻の先端からベクトルを投影することで機能し、参加者が画面に注意を向けているかどうかをテストするのに役立ちます(眼球追跡が有効でない研究にとって特に重要です)。したがって、鼻が画面外を向いている場合(つまり、参加者が実験に注意を向けていない場合)、Z値は1から0に近づきます。 |
トリガータイムスタンプ(Unix時間) | トリガーそのものが発生する実験中の時間点で、頭の動き追跡が検出されたときであり、システム内でトリガーが発生した時間を考慮します。基本的には、画像/フレームを処理する処理が行われる時間であり、この値は参加者のグラフィックスカードの影響を大きく受けます。理論的には、Tの値にできるだけ近いはずです。 |
トリガー時間(フレームオ onsetから) | トリガーが発生した時間の値であり、フレームの開始に関連しています。 |
トリガー(タスク初期化時)値
タスク初期化トリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(タスク初期化時)オプション | 説明 |
|---|---|
トリガータイムスタンプ(Unix時間) | タスクが初期化されたときのトリガーのUnixタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームの開始からトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(フレーム初期化時)値
フレーム初期化トリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(フレーム初期化時)オプション | 説明 |
|---|---|
試行番号 | フレーム初期化トリガーが発生した際の試行番号。 |
トリガータイムスタンプ(Unix時間) | トリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームの開始からトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(フレーム開始時)値
フレーム開始トリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(フレーム開始時)オプション | 説明 |
|---|---|
トリガータイムスタンプ(Unix時間) | トリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームの開始からトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(フレーム終了時)値
フレーム終了トリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(フレーム終了時)オプション | 説明 |
|---|---|
合計フレーム時間 | フレームで費やされた合計時間(ミリ秒単位)。 |
トリガータイムスタンプ(Unix時間) | トリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームの開始からトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(変数の値が変更された)値
変数値変更トリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(変数値変更)オプション | 説明 |
|---|---|
変数の新しい値 | 変数の新しい値を指します。 |
トリガータイムスタンプ(Unix時間) | 変数の変更トリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームの開始から変数の値が変更されるまでの時間をミリ秒単位で測定したもの。 |
トリガー(メディアオブジェクトトリガー)値
メディアオブジェクトトリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(メディアオブジェクトトリガー)オプション | 説明 |
|---|---|
トリガータイムスタンプ(Unix時間) | メディアオブジェクトトリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームの開始からメディアオブジェクトトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(Websocketトリガー)値
Websocketトリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(Websocketトリガー)オプション | 説明 |
|---|---|
メッセージ | 説明およびラベル付けに使用されるメッセージで、異なるタイプのデータをフィルタリングすることができます。 |
データ | 参加者の選択、タイムスタンプ、マウスのx/y座標など、さまざまなタイプのデータを保持する値。 |
トリガータイムスタンプ(Unix時間) | Websocketトリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームの開始からWebsocketトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(OpenAIトリガー)値
OpenAIトリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(OpenAIトリガー)オプション | 説明 |
|---|---|
Chat GPTの回答 | ChatGPTからの回答の値。 |
トリガータイムスタンプ(Unix時間) | OpenAIトリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームの開始からOpenAIトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(グローバル実験イベント)値
一時停止/実験を再開するトリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー(グローバル実験イベント)オプション | 説明 |
|---|---|
合計フレーム時間 | トリガー前に合計フレーム時間を指します。 |
グローバルイベントの理由 | 参加者が研究を離れたという理由など、トリガーの理由を示す文字列値。 |
トリガータイムスタンプ(Unix時間) | グローバルイベントトリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームの開始からグローバルイベントトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |
トリガー(ユーザーが実験を離れた)値
参加者がマルチユーザー研究を離れたトリガーが使用される場合、以下のトリガー固有の値を特定のアクションで呼び出すことができます。
| トリガー (ユーザー が 実験を離れた)オプション | 説明 |
|---|---|
残りの参加者数 | 研究に残っている参加者の数。 |
トリガータイムスタンプ(Unix時間) | ユーザーが実験を離れたトリガーが発生した時のUnix時刻形式でのタイムスタンプ(ミリ秒単位)。 |
トリガー時間(フレームオ onsetから) | フレームの開始からユーザーが実験を離れたトリガーが発生するまでの時間をミリ秒単位で測定したもの。 |














