スクリプトタブ(Script Tab)¶
スクリプトタブ は VoiceScriptPlayer の中核ロジックを担うシステム です。
プロジェクト内のすべてのイベント、インタラクション、アニメーション、UI、サウンドを
条件(Condition)と動作(Action) によって制御できます。
1. 基本インターフェース¶

| 項目 | 説明 |
|---|---|
| ① ドラッグでスクリプト追加 | インスタンススクリプトを作成してプロジェクトに追加します。 |
| ② グローバルスクリプト | 常に読み込まれるグローバルスクリプトを管理します。 |
| ③ インポート | 既存のスクリプトテンプレートを読み込みます。 |
| ④ 新規作成 | 新しいスクリプトテンプレートを作成します。 |
| ⑤ 編集 ✏️ | 選択したスクリプトをエディターで開きます。 |
| ⑥ 削除 🗑️ | 選択したスクリプトを一覧から削除します。 |
| ⑦ フォルダを開く 📂 | Asset/Trigger/ フォルダを直接開きます。 |
💡 補足:
グローバルスクリプトは常に存在しますが、「呼び出された場合のみ実行」オプションでテンプレートのように扱うこともできます。
2. スクリプトエディター¶

スクリプトエディターでは、条件(Condition) と 動作(Action) ブロックを自由に組み合わせ、
複雑なロジックを視覚的に構築できます。
🧭 上部パネル¶
| 項目 | 説明 |
|---|---|
| 名前(Name) | スクリプトの固有名を設定します。 |
| 説明(Description) | スクリプトの目的や機能を簡単にメモします。 |
| 一度だけ実行 | 一度だけ実行され、再度呼び出されません。 |
| 停止中も実行 | 一時停止中でも実行されます(メニューや設定画面で使用)。 |
| 呼び出された場合のみ実行 | 外部トリガーや他のスクリプトから呼び出された時のみ実行されます。 |
🧩 ローカル変数¶
| 機能 | 説明 |
|---|---|
| 追加(+) | スクリプト内で使用するローカル変数を追加します。 |
| 編集(✏️) | 変数名や初期値を変更します。 |
| 削除(🗑️) | 選択した変数を削除します。 |
💡 補足:
ローカル変数はそのスクリプト内でのみ有効で、
他のスクリプトやグローバル変数と競合しません。
3. 条件ブロック(Condition)¶
条件ブロックはスクリプトを 実行するかどうか を決定します。
複数の条件を組み合わせて 詳細なトリガーロジック を作成できます。
⚙️ 基本概念¶
- すべての条件が 真(True) の場合、接続された 動作(Action) ブロックが実行されます。
- 条件が複数ある場合は AND(かつ) 関係として評価されます。
- 分岐(Branch) ブロックを使用すると、条件の成立/不成立で異なる処理を設定できます。
- 詳細は 条件一覧 を参照してください。
🧩 例¶
| 状況 | 条件の例 |
|---|---|
| 特定のキー入力 | 「キー [Space] が押されたとき」 |
| 音声認識 | 「音声 [はじめて] が認識されたとき」 |
| 変数比較 | 「変数 [Score] が [100] 以上のとき」 |
| 字幕反応 | 「字幕に [Hello] が含まれるとき」 |
💡 ヒント:
条件は UI、サウンド、Live2D などのリソースとも連動可能です。
例:「現在のトラックが 1 で、字幕に特定の文が含まれている場合」など。
4. 動作ブロック(Action)¶
動作ブロックは、条件が満たされたときに実行される 実際の処理 を定義します。
サウンド再生、変数変更、トラック移動、UI表示など、
プロジェクト内のあらゆる動作を制御できます。
⚙️ 基本概念¶
- 動作は 上から下へ順番に 実行されます。
- Wait(待機) アクションを挿入して時間制御も可能です。
- ループと組み合わせて 繰り返し処理 を作ることもできます。
- 詳細は 動作一覧 を参照してください。
🧩 例¶
| 状況 | 動作の例 |
|---|---|
| サウンド再生 | 「サウンド [Voice01] を再生します。」 |
| トラック切替 | 「トラック [NextScene] に変更します。」 |
| 変数操作 | 「変数 [Volume] を +10 増加します。」 |
| UI 表示 | 「UI [OptionMenu] を ID [Main] で開きます。」 |
| Live2D 制御 | 「Live2D [Scene01] のアニメーション [smile] を再生します。」 |
💡 補足:
動作は時間ベースでも実行可能です。
例:「3 秒かけて変数を増加」「2 秒間アニメーションを切り替え」など。
5. 分岐ブロック(Branch)¶
分岐ブロックは 条件成立時 と 不成立時 の動作を分けます。
| 区分 | 説明 |
|---|---|
| 条件成立 | 条件が真(True)の場合に実行されます。 |
| 条件不成立 | 条件が偽(False)の場合に実行されます。 |
💡 複数の分岐を入れ子にすることで、複雑なイベントシナリオを表現できます。
6. ループブロック(Loop)¶
ループブロックは、指定した条件が真である間、特定の動作ブロックを 繰り返し実行 します。
| 項目 | 説明 |
|---|---|
| ループ条件 | 変数やイベント状態などを基準にループを継続します。 |
💡 「キーが押されている間動作を続ける」「字幕が出るまで待機する」などに便利です。
7. 条件と動作の組み合わせ¶

スクリプトは複数の条件と動作を組み合わせて動作します。
ブロックの順序はドラッグで変更でき、アイコンからコピー/カット/移動も可能です。
| アイコン | 機能 |
|---|---|
| ➕ | 新しい条件または動作を追加 |
| 🔀 | 分岐ブロックを追加(If / Else) |
| 🔁 | ループブロックを追加 |
| ✏️ | 編集 |
| ✂️ | カット |
| 📋 | コピー/貼り付け |
| 🗑️ | 削除 |
| ⬆️ / ⬇️ | 実行順を調整 |
⚙️ ヒント:
スクリプト構造は自由に編集でき、実行中でもデバッグが可能です。
8. グローバルスクリプトとインスタンススクリプト¶
| 種類 | 説明 |
|---|---|
| グローバルスクリプト | 常にロードされ、プロジェクト全体で適用されます。 |
| インスタンススクリプト | 特定のトラック、UI、イベントに紐づいて実行されます。 |
💡 使用例:
- グローバルスクリプト → HUD 更新、時間経過イベント
- インスタンススクリプト → 選択肢や特定演出の制御
9. スクリプト実行モード¶
| オプション | 説明 |
|---|---|
| 一度だけ実行 | 条件が成立したとき一度だけ実行。 |
| 呼び出された場合のみ実行 | 他のスクリプトやトリガーから呼び出されたときのみ実行。 |
| 停止中も実行 | 一時停止状態でも動作(メニューなどで使用)。 |
| 無限ループ | 条件が成立している間継続実行。 |
10. 条件一覧¶
スクリプト実行をトリガーする条件を定義します。
🖱️ キー入力関連¶
🔹 KeyDown¶
キー [Key] が押されているとき。
🔹 KeyUp¶
キー [Key] が離されたとき。
🔹 KeyPressed¶
キー [Key] が押下された瞬間(Down → Up)。
🗣️ 音声/字幕関連¶
🔹 SpeechRecognition¶
音声 [Text] が音量 [Volume]、精度 [Precision] 以上で認識されたとき。
🔹 SubtitleRecognition¶
字幕に [Text] が含まれているとき。
📊 ステータス/変数関連¶
🔹 VariableComparison¶
変数 [Variable] と [Value] を [Comparison] 条件で比較します。
🔹 CurrentTrack¶
現在のトラックが [Track] の場合。
🔹 CumAction¶
射精アクション [CumType] が発動したとき。
🔹 RestStatus¶
休憩状態が [Status] の場合。
🔹 EventStatus¶
イベント [EventType] が [EventStatus] の場合。
11. 動作一覧¶
条件成立時に実行される動作を定義します。
⏱️ 時間制御¶
🔹 WaitTime¶
[Seconds] 秒間待機します。
🔊 サウンド制御¶
🔹 PlaySound¶
サウンド [Sound] を再生します。左右音量:[LeftVolume] / [RightVolume]。
📦 変数/トラック制御¶
🔹 SetVariable¶
変数 [Variable] を [Modify] 方式で [Value] に変更します。
🔹 MoveTrack¶
トラックを [Track] に切り替えます。
🔹 SeekTime¶
現在のトラック時間を [Seconds] 秒に移動します。
💾 データ管理¶
🔹 Save / Load¶
状態を Slot:[Slot] に保存/読み込みします。
🔹 Close¶
プログラムを終了します。
🧩 UI 制御¶
🔹 OpenUI / CloseUI¶
UI [UI] を識別子 [Text] で開く/閉じます。
🔁 スクリプト制御¶
🔹 TriggerExec / ReturnScript¶
スクリプト [Trigger] を実行または終了します。
💦 アクション/イベント制御¶
🔹 CumActionExec¶
射精アクション [CumType] を強制発動します。
🔹 RestTime¶
[Seconds] 秒間休憩します。
🔹 StrokeExec¶
ストローク [Stroke] を [Seconds] 秒間実行します。
🎬 Live2D/Spine 制御¶
🔹 SpinePlayAnimation¶
Live2D [Live2D] の Spine [Model] にてアニメーション [Animation] を再生します。
🔹 SpineSetSkin¶
Spine [Model] のスキンを [Skin] に変更します。
⚙️ 補足:
すべての条件と動作はブロック形式で視覚的に構築できます。
12. ファイル構造¶
| 項目 | パス |
|---|---|
| グローバルスクリプト | Asset/Trigger/ |
⚠️ 注意:
スクリプトは必ずプロジェクト内に保存する必要があり、外部ファイルの参照はできません。