コマンド
標準スクリプトコマンドのAPIリファレンスです。サイドバーを使用して、利用可能なコマンド間をすばやく移動できます。
取り消し線はプライマリパラメーターを示し、太字は必須パラメーターを表します。その他のパラメーターは省略可能です。各パラメーターの扱いがわからない場合は、シナリオスクリプトガイド を参照してください。
次のパラメーターは、ほとんどのスクリプトコマンドでサポートされています。
| パラメーター | 型 | 説明 |
|---|---|---|
| if | string | コマンドを実行するかどうかを制御するブール値の シナリオ式。 |
| unless | string | コマンドを実行しないかどうかを制御するブール値の シナリオ式(if の逆)。 |
| wait | boolean | 次のコマンドを実行する前に、スクリプトプレイヤーが非同期コマンドの実行完了を待機するかどうか。 |
addChoice
指定されたID(またはデフォルト)の選択肢ハンドラーに 選択肢 を追加します。@choice の代わりに使用すると、選択肢を動的に追加でき、再生をいつ停止するか(または停止するかどうか)をより細かく制御できます。
注意
選択肢の下にコマンドをネストする場合、goto、gosub、および set パラメーターは無視されます。
| パラメーター | 型 | 説明 |
|---|---|---|
| choiceSummary | string | 選択肢として表示するテキスト。テキストにスペースが含まれる場合は、二重引用符(")で囲んでください。テキスト自体に二重引用符を含める場合は、エスケープしてください。 |
| id | string | 選択肢の一意の識別子。後で @clearChoice に指定すると、その選択肢を削除できます。 |
| lock | string | プレイヤーが選択できないように選択肢を無効にするかどうか。詳細については、選択肢ドキュメント を参照してください。デフォルトではロックされません。 |
| button | string | 選択肢を表す ボタンプレハブ のローカルリソースパス。プレハブには、ルートオブジェクトに ChoiceHandlerButton コンポーネントがアタッチされている必要があります。指定しない場合はデフォルトのボタンを使用します。 |
| pos | number list | 選択肢ハンドラー内の選択肢ボタンのローカル位置(ハンドラーの実装でサポートされている場合)。 |
| handler | string | 選択肢を追加する選択肢ハンドラーのID。指定しない場合はデフォルトのハンドラーを使用します。 |
| goto | string | プレイヤーが選択肢を選択したときに移動するパス。パス形式については @goto コマンドを参照してください。選択肢の下にコマンドをネストする場合、無視されます。 |
| gosub | string | プレイヤーが選択肢を選択したときに移動するサブルーチンのパス。パス形式については @gosub コマンドを参照してください。goto が割り当てられている場合、このパラメーターは無視されます。選択肢の下にコマンドをネストする場合、無視されます。 |
| set | string | プレイヤーが選択肢を選択したときに実行するセット式。構文については @set コマンドを参照してください。選択肢の下にコマンドをネストする場合、無視されます。 |
| show | boolean | 選択肢が追加された選択肢ハンドラーも表示するかどうか。デフォルトで有効です。 |
| time | number | フェードイン(表示)アニメーションの時間(秒単位)。 |
; クイックタイムイベント:プレイヤーが3秒以内に選択しない限りゲームオーバー。
今すぐ決めて![>]
@addChoice "左に曲がる" goto:Left
@addChoice "右に曲がる" goto:Right
@wait 3
@clearChoice
クラッシュしてしまった!
; ランダムな選択肢を追加し、プレイヤーが選択するまで再生を停止します。
@random
@addChoice "最高の選択肢"
最高の選択肢を選びました!
@addChoice "平凡な選択肢"
平凡な選択肢を選びました。
@addChoice "最悪の選択肢"
最悪の選択肢を選びました...
@stopappend
指定されたテキストをテキストプリンターに追加します。
注意
テキスト全体は、表示エフェクトをトリガーせずに即座に追加されます。
| パラメーター | 型 | 説明 |
|---|---|---|
| text | string | 追加するテキスト。 |
| printer | string | 使用するプリンターアクターのID。指定しない場合はデフォルトのものを使用します。 |
| author | string | 追加されたテキストに関連付けるアクターのID。 |
; 文の最初の部分を通常どおり(徐々に)表示し、
; 次に文の終わりを一度に追加します。
吾輩は猫である。
@append "名前はまだ無い。"arrange
指定されたキャラクターをX軸に沿って配置します。パラメーターが指定されていない場合、表示されているキャラクターをX軸に沿って均等に配置する自動配置を実行します。
| パラメーター | 型 | 説明 |
|---|---|---|
| characterPositions | named number list | キャラクターIDとシーンのX軸位置を対応付ける名前付き値のコレクション。位置はシーンの左境界からの距離をパーセンテージで表します。位置0はシーンの左境界、100は右境界に対応し、50は中央です。 |
| look | boolean | 自動配置を実行するときに、キャラクターの視線もシーンの原点に向けるかどうかを制御します(デフォルトで有効)。 |
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; 表示されているすべてのキャラクターを均等に配置します。
@arrange
; キャラクターID「Jenna」を15%、「Felix」を50%、「Mia」を85%の位置に配置します
; (シーンの左端からの距離)。
@arrange Jenna.15,Felix.50,Mia.85async
メインのシナリオ再生ルーチンと並行して、専用のスクリプトトラックでネストされた行を非同期に実行します。複合アニメーションや任意のコマンドチェーンを、後続のシナリオと同時に実行するために使用します。詳細については、並行再生 ガイドを参照してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| trackId | string | ネストされた行の実行を担当するスクリプトトラックの一意の識別子。指定したIDを @await または @stop に渡すと、非同期トラックの再生完了を待機したり、再生を停止したりできます。 |
| loop | boolean | @stop で停止されるまで、ネストされた行をループで再生するかどうか。 |
; カメラを3つのポイント間でゆっくりパンします。
@async CameraPan
@camera offset:4,1 zoom:0.5 time:3 wait!
@camera offset:,-2 zoom:0.4 time:2 wait!
@camera offset:0,0 zoom:0 time:3 wait!
; 上記のアニメーションが独立して実行されている間、以下のテキストが表示されます。
...
; カメラを再度変更する前に、パンアニメーションが完了していることを確認します。
@await CameraPan
@camera zoom:0.7
; 「Quake」非同期タスクをループで実行します。
@async Quake loop!
@spawn Pebbles
@shake Camera
@wait { random(3,10) }
...
; タスクを停止します。
@stop Quakeawait
指定された非同期タスクまたはすべてのネストされた行の実行が完了するまで、シナリオの再生を一時停止します。
注意
ネストされたブロックは必ず終了することを前提としています。ブロックの外に移動する可能性のあるコマンドをネストしないでください。未定義の動作が発生する可能性があります。
| パラメーター | 型 | 説明 |
|---|---|---|
| trackId | string | 待機する非同期スクリプトトラックの識別子。@async コマンドで開始されたトラックの完了を待機するために使用できます。 |
| complete | boolean | 待機対象のトラックをできるだけ早く強制完了するかどうか。ネストされた行を待機している場合は効果がありません。 |
; ネストされた行を並行して実行し、すべてが完了するまで待機します。
@await
@back RainyScene
@bgm RainAmbient
@camera zoom:0.5 time:3
雨が降り始めた...[>]
; 次の行は、上記がすべて完了した後に実行されます。
...
; カメラを2つのポイント間でゆっくりパンします。
@async CameraPan
@camera offset:4,1 zoom:0.5 time:3 wait!
@camera offset:,-2 zoom:0.4 time:2 wait!
...
; カメラを再度変更する前に、アニメーションが完了していることを確認します。
@await CameraPan complete!
@camera zoom:0back
背景アクター を変更します。
注意
背景は、従来のVNゲームフローによりよく対応するために、キャラクターとは少し異なる方法で処理されます。ほとんどの場合、シーンには1つの背景アクターしかなく、そのアクターが次々と異なる外観へ遷移していくことになるでしょう。スクリプトで同じアクターIDを繰り返す手間を省くために、MainBackground アクターが対象であるとみなして、背景の外観とトランジションタイプ(オプション)のみをプライマリパラメーターとして指定できます。別の背景アクターを対象にする場合は、id パラメーターでIDを明示的に指定できます。
| パラメーター | 型 | 説明 |
|---|---|---|
| appearanceAndTransition | named string | 変更対象の背景に設定する外観(または ポーズ)と、使用する トランジションエフェクト のタイプ。トランジションが指定されていない場合、デフォルトでクロスフェード効果が使用されます。 |
| pos | number list | 変更対象のアクターに設定する位置(シーン境界に対する相対的なパーセンテージ)。位置は次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。正投影モードで深度によって移動(ソート)するには、Z成分(3番目のメンバー、例:,,10)を使用します。 |
| id | string | 変更するアクターのID。表示されているすべてのアクターに影響を与えるには * を指定します。 |
| appearance | string | 変更対象のアクターに設定する外観。 |
| pose | string | 変更対象のアクターに設定するポーズ。 |
| via | string | 使用する トランジションエフェクト のタイプ(デフォルトではクロスフェードが使用されます)。 |
| params | number list | トランジションエフェクトのパラメーター。 |
| dissolve | string | カスタムディゾルブ テクスチャへのパス(パスは「Resources」フォルダーに対する相対パスである必要があります)。トランジションが Custom モードに設定されている場合にのみ効果があります。 |
| visible | boolean | 変更対象のアクターに設定する可視性ステータス。 |
| wpos | number list | 変更対象のアクターに設定する位置(ワールド空間)。正投影モードで深度によって移動(ソート)するには、Z成分(3番目のメンバー)を使用します。 |
| roll | number | 変更対象のアクターに設定するZ軸回転。rotation パラメーターの3番目の成分と同じです。rotation が指定されている場合は無視されます。 |
| rotation | number list | 変更対象のアクターに設定する回転。 |
| scale | number list | 変更対象のアクターに設定するスケール。 |
| tint | string | 適用する色合い。# で始まる文字列は、次の方法で16進数として解析されます:#RGB(RRGGBB になります)、#RRGGBB、#RGBA(RRGGBBAA になります)、#RRGGBBAA。アルファが指定されていない場合、デフォルトは FF になります。# で始まらない文字列は、リテラルカラーとして解析され、次の色がサポートされています:red, cyan, blue, darkblue, lightblue, purple, yellow, lime, fuchsia, white, silver, grey, black, orange, brown, maroon, green, olive, navy, teal, aqua, magenta。 |
| easing | string | 適用する イージング関数 の名前。指定しない場合、構成で設定されたデフォルトの関数を使用します。 |
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; 「River」をメイン背景の外観として設定します。
@back River
; 上記と同じですが、「RadialBlur」トランジションエフェクトも使用します。
@back River.RadialBlur
; 「Smoke」背景を画面の中央に配置し、
; 元のサイズの50%にスケーリングします。
@back id:Smoke pos:50,50 scale:0.5
; シーン上の表示されているすべての背景に色合いを付けます。
@back id:* tint:#ffdc22bgm
指定された名前の BGM(背景音楽) トラックを再生するか、現在再生中のトラックを変更します。
注意
音楽トラックはデフォルトでループされます。音楽トラック名(path)が指定されていない場合、現在再生中のすべてのトラックに影響します。すでに再生中のトラックに対して呼び出された場合、再生は影響を受けません(トラックは最初から再生されません)が、指定されたパラメーター(音量とトラックがループされるかどうか)が適用されます。
| パラメーター | 型 | 説明 |
|---|---|---|
| intro | string | メイントラックの前に一度だけ再生するイントロ音楽トラックへのパス(loop パラメーターの影響を受けません)。 |
| group | string | オーディオを再生するときに使用するオーディオミキサー グループパス。 |
| loop | boolean | 再生が終了したときに、停止されるまで最初から繰り返すかどうか。 |
| volume | number | オーディオ再生の音量(0.0〜1.0の範囲)。1.0がデフォルトであることに注意してください。クリッピングなしにデジタルオーディオを0 dBFS基準より大きく再生することはできません。 |
| pitch | number | 再生の知覚上の周波数(速度)。-3.0〜3.0 の範囲で、1.0が通常の速度です。負の値はオーディオを逆再生します。 |
| pos | number list | オーディオソースの位置(シーン境界に対する相対的なパーセンテージ)。位置は次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。Z成分(3番目のメンバー、例:,,10)を使用して深度を変更します。 |
| wpos | number list | オーディオソースの位置(ワールド空間)。pos と wpos のどちらも指定しない場合、空間モードは無効になります。 |
| wait | boolean | オーディオの再生が終わるまで待ってから次のコマンドを実行するかどうか。ループ再生時は効果がありません。 |
| path | string | オーディオリソースのローカルパス(名前)。 |
| easing | string | 適用する イージング関数 の名前。指定しない場合、構成で設定されたデフォルトの関数を使用します。 |
| fade | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| waitFade | boolean | 次のコマンドを実行する前に、フェードの完了を待機するかどうか。 |
; 「Sanctuary」という名前の音楽トラックのループ再生を開始します。
@bgm Sanctuary
; 上記と同じですが、10秒かけて音量をフェードインし、一度だけ再生します。
@bgm Sanctuary fade:10 !loop
; 再生中のすべての音楽トラックの音量を2.5秒かけて50%に変更し、
; ループ再生にします。
@bgm volume:0.5 loop! fade:2.5
; 「BattleThemeIntro」を一度再生し、その後「BattleThemeMain」をループします。
@bgm BattleThemeMain intro:BattleThemeIntroblur
サポートされているアクター(スプライト、レイヤー、ダイススプライト、ユニバーサル、Live2D、Spine、ビデオ、プレースホルダー、シーン実装の背景とキャラクター)に ぼかし効果 を適用します。
注意
効果をサポートするには、アクターが IBlurable インターフェースを実装している必要があります。
| パラメーター | 型 | 説明 |
|---|---|---|
| actorId | string | 効果を適用するアクターのID。同じIDを持つ複数のアクターが見つかった場合(例:キャラクターとプリンター)、最初に見つかったものにのみ影響します。指定しない場合、メイン背景に適用されます。 |
| power | number | 効果の強度(0.0〜1.0の範囲)。デフォルトは0.5。0に設定すると、効果が無効(デスポーン)になります。 |
| time | number | パラメーターが目標値に到達するまでにかかる時間(秒単位)。デフォルトは1.0。 |
| wait | boolean | 次のコマンドを実行する前に、効果のウォームアップアニメーションの完了を待機するかどうか。 |
; デフォルトのパラメーターでメイン背景をぼかします。
@blur
; メイン背景からぼかしを削除します。
@blur power:0
; 「Kohaku」アクターを最大強度で5秒かけてぼかします。
@blur Kohaku power:1 time:5
; 「Kohaku」から3.1秒かけてぼかしを削除します。
@blur Kohaku power:0 time:3.1bokeh
被写界深度(別名ボケ)効果をシミュレートします。焦点の合っているオブジェクトのみが鮮明に保たれ、他のオブジェクトはぼやけます。
| パラメーター | 型 | 説明 |
|---|---|---|
| focus | string | 焦点を設定するゲームオブジェクトの名前(オプション)。設定すると、焦点は常にゲームオブジェクトにとどまり、dist パラメーターは無視されます。 |
| dist | number | Naninovelカメラから焦点までの距離(ユニット単位)。focus パラメーターが指定されている場合は無視されます。デフォルトは10。 |
| power | number | 焦点が合っていない領域に適用するぼかしの量。焦点の感度も決定します。デフォルトは3.75。0に設定すると、効果が無効(デスポーン)になります。 |
| time | number | パラメーターが目標値に到達するまでにかかる時間(秒単位)。デフォルトは1.0。 |
| wait | boolean | 次のコマンドを実行する前に、効果のウォームアップアニメーションの完了を待機するかどうか。 |
; デフォルト値で効果を有効にし、「Kohaku」ゲームオブジェクトに焦点をロックします。
@bokeh focus:Kohaku
; 10秒かけて効果をフェードアウト(無効化)します。
@bokeh power:0 time:10
; 焦点をカメラから10ユニット離れた場所に設定し、
; 焦点距離を0.95にし、3秒かけて適用します。
@bokeh dist:10 power:0.95 time:3camera
メインカメラを変更し、オフセット、ズームレベル、回転、カメラ効果を時間をかけて変化させます。コマンドの効果の簡単なデモンストレーションについては、このビデオ を確認してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| offset | number list | X、Y、Z軸方向のローカルカメラ位置オフセット(ユニット単位)。 |
| roll | number | Z軸まわりのローカルカメラ回転(度単位、0.0〜360.0または-180.0〜180.0)。rotation パラメーターの3番目の成分と同じです。rotation が指定されている場合は無視されます。 |
| rotation | number list | X、Y、Z軸まわりのローカルカメラ回転(度単位、0.0〜360.0または-180.0〜180.0)。 |
| zoom | number | 相対カメラズーム(レンダリングモードに応じて、正投影サイズまたは視野)。0.0(ズームなし)から1.0(フルズーム)の範囲。 |
| ortho | boolean | カメラを正投影(true)モードでレンダリングするか、透視投影(false)モードでレンダリングするか。 |
| fx | named number list | カメラ効果のVolumeプロファイル名と、そのターゲットウェイトのマッピング。0では影響がなく、1で完全に適用されます。 |
| easing | string | 適用する イージング関数 の名前。指定しない場合、構成で設定されたデフォルトの関数を使用します。 |
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; カメラをX軸方向に-3ユニット、Y軸方向に1.5ユニットオフセットします。
@camera offset:-3,1.5
; カメラを透視投影モードに設定し、50%ズームインして5ユニット後退させます。
@camera !ortho offset:,,-5 zoom:0.5
; カメラを正投影モードに設定し、時計回りに10度回転させます。
@camera ortho! roll:10
; オフセット、ズーム、回転を5秒かけて同時にアニメーション化します。
@camera offset:-3,1.5 zoom:0.5 roll:10 time:5
; カメラを即座にデフォルト状態にリセットします。
@camera offset:0,0 zoom:0 rotation:0,0,0 time:0
; 「Dream」カメラ効果のVolumeをウェイト1.0までフェードインします。
@camera fx:Dream.1
; 「Dream」から「Night」のカメラ効果Volumeへ3秒かけてクロスフェードします。
@camera fx:Dream.0,Night.1 time:3char
キャラクターアクター を変更します。
| パラメーター | 型 | 説明 |
|---|---|---|
| idAndAppearance | named string | 変更するキャラクターのID(表示されているすべてのキャラクターに影響を与えるには * を指定)と設定する外観(または ポーズ)。外観が指定されていない場合、Default(存在する場合)またはランダムなものが使用されます。 |
| look | string | アクターの視線方向。サポートされている値:left, right, center。 |
| avatar | string | キャラクターに割り当てる アバターテクスチャ の名前(パス)。キャラクターからアバターテクスチャを削除(割り当て解除)するには none を使用します。 |
| pos | number list | 変更対象のアクターに設定する位置(シーン境界に対する相対的なパーセンテージ)。位置は次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。正投影モードで深度によって移動(ソート)するには、Z成分(3番目のメンバー、例:,,10)を使用します。 |
| id | string | 変更するアクターのID。表示されているすべてのアクターに影響を与えるには * を指定します。 |
| appearance | string | 変更対象のアクターに設定する外観。 |
| pose | string | 変更対象のアクターに設定するポーズ。 |
| via | string | 使用する トランジションエフェクト のタイプ(デフォルトではクロスフェードが使用されます)。 |
| params | number list | トランジションエフェクトのパラメーター。 |
| dissolve | string | カスタムディゾルブ テクスチャへのパス(パスは「Resources」フォルダーに対する相対パスである必要があります)。トランジションが Custom モードに設定されている場合にのみ効果があります。 |
| visible | boolean | 変更対象のアクターに設定する可視性ステータス。 |
| wpos | number list | 変更対象のアクターに設定する位置(ワールド空間)。正投影モードで深度によって移動(ソート)するには、Z成分(3番目のメンバー)を使用します。 |
| roll | number | 変更対象のアクターに設定するZ軸回転。rotation パラメーターの3番目の成分と同じです。rotation が指定されている場合は無視されます。 |
| rotation | number list | 変更対象のアクターに設定する回転。 |
| scale | number list | 変更対象のアクターに設定するスケール。 |
| tint | string | 適用する色合い。# で始まる文字列は、次の方法で16進数として解析されます:#RGB(RRGGBB になります)、#RRGGBB、#RGBA(RRGGBBAA になります)、#RRGGBBAA。アルファが指定されていない場合、デフォルトは FF になります。# で始まらない文字列は、リテラルカラーとして解析され、次の色がサポートされています:red, cyan, blue, darkblue, lightblue, purple, yellow, lime, fuchsia, white, silver, grey, black, orange, brown, maroon, green, olive, navy, teal, aqua, magenta。 |
| easing | string | 適用する イージング関数 の名前。指定しない場合、構成で設定されたデフォルトの関数を使用します。 |
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; ID「Sora」のキャラクターをデフォルトの外観で表示します。
@char Sora
; 上記と同じですが、外観を「Happy」に設定します。
@char Sora.Happy
; 上記と同じですが、さらにキャラクターをシーンの左端から45%、
; 下端から10%離れた位置に配置し、
; 左を向かせます。
@char Sora.Happy look:left pos:45,10
; Soraを中央下、Felixの手前に表示します。
@char Sora pos:50,0,-1
@char Felix pos:,,0
; シーン上の表示されているすべてのキャラクターに色合いを付けます。
@char * tint:#ffdc22choice
必須の 選択肢 を追加します。これにより、プレイヤーが選択を行うまで、それ以降のシナリオ再生が停止します。後続の選択肢コマンドはマージされ、一度に複数の選択肢を提示できます。再生を続行する前に選択を要求せず、単に選択肢を追加する場合は、このコマンドの代わりに @addChoice を使用してください。
注意
選択肢の下にコマンドをネストする場合、goto、gosub、および set パラメーターは無視されます。
| パラメーター | 型 | 説明 |
|---|---|---|
| choiceSummary | string | 選択肢として表示するテキスト。テキストにスペースが含まれる場合は、二重引用符(")で囲んでください。テキスト自体に二重引用符を含める場合は、エスケープしてください。 |
| id | string | 選択肢の一意の識別子。後で @clearChoice に指定すると、その選択肢を削除できます。 |
| lock | string | プレイヤーが選択できないように選択肢を無効にするかどうか。詳細については、選択肢ドキュメント を参照してください。デフォルトではロックされません。 |
| button | string | 選択肢を表す ボタンプレハブ のローカルリソースパス。プレハブには、ルートオブジェクトに ChoiceHandlerButton コンポーネントがアタッチされている必要があります。指定しない場合はデフォルトのボタンを使用します。 |
| pos | number list | 選択肢ハンドラー内の選択肢ボタンのローカル位置(ハンドラーの実装でサポートされている場合)。 |
| handler | string | 選択肢を追加する選択肢ハンドラーのID。指定しない場合はデフォルトのハンドラーを使用します。 |
| goto | string | プレイヤーが選択肢を選択したときに移動するパス。パス形式については @goto コマンドを参照してください。選択肢の下にコマンドをネストする場合、無視されます。 |
| gosub | string | プレイヤーが選択肢を選択したときに移動するサブルーチンのパス。パス形式については @gosub コマンドを参照してください。goto が割り当てられている場合、このパラメーターは無視されます。選択肢の下にコマンドをネストする場合、無視されます。 |
| set | string | プレイヤーが選択肢を選択したときに実行するセット式。構文については @set コマンドを参照してください。選択肢の下にコマンドをネストする場合、無視されます。 |
| show | boolean | 選択肢が追加された選択肢ハンドラーも表示するかどうか。デフォルトで有効です。 |
| time | number | フェードイン(表示)アニメーションの時間(秒単位)。 |
; テキストを表示し、すぐに選択肢を表示して、
; いずれかの選択肢が選択されるまで再生を停止します。
このスクリプトの実行を続けますか、それとも...?[>]
@choice "続ける"
@choice "別のスクリプトを最初からロードする" goto:Another
@choice "別のスクリプトを \"Label\" ラベルからロードする" goto:Another#Label
@choice "別のスクリプトの \"Sub\" サブルーチンに移動する" gosub:Another#Sub
; 選択肢に基づいてシナリオ変数を設定します。
@choice "控えめなので、1つで十分です..." set:score++
@choice "2つください。" set:score=score+2
@choice "在庫を全部もらいます!" set:karma--,score=999
; 選択肢が選択されたときに効果音を再生し、キャラクターを配置します。
@choice "整列させる"
@sfx Click
@arrange k.10,y.55
; 選択された選択肢に対応するテキスト行を表示します。
@choice "色について尋ねる"
好きな色は何?
@choice "年齢について尋ねる"
何歳?
@choice "黙っている"
...
; 「score」変数が10未満の場合、選択肢を無効/ロックします。
@choice "追加のオプション" lock:score<10
; 「score」変数が10以上の場合にのみ、選択肢を表示します。
@choice "秘密のオプション" if:score>=10choiceHandler
選択肢ハンドラーアクター を変更します。
| パラメーター | 型 | 説明 |
|---|---|---|
| handlerId | string | 変更する選択肢ハンドラーアクターのID。指定しない場合はデフォルトのものを使用します。 |
| default | boolean | 選択肢ハンドラーをデフォルトにするかどうか。handler パラメーターが指定されていない場合、デフォルトのハンドラーがすべての選択肢関連コマンドの対象になります。 |
| id | string | 変更するアクターのID。表示されているすべてのアクターに影響を与えるには * を指定します。 |
| appearance | string | 変更対象のアクターに設定する外観。 |
| pose | string | 変更対象のアクターに設定するポーズ。 |
| via | string | 使用する トランジションエフェクト のタイプ(デフォルトではクロスフェードが使用されます)。 |
| params | number list | トランジションエフェクトのパラメーター。 |
| dissolve | string | カスタムディゾルブ テクスチャへのパス(パスは「Resources」フォルダーに対する相対パスである必要があります)。トランジションが Custom モードに設定されている場合にのみ効果があります。 |
| visible | boolean | 変更対象のアクターに設定する可視性ステータス。 |
| wpos | number list | 変更対象のアクターに設定する位置(ワールド空間)。正投影モードで深度によって移動(ソート)するには、Z成分(3番目のメンバー)を使用します。 |
| roll | number | 変更対象のアクターに設定するZ軸回転。rotation パラメーターの3番目の成分と同じです。rotation が指定されている場合は無視されます。 |
| rotation | number list | 変更対象のアクターに設定する回転。 |
| scale | number list | 変更対象のアクターに設定するスケール。 |
| tint | string | 適用する色合い。# で始まる文字列は、次の方法で16進数として解析されます:#RGB(RRGGBB になります)、#RRGGBB、#RGBA(RRGGBBAA になります)、#RRGGBBAA。アルファが指定されていない場合、デフォルトは FF になります。# で始まらない文字列は、リテラルカラーとして解析され、次の色がサポートされています:red, cyan, blue, darkblue, lightblue, purple, yellow, lime, fuchsia, white, silver, grey, black, orange, brown, maroon, green, olive, navy, teal, aqua, magenta。 |
| easing | string | 適用する イージング関数 の名前。指定しない場合、構成で設定されたデフォルトの関数を使用します。 |
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; 「ButtonArea」選択肢ハンドラーをデフォルトにします。
@choiceHandler ButtonArea default!clearBacklog
プリンターバックログ からすべてのメッセージを削除します。
; 表示されたテキストはバックログから削除されます。
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。
@clearBacklogclearChoice
指定されたIDの選択肢ハンドラーから現在の選択肢を削除し、必要に応じてハンドラーも非表示にします。IDを省略した場合はデフォルトのハンドラー、* を指定した場合は既存のすべてのハンドラーが対象になります。
| パラメーター | 型 | 説明 |
|---|---|---|
| handlerId | string | クリアする選択肢ハンドラーのID。指定しない場合はデフォルトのハンドラーを使用します。既存のすべてのハンドラーをクリアするには * を指定します。 |
| id | string | 削除する特定の選択肢の識別子。指定しない場合はすべての選択肢を削除します。 |
| hide | boolean | 影響を受ける選択肢ハンドラーも非表示にするかどうか。 |
; プレイヤーに2秒間選択の時間を与えます。
2秒以内に答えてください![>]
@addChoice "猫" set:response="猫"
@addChoice "犬" set:response="犬"
@set response="None"
@wait 2
@clearChoice
@unless response="None"
{response}、ですか?
@else
時間切れです!despawn
@spawn コマンドでスポーンされたオブジェクトを破棄します。
注意
プレハブのルートオブジェクトに MonoBehaviour コンポーネントがアタッチされており、そのコンポーネントが IParameterized インターフェースを実装している場合、オブジェクトを破棄する前に指定された params 値を渡します。コンポーネントが IAwaitable インターフェースを実装している場合、コマンドの実行は、実装によって返された非同期完了タスクを待機してからオブジェクトを破棄します。
| パラメーター | 型 | 説明 |
|---|---|---|
| path | string | 破棄するプレハブリソースの名前(パス)。同じパラメーターを指定した @spawn コマンドが事前に実行されていることを前提としています。 |
| params | string list | プレハブを破棄する前に設定するパラメーター。プレハブのルートオブジェクトに IParameterized コンポーネントがアタッチされている必要があります。 |
| wait | boolean | スポーンされたオブジェクトが IAwaitable インターフェースを実装している場合に、時間をかけて破棄される間待機するかどうか。 |
; 以前に「@spawn Rainbow」コマンドが実行されたと仮定して、それをデスポーン(破棄)します。
@despawn RainbowdespawnAll
@spawn コマンドでスポーンされたすべてのオブジェクトを破棄します。現在スポーンされているすべてのオブジェクトに対して @despawn を呼び出すのと同じです。
| パラメーター | 型 | 説明 |
|---|---|---|
| wait | boolean | スポーンされたオブジェクトが IAwaitable インターフェースを実装している場合に、時間をかけて破棄される間待機するかどうか。 |
@spawn Rainbow
@spawn SunShafts
; RainbowとSunShaftsの両方をデスポーン(破棄)します。
@despawnAllelse
条件付き実行ブロックの分岐を示します。この分岐は、ブロックを開始する @if または @unless、および先行する @else(ある場合)コマンドの条件が満たされない場合に実行されます。使用例については、条件付き実行 ガイドを参照してください。
endIf
条件ブロックでインデントを使用する代わりの方法です。インデントに関係なく、前の @if コマンドで開始されたブロックの終わりを示します。使用例については、条件付き実行 ガイドを参照してください。
enterDialogue
レンダリングや入力処理などのNaninovelの処理を有効にして、ダイアログモードに入ります。Naninovelをドロップインのダイアログ/カットシーンシステムとして使用する場合に、ダイアログまたはビジュアルノベルモードに切り替えることを目的としています。
exitDialogue
エンジンの状態をリセットし、レンダリングや入力処理などのNaninovelの処理のほとんどを無効にして、ダイアログモードを終了します。Naninovelをドロップインのダイアログ/カットシーンシステムとして使用する場合に、ダイアログまたはビジュアルノベルモードから切り替えることを目的としています。
| パラメーター | 型 | 説明 |
|---|---|---|
| destroy | boolean | ダイアログモードを終了した後にエンジンも破棄(初期化解除)するかどうか。 |
format
表示されるメッセージに適用する フォーマットテンプレート を割り当てます。
注意
スタイルタグ を使用して、表示されるテキストをフォーマットすることもできます。
| パラメーター | 型 | 説明 |
|---|---|---|
| templates | named string list | 適用するテンプレート(Template.AuthorFilter 形式)。詳細については、フォーマットテンプレート ガイドを参照してください。 |
| printer | string | テンプレートを割り当てるプリンターアクターのID。指定しない場合はデフォルトのものを使用します。 |
; 最初の2文を太字の赤色テキスト(サイズ45px)で表示し、
; 次にスタイルをリセットして、最後の文をデフォルトスタイルで表示します。
@format <color=#ff0000><b><size=45>%TEXT%</size></b></color>
吾輩は猫である。
名前はまだ無い。
@format default
どこで生れたかとんと見当がつかぬ。
; @format コマンドを使用する代わりに、
; 表示されるテキストに直接スタイルを適用することも可能です。
吾輩は猫である。<b>名前はまだ無い。</b>glitch
メインカメラに デジタルグリッチ ポストプロセス効果を適用し、デジタルビデオの歪みやアーティファクトをシミュレートします。
| パラメーター | 型 | 説明 |
|---|---|---|
| time | number | 効果の時間(秒単位)。デフォルトは1です。 |
| power | number | 効果の強度(0.0〜10.0の範囲)。デフォルトは1です。 |
| wait | boolean | 次のコマンドを実行する前に、効果のウォームアップアニメーションの完了を待機するかどうか。 |
; デフォルトのパラメーターでグリッチ効果を適用します。
@glitch
; 低い強度で3.33秒かけて効果を適用します。
@glitch time:3.33 power:0.1gosub
シナリオスクリプトの再生を指定されたパスに移動し、そのパスをグローバル状態に保存します。@return コマンドは、この情報を使用して、最後に呼び出されたgosubコマンドの後のコマンドにリダイレクトします。
注意
このコマンドは、共通の一連のスクリプト行を呼び出す関数(サブルーチン)として使用できますが、NaniScriptはシナリオスクリプト用のDSLであり、汎用的なプログラミングには適していないことに注意してください。代わりに カスタムコマンド を使用することを強くお勧めします。
| パラメーター | 型 | 説明 |
|---|---|---|
| path | string | 移動先のパス。次の形式で指定します:ScriptPath#Label。ラベルが省略された場合、指定されたスクリプトを最初から再生します。スクリプトパスが省略された場合、現在再生中のスクリプト内のラベルを見つけようとします。 |
; 現在再生中のスクリプトの「VictoryScene」ラベルに移動し、
; コマンドを実行して、「gosub」の後のコマンドに戻ります。
@gosub #VictoryScene
...
@stop
# VictoryScene
@back Victory
@sfx Fireworks
@bgm Fanfares
あなたの勝利です!
@return
; サブルーチン内に分岐がある別の例。
@set time=10
; ここで1つの結果が得られます。
@gosub #Room
...
@set time=3
; そしてここで別の結果が得られます。
@gosub #Room
@stop
# Room
@print "まだ早すぎる。日没後に訪ねよう。" if:time<21&time>6
@print "不吉な気配を感じる!" if:time>21|time<6
@returngoto
シナリオスクリプトの再生を指定されたパスに移動します。
| パラメーター | 型 | 説明 |
|---|---|---|
| path | string | 移動先のパス。次の形式で指定します:ScriptPath#Label。ラベルが省略された場合、指定されたスクリプトを最初から再生します。スクリプトパスが省略された場合、現在再生中のスクリプト内のラベルを見つけようとします。 |
| reset | string list | 指定された場合、スクリプトをロードする前にエンジンサービスの状態をリセットするかどうかを制御します(パスが別のスクリプトにつながる場合): - Goto.DontReset 属性を持つものを除き、すべてのサービスをリセットするには * を指定します。- リセットから除外するサービスの型名(カンマ区切り)を指定します。 Goto.DontReset 属性を持つものを含め、他のすべてのサービスはリセットされます。- 強制的にリセットしない場合は - を指定します(構成でデフォルトで有効になっている場合でも)。一部のサービスには Goto.DontReset 属性が適用されており、デフォルトではリセットされませんが、特定のサービスをリセットから除外する場合は、それらも指定する必要があることに注意してください。 |
| hold | boolean | ターゲットスクリプトのリソースを保持するかどうか。保持すると、このコマンドが記述されているスクリプトと一緒にプリロードされます。Conservative リソースポリシー以外では効果がありません。詳細については、メモリ管理 ガイドを参照してください。 |
| release | boolean | メモリを解放するために、ターゲットスクリプトに移動する前にリソースを解放するかどうか。Optimistic リソースポリシー以外では効果がありません。詳細については、メモリ管理 ガイドを参照してください。 |
; 「Script001」スクリプトをロードし、最初から再生を開始します。
@goto Script001
; 上記と同じですが、ラベル「AfterStorm」から再生を開始します。
@goto Script001#AfterStorm
; 現在再生中のスクリプトの「Epilogue」ラベルに移動します。
@goto #Epilogue
...
# Epilogue
...group
コマンドをネストされたブロック内にグループ化できるようにします。
; @random コマンドはネストされた行の1つをランダムに選択しますが、
; そのネストされた行の子は無視します。ここでは @group コマンドで複数の行をグループ化し、
; @random コマンドが実際に複数の行を実行するようにしています。
@random
@group
@back tint:red
赤く塗れ。
@group
@back tint:black
黒く塗れ。hide
指定されたIDのアクター(キャラクター、背景、テキストプリンター、選択肢ハンドラー)を非表示にします。同じIDを持つ複数のアクターが見つかった場合(例:キャラクターとプリンター)、最初に見つかったものにのみ影響します。
| パラメーター | 型 | 説明 |
|---|---|---|
| actorIds | string list | 非表示にするアクターのID。 |
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; ID「Smoke」のアクターが表示されていると仮定して、3秒かけて非表示にします。
@hide Smoke time:3
; 「Kohaku」と「Yuko」アクターを非表示にします。
@hide Kohaku,YukohideAll
シーン上のすべてのアクター(キャラクター、背景、テキストプリンター、選択肢ハンドラー)を非表示にします。
| パラメーター | 型 | 説明 |
|---|---|---|
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; シーン上の表示されているすべてのアクター(キャラクター、背景、プリンターなど)を非表示にします。
@hideAllhideChars
シーン上の表示されているすべてのキャラクターを非表示にします。
| パラメーター | 型 | 説明 |
|---|---|---|
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; シーン上の表示されているすべてのキャラクターアクターを非表示にします。
@hideCharshidePrinter
テキストプリンターを非表示にします。
| パラメーター | 型 | 説明 |
|---|---|---|
| printerId | string | 使用するプリンターアクターのID。指定しない場合はデフォルトのものを使用します。 |
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; デフォルトのプリンターを非表示にします。
@hidePrinter
; ID「Wide」のプリンターを非表示にします。
@hidePrinter WidehideUI
指定された名前の UI要素 を非表示にします。名前が指定されていない場合、UI全体(すべての組み込みUIを含む)のレンダリングを停止(非表示)します。
注意
このコマンドでUI全体を非表示にし、allowToggle パラメーターがfalse(デフォルト)の場合、プレイヤーはホットキーを使用したり画面上の任意の場所をクリックしたりしてUIを再表示することはできません。UIを再び表示するには @showUI コマンドを使用してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| uiNames | string list | 非表示にするUI要素の名前。 |
| allowToggle | boolean | UI全体を非表示にする場合、プレイヤーがホットキーを使用したり画面上の任意の場所をクリックしたりしてUIを再表示できるようにするかどうか(デフォルトではfalse)。特定のUIを非表示にする場合は効果がありません。 |
| time | number | 非表示アニメーションの時間(秒単位)。指定しない場合、UI固有の時間を使用します。 |
| wait | boolean | 次のコマンドを実行する前に、UIフェードアウトアニメーションの完了を待機するかどうか。 |
; カスタム「Calendar」UIがあると仮定して、次のコマンドで非表示にします。
@hideUI Calendar
; UI全体を非表示にし、プレイヤーが再表示できないようにします。
@hideUI
...
; UIを再び表示します。
@showUI
; UI全体を非表示にしますが、プレイヤーが再表示できるようにします。
@hideUI allowToggle!
; 組み込みの「TipsUI」とカスタム「Calendar」UIを同時に非表示にします。
@hideUI TipsUI,Calendarif
条件付き実行ブロックの開始を示します。ネストされた行はブロックの本体と見なされ、プライマリパラメーターの条件が true と評価された場合にのみ実行されます。詳細については、条件付き実行 ガイドを参照してください。
注意
このコマンドは @unless の逆であり、互いに補完し合います。
| パラメーター | 型 | 説明 |
|---|---|---|
| expression | string | シナリオ式。関連付けられたネストされたブロックを実行するかどうかを決定するブール値を返す必要があります。 |
; 「score」変数に応じてテキスト行を表示します:
; 「不合格です。もう一度挑戦してください!」 - scoreが6以下の場合。
; 「テストに合格しました。」と「素晴らしい!」 - scoreが8より大きい場合。
; 「テストに合格しました。」と「お見事!」 - scoreが7より大きい場合。
; 「テストに合格しました。」と「よくできました!」 - それ以外の場合。
@if score > 6
テストに合格しました。
@if score > 8
素晴らしい!
@or score > 7
お見事!
@else
よくできました!
@else
不合格です。もう一度挑戦してください!
; 「score」変数に応じてテキスト行を表示します:
; 「テスト結果:不合格。」 - scoreが6以下の場合。
; 「テスト結果:満点!」 - scoreが8より大きい場合。
; 「テスト結果:合格。」 - それ以外の場合。
テスト結果:[if score>8]満点![or score>6]合格。[else]不合格。[endif]input
プレイヤーが任意のテキストを入力できる入力フィールドUIを表示します。送信時に、入力されたテキストは指定されたシナリオ変数に代入されます。
注意
このコマンドを使用してキャラクターの表示名を割り当てる場合は、名前をシナリオ変数にバインドする ことを検討してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| variableName | string | 入力されたテキストが代入されるシナリオ変数の名前。 |
| type | string | 入力内容の型。デフォルトは指定された変数の型です。代入先の変数の型を変更する場合や、新しい変数に代入する場合に使用します。サポートされている型:String、Numeric、Boolean。 |
| summary | string | 入力フィールドと一緒に表示するオプションの概要テキスト。テキストにスペースが含まれる場合は、二重引用符(")で囲んでください。テキスト自体に二重引用符を含める場合は、エスケープしてください。 |
| value | string | 入力フィールドに設定する事前定義された値。指定しない場合、代入先の変数の既存の値(ある場合)を使用します。 |
| nostop | boolean | プレイヤーが入力を送信するまでスクリプトの再生を停止しないかどうか。 |
; 任意のテキストを入力するように求め、それを「name」シナリオ変数に代入します。
@input name summary:"あなたの名前を選んでください。"
; その後、代入された「name」変数をシナリオスクリプトに注入できます。
Archibald: ようこそ、{name}!
; ...または、セット式や条件式内で使用します。
@set score++ if:name="Felix"linkPrinter
テキストプリンターを話者(キャラクターアクター)にリンクし、その話者がデフォルトでそのプリンターを使用するようにします。詳しくは リンクされたプリンターガイド を参照してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| printerId | string | リンクするテキストプリンターの識別子。 |
| to | string list | プリンターにリンクするキャラクターアクターの識別子。指定しない場合、すべての話者にリンクします。 |
; 「Dialogue」プリンターを話者「Kohaku」と「Yuko」にリンクします。
@linkPrinter Dialogue to:Kohaku,Yuko
; 「Wide」をすべての話者にリンクします。
@linkPrinter WidelipSync
指定されたIDのキャラクターのリップシンクアニメーション(口の動き)を強制停止できます。一度停止すると、このコマンドで再び許可するまでアニメーションは再開されません。キャラクターはリップシンクイベントを受信できる必要があります(現在は汎用、レイヤー、ユニバーサル、Live2D、およびSpine実装のみ)。リップシンク機能の詳細については、キャラクターガイド を参照してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| charIdAndAllow | named boolean | キャラクターIDと、リップシンクアニメーションを許可する(true)か停止する(false)かを示すブール値。 |
; オートボイスが無効で、リップシンクがテキストメッセージによって駆動されると仮定して、
; 口のアニメーションから句読点を除外します。
Kohaku: 吾輩は猫である[lipSync Kohaku.false]……[lipSync Kohaku.true]名前はまだ無い。loadScene
指定された名前の Unityシーン をロードします。ロードできるようにするには、必要なシーンを ビルド設定 に追加することを忘れないでください。
| パラメーター | 型 | 説明 |
|---|---|---|
| sceneName | string | ロードするシーンの名前。 |
| additive | boolean | シーンを加算的にロードするか、新しいシーンをロードする前に現在ロードされているシーンをアンロードするか(デフォルト)。詳細については、シーンロードのドキュメント を参照してください。 |
; 「TestScene1」シーンをシングルモードでロードします。
@loadScene TestScene1
; 「TestScene2」シーンを加算モードでロードします。
@loadScene TestScene2 additive!lock
指定されたIDの アンロック可能アイテム を locked 状態に設定します。
注意
アイテムのアンロック状態は グローバルスコープ に保存されます。
指定されたIDのアイテムがグローバル状態マップに登録されていない場合、対応するレコードが自動的に追加されます。
| パラメーター | 型 | 説明 |
|---|---|---|
| id | string | アンロック可能アイテムのID。登録されているすべてのアンロック可能アイテムをロックするには * を使用します。 |
; ID「FightScene1」のアンロック可能CGレコードをロックします。
@lock CG/FightScene1look
プレイヤーが入力デバイスでメインカメラをオフセットできる(例:マウスを動かす、またはゲームパッドのアナログスティックを使用する)カメラルックモードを有効/無効にします。コマンドの簡単なデモンストレーションについては、このビデオ を確認してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| enable | boolean | カメラルックモードを有効にするか無効にするか。デフォルト:true。 |
| zone | number list | カメラをどこまで移動できるかを制限する、初期カメラ位置を中心としたバウンディングボックスのサイズ(X、Y、ユニット単位)。デフォルト:5.0,3.0。 |
| speed | number list | X、Y軸方向のカメラ移動速度(感度)。デフォルト:1.5,1.0。 |
| gravity | boolean | ルック入力がアクティブでない場合(例:マウスが動いていない、またはアナログスティックがデフォルト位置にある場合)、カメラを自動的に初期位置に移動するかどうか。デフォルト:false。 |
; デフォルトのパラメーターでカメラルックモードを有効にします。
@look
; カスタムパラメーターでカメラルックモードを有効にします。
@look zone:6.5,4 speed:3,2.5 gravity!
; ルックモードを無効にし、オフセットを即座にリセットします。
@look false
; ルックを無効にしますが、速度0.25で徐々にリセットします。
@look false gravity! speed:0.25movie
指定された名前(パス)のムービーを再生します。
注意
ムービーを再生する前に画面をフェードアウトし、再生後に再びフェードインします。SkipMovie 入力(デフォルトでは Esc キー)をアクティブにすることで、再生をキャンセルできます。
| パラメーター | 型 | 説明 |
|---|---|---|
| moviePath | string | 再生するムービーリソースのローカルパス。 |
| time | number | フェードアニメーションの時間(秒単位)。指定しない場合、ムービー構成で設定されたフェード時間を使用します。 |
| block | boolean | ムービーの再生中にゲームの操作をブロックして、プレイヤーがスキップできないようにするかどうか。 |
; 「Opening」ビデオクリップがムービーリソースに追加されていると仮定して、それを再生します。
@movie OpeningopenURL
デフォルトのWebブラウザーで指定されたURL(Webアドレス)を開きます。
注意
WebGL以外のプラットフォームまたはエディターでは、Unityの Application.OpenURL メソッドを使用してコマンドを処理します。動作の詳細と制限については、ドキュメント を参照してください。WebGLでは、ネイティブの window.open() JS関数が呼び出されます:https://developer.mozilla.org/en-US/docs/Web/API/Window/open。
| パラメーター | 型 | 説明 |
|---|---|---|
| url | string | 開くURL。 |
| target | string | ブラウジングコンテキスト:_self(現在のタブ)、_blank(新しいタブ)、_parent、_top。 |
; 現在のタブで空白ページを開きます。
@openURL "about:blank"
; 新しいタブでNaninovelのWebサイトを開きます。
@openURL "https://naninovel.com" target:_blankor
条件付き実行ブロックの分岐を示します。この分岐は、ブロックを開始する @if または @unless、および先行する @else または @or(ある場合)コマンドの条件が満たされず、かつ自身の条件が満たされた場合に実行されます。@else if:... のショートカットとして使用できます。使用例については、条件付き実行 ガイドを参照してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| expression | string | シナリオ式。関連付けられたネストされたブロックを実行するかどうかを決定するブール値を返す必要があります。 |
print
テキストプリンターアクターを使用して、指定されたテキストメッセージを表示します(時間をかけて徐々に表示されます)。
注意
このコマンドは、汎用テキスト行を処理するときに内部で使用されます。たとえば、汎用テキスト行 Kohaku: こんにちは、世界! は、シナリオスクリプトの解析時に自動的に @print "こんにちは、世界!" author:Kohaku に変換されます。
デフォルトでは、新しいメッセージを表示する前にプリンターをリセット(クリア)します。これを防いで代わりにテキストを追加するには、reset パラメーターを false に設定するか、プリンターアクター構成の Auto Reset を無効にします。
デフォルトでは、プリンターをデフォルトにして他のプリンターを非表示にします。これを防ぐには、default パラメーターを false に設定するか、プリンターアクター構成の Auto Default を無効にします。
デフォルトでは、タスクを終了する前に入力を待機します。テキストが完全に表示されたらすぐに戻るようにするには、waitInput パラメーターを false に設定するか、プリンターアクター構成の Auto Wait を無効にします。
| パラメーター | 型 | 説明 |
|---|---|---|
| text | string | 表示するメッセージのテキスト。テキストにスペースが含まれる場合は、二重引用符(")で囲んでください。テキスト自体に二重引用符を含める場合は、エスケープしてください。 |
| printer | string | 使用するプリンターアクターのID。指定しない場合はデフォルトのものを使用します。 |
| author | string | 表示されるメッセージに関連付けるアクターのID。追加する場合は無視されます。* を指定するか、, で複数のアクターIDを区切ると、すべて/選択したキャラクターをテキストの話者にできます。as パラメーターと組み合わせて、複数のキャラクターが同時に話していることを表す場合に便利です。 |
| as | string | 指定すると、メッセージ表示中のテキストプリンターの話者名として、話者ID(または関連付けられた表示名)の代わりにこのラベルを使用します。メッセージの色やアバターなどのプリンターの話者固有の動作をトリガーせずに、いくつかのメッセージのデフォルト名をオーバーライドしたり、複数の話者が同時に話していることを表したりするのに便利です。 |
| speed | number | テキスト表示速度の乗数。正またはゼロである必要があります。1に設定すると、デフォルトの速度になります。 |
| reset | boolean | 表示タスクを実行する前にプリンターのテキストをリセットするかどうか。デフォルト値は、プリンターアクター構成メニューの Auto Reset プロパティで制御されます。 |
| default | boolean | 表示タスクを実行する前に、プリンターをデフォルトにして他のプリンターを非表示にするかどうか。デフォルト値は、プリンターアクター構成メニューの Auto Default プロパティで制御されます。 |
| waitInput | boolean | 表示タスクの完了後に入力を待機するかどうか。デフォルト値は、プリンターアクター構成メニューの Auto Wait プロパティで制御されます。 |
| append | boolean | 表示するテキストを最後のプリンターメッセージに追加するかどうか。 |
| fadeTime | number | このコマンドに関連付けられたプリンターの表示および非表示アニメーションの時間(秒単位)を制御します。各プリンターのデフォルト値は、アクター構成で設定されています。 |
| wait | boolean | 次のコマンドを実行する前に、テキストの表示と完了の確認(入力待ち)を待機するかどうか。 |
; デフォルトのプリンターでフレーズを表示します。
@print "吾輩は猫である。名前はまだ無い。"
; テキスト自体に引用符を含めるには、エスケープします。
@print "\"車を止めろ!\" と叫んだのは間違いでした。"
; 通常の半分の速度でメッセージを表示し、
; 続行するために入力を待機しません。
@print "吾輩は猫である。名前はまだ無い。" speed:0.5 !waitInput
; 「全員」を話者名として行を表示し、
; 表示されているすべてのキャラクターをそのテキストの話者にします。
@print "こんにちは、世界!" author:* as:"全員"
; 同様ですが、「Kohaku」と「Yuko」のみを話者にします。
@print "こんにちは、世界!" author:Kohaku,Yuko as:"KohakuとYuko"printer
テキストプリンターアクター を変更し、ネストされたコマンドの実行中はそのプリンターをすべての話者にリンクします。
| パラメーター | 型 | 説明 |
|---|---|---|
| idAndAppearance | named string | 変更するプリンターのIDと設定する外観。IDまたは外観が指定されていない場合、デフォルトのものを使用します。 |
| default | boolean | プリンターをデフォルトにするかどうか。printer パラメーターが指定されていない場合、デフォルトのプリンターがすべてのプリンター関連コマンドの対象になります。ネストされたコマンドを含む場合は効果がありません。 |
| hideOther | boolean | 他のすべてのプリンターを非表示にするかどうか。 |
| anchor | boolean | アクターアンカーによる自動プリンター配置を許可するかどうか。サポートされているプリンターで、プリンターを手動で配置した後に自動配置を再開する場合に有効にします。このコマンドで明示的な位置が割り当てられると、アンカーは自動的に無効になることに注意してください。 |
| pos | number list | 変更対象のアクターに設定する位置(シーン境界に対する相対的なパーセンテージ)。位置は次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。正投影モードで深度によって移動(ソート)するには、Z成分(3番目のメンバー、例:,,10)を使用します。 |
| id | string | 変更するアクターのID。表示されているすべてのアクターに影響を与えるには * を指定します。 |
| appearance | string | 変更対象のアクターに設定する外観。 |
| pose | string | 変更対象のアクターに設定するポーズ。 |
| via | string | 使用する トランジションエフェクト のタイプ(デフォルトではクロスフェードが使用されます)。 |
| params | number list | トランジションエフェクトのパラメーター。 |
| dissolve | string | カスタムディゾルブ テクスチャへのパス(パスは「Resources」フォルダーに対する相対パスである必要があります)。トランジションが Custom モードに設定されている場合にのみ効果があります。 |
| visible | boolean | 変更対象のアクターに設定する可視性ステータス。 |
| wpos | number list | 変更対象のアクターに設定する位置(ワールド空間)。正投影モードで深度によって移動(ソート)するには、Z成分(3番目のメンバー)を使用します。 |
| roll | number | 変更対象のアクターに設定するZ軸回転。rotation パラメーターの3番目の成分と同じです。rotation が指定されている場合は無視されます。 |
| rotation | number list | 変更対象のアクターに設定する回転。 |
| scale | number list | 変更対象のアクターに設定するスケール。 |
| tint | string | 適用する色合い。# で始まる文字列は、次の方法で16進数として解析されます:#RGB(RRGGBB になります)、#RRGGBB、#RGBA(RRGGBBAA になります)、#RRGGBBAA。アルファが指定されていない場合、デフォルトは FF になります。# で始まらない文字列は、リテラルカラーとして解析され、次の色がサポートされています:red, cyan, blue, darkblue, lightblue, purple, yellow, lime, fuchsia, white, silver, grey, black, orange, brown, maroon, green, olive, navy, teal, aqua, magenta。 |
| easing | string | 適用する イージング関数 の名前。指定しない場合、構成で設定されたデフォルトの関数を使用します。 |
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; 「Wide」プリンターをデフォルトにし、他の表示されているプリンターを非表示にします。
@printer Wide
; 「Bubble」プリンターに「Right」外観を割り当て、デフォルトにし、
; シーンの中央に配置し、他のプリンターを非表示にしません。
@printer Bubble.Right pos:50,50 !hideOther
; ネストされたコマンドの実行中は「Wide」プリンターを強制的に使用します。
@printer Wide
現在のデフォルトプリンターに関係なく「Wide」に表示されます。
Kohaku: リンクされたプリンターがあるかもしれませんが、ここでは「Wide」を使用します。
再びデフォルトプリンターに表示されます。
Kohaku: 再びリンクされたプリンターを使用します。processInput
入力処理(例:キーボードのキー押下への反応)を停止したり再開したりできます。この操作の効果は永続的で、ゲームとともにセーブされます。
| パラメーター | 型 | 説明 |
|---|---|---|
| inputEnabled | boolean | すべての入力の処理を有効にするかどうか。 |
| set | named boolean list | 個々の入力をミュートおよびミュート解除できるようにします。 |
; すべての入力の処理を停止します。
@processInput false
; すべての入力の処理を再開します。
@processInput true
; 「Rollback」と「Pause」入力をミュートし、「Continue」入力をミュート解除します。
@processInput set:Rollback.false,Pause.false,Continue.truepurgeRollback
プレイヤーが以前の状態スナップショットにロールバックするのを防ぎます。
; プレイヤーが別の選択肢を選択しようとしてロールバックするのを防ぎます。
選択肢を選んでください。ロールバックはできません。
@choice 選択肢1 goto:#One
@choice 選択肢2 goto:#Two
# One
@purgeRollback
選択肢1を選びました。
@stop
# Two
@purgeRollback
選択肢2を選びました。
@stoppushRollback
プレイヤーがロールバックできる状態スナップショットを追加します。
; プレイヤーがこの地点までロールバックできるようにします。
@pushRollbackrain
雨 をシミュレートするパーティクルシステムをスポーンします。
| パラメーター | 型 | 説明 |
|---|---|---|
| power | number | 雨の強度(1秒あたりのパーティクルスポーン率)。0.0〜1.0の範囲で、デフォルトは0.5。0に設定すると、効果が無効(デスポーン)になります。 |
| time | number | パーティクルシステムは、指定された時間(秒単位)でスポーン率を目標レベルまで徐々に増加させます。 |
| xSpeed | number | パーティクルの水平速度の乗数。雨滴の角度を変更するために使用します。 |
| ySpeed | number | パーティクルの垂直速度の乗数。 |
| pos | number list | スポーン効果のゲームオブジェクトに設定する位置(シーン境界に対する相対的なパーセンテージ)。位置は次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。正投影モードで深度によって移動(ソート)するには、Z成分(3番目のメンバー、例:,,10)を使用します。 |
| wpos | number list | スポーン効果のゲームオブジェクトに設定する位置(ワールド空間)。 |
| roll | number | スポーン効果のゲームオブジェクトに設定するZ軸回転。rotation パラメーターの3番目の成分と同じです。rotation が指定されている場合は無視されます。 |
| rotation | number list | スポーン効果のゲームオブジェクトに設定する回転。 |
| scale | number list | スポーン効果のゲームオブジェクトに設定するスケール。 |
| wait | boolean | 次のコマンドを実行する前に、効果のウォームアップアニメーションの完了を待機するかどうか。 |
; 10秒かけて激しい雨を開始します。
@rain power:1 time:10
; 30秒かけて雨を停止します。
@rain power:0 time:30random
ランダムに選択されたネストされたコマンドの1つを実行します。
| パラメーター | 型 | 説明 |
|---|---|---|
| weight | number list | ネストされたコマンドのカスタマイズされた確率(0.0〜1.0の範囲)。デフォルトでは、すべてのコマンドが選択される確率は等しくなります。 |
; 3つのサウンドのうち1つを等しい確率で再生します。
@random
@sfx Sound1
@sfx Sound2
@sfx Sound3
; 2番目のサウンドを80%の確率で、1番目/3番目をそれぞれ10%の確率で再生します。
@random weight:0.1,0.8,0.1
@sfx Sound1
@sfx Sound2
@sfx Sound3
; カメラをシェイクする選択肢の追加、Kohakuアクターへの色合いの適用、「SoundX」SFXの再生の
; いずれかを、それぞれ33%の確率で実行します。ただし、SFXの再生は、
; scoreが10を超えている場合にのみ考慮されます。
@random
@choice "カメラをシェイク!"
お望みどおりに!
@shake Camera
@group
Kohakuに色を付けます!
@char Kohaku tint:red
@sfx SoundX if:score>10remove
指定されたIDのアクター(キャラクター、背景、テキストプリンター、選択肢ハンドラー)を削除(破棄)します。同じIDを持つ複数のアクターが見つかった場合(例:キャラクターとプリンター)、最初に見つかったものにのみ影響します。
注意
デフォルトでは、Naninovelはスクリプトリソースをアンロードするときに未使用のアクターを自動的に削除します。このコマンドは、リソースプロバイダー構成で Remove Actors が無効になっている場合、または特定のタイミングでアクターを強制的に破棄する必要がある場合にのみ使用してください。詳細については、メモリ管理 ガイドを参照してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| actorIds | string list | 削除するアクターのID。すべてのアクターを削除するには * を指定します。 |
; フェードアウトしてから、KohakuとYukoアクターを破棄します。
@hide Kohaku,Yuko wait!
@remove Kohaku,Yuko
; フェードアウトしてから、すべてのアクターを削除します。
@hideAll wait!
@remove *resetState
エンジンサービス の状態をリセットし、Naninovelによってロードされたすべてのリソース(テクスチャ、オーディオ、ビデオなど)をアンロード(破棄)します。基本的には、空の初期エンジン状態に戻ります。
注意
このコマンドは元に戻す(巻き戻す)ことができないことに注意してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| exclude | string list | リセットから除外する エンジンサービス(インターフェース)の名前。ローカル変数を保持するには、IVariableManager を追加することを検討してください。 |
| only | string list | リセットする エンジンサービス(インターフェース)の名前。他のサービスは影響を受けません。プライマリ(exclude)パラメーターが割り当てられている場合は効果がありません。 |
; すべてのサービスをリセットします(スクリプトの再生は停止します)。
@resetState
; スクリプトプレイヤー、シナリオ変数マネージャー、オーディオマネージャーを除くすべてのサービスをリセットし、
; 現在のスクリプトとオーディオトラックの再生を継続し、
; シナリオ変数の値を保持します。
@resetState IScriptPlayer,IVariableManager,IAudioManager
; 「ICharacterManager」と「IBackgroundManager」サービスのみをリセットし、
; シーンからすべてのキャラクターと背景アクターを削除し、
; 関連リソースをメモリからアンロードします。
@resetState only:ICharacterManager,IBackgroundManagerresetText
テキストプリンターの内容をリセット(クリア)します。
| パラメーター | 型 | 説明 |
|---|---|---|
| printerId | string | 使用するプリンターアクターのID。指定しない場合はデフォルトのものを使用します。 |
; テキストを表示してから、デフォルトのプリンターの内容をクリアします。
この行は消えます。
@resetText
; 上記と同じですが、「Wide」プリンターを使用します。
@print "この行は消えます。" printer:Wide
@resetText Widereturn
シナリオスクリプトの再生位置を、最後に使用された @gosub の次のコマンドへ移動しようとします。詳細と使用例については、@gosub コマンドの概要を参照してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| reset | string list | 指定された場合、gosubに入った元のスクリプトに戻る前にエンジンサービスの状態をリセットします(それが現在再生中のスクリプトではない場合)。すべてのサービスをリセットするには * を指定するか、リセットから除外するサービス名を指定します。デフォルトでは、状態はリセットされません。 |
save
ゲームを最初のオートセーブスロットに自動的にセーブします。
| パラメーター | 型 | 説明 |
|---|---|---|
| at | string | セーブの再生位置。次の形式で指定します:ScriptPath#Label。省略した場合、現在の再生位置を使用します。ゲームのロード後にプレイヤーを特定のラベルまたはスクリプトにリダイレクトするために使用できます。 |
; 現在の位置でオートセーブします。
@save
; プレイヤーは、ゲームをオートセーブしてタイトルメニューに戻る「rest」か、
; 「NextDay」に進むかを選択できます。休憩後にプレイヤーがセーブしたゲームをロードすると、
; 「# Camp」ラベルの後の行に移動しますが、
; 「rested」が「true」に設定されているため、「NextDay」に進むことが強制されます。
# Camp
; 変数は「?=」で設定されていることに注目してください。これは、
; まだ代入されていない場合にのみ値を代入します。休憩後にプレイヤーが
; オートセーブされたゲームをロードした場合は、すでに代入済みです。
@set rested?=false
@if rested
おはよう!もう出発しないと。
@goto NextDay
@choice "休んでいる時間はない!" goto:NextDay
@choice "少し休もう"
@set rested=true
; 「at」パラメーターに注目してください。ゲームがロードされると、
; 指定されたラベルにプレイヤーをリダイレクトします。
@save at:#Camp
@titleset
注意
指定されたIDの変数が存在しない場合は、自動的に作成されます。
複数のセット式を指定するには、, で区切ります。式は宣言された順に実行されます。
| パラメーター | 型 | 説明 |
|---|---|---|
| expression | string | 代入式。 式は var=expression の形式である必要があります。ここで、var は代入先のシナリオ変数のIDであり、expression は シナリオ式 で、その結果が変数に代入されます。インクリメントおよびデクリメントの単項演算子( @set foo++、@set foo--)および複合代入(@set foo+=10、@set foo-=3、@set foo*=0.1、@set foo/=2)を使用できます。 |
| to | string | 代入する値を求める式。指定された変数のうち、代入式(= ... の部分)がないすべての変数に、この式の結果が代入されます。複数の変数に同じ値を代入する場合に便利です。例:@set foo, bar, baz to:10。 |
| scope | string | 指定すると、明示的なスコープを持たない変数を指定したスコープの下に割り当てます。 |
| init | boolean | その変数がまだ代入されていない場合にのみ代入するかどうか(初期化の意図)。meta または const フラグとは併用しないでください。これらのフラグも同じ初期化の意図を持つためです。 |
| meta | boolean | その変数をメタ変数として初期化するかどうか。メタ変数の値はゲームセッションに依存せず、新しいゲームを開始しても保持されます。ルートのクリア状況や実績の追跡など、メタゲームの仕組みに最適です。 |
| const | boolean | その変数を定数として初期化するかどうか。定数は一度だけ初期化でき、その後に変更することはできません。 |
; 「foo」変数に「bar」文字列値を代入します。
@set foo="bar"
; 「foo」変数に数値1を代入します。
@set foo=1
; 「foo」変数に「true」ブール値を代入します。
@set foo=true
; 「foo」が数値の場合、その値に0.5を加算します。
@set foo+=0.5
; 「angle」が数値の場合、そのコサインを「foo」変数に代入します。
@set foo=cos(angle)
; -100から100までの乱数を取得し、4乗して
; 「foo」変数に代入します。
@set foo = pow(random(-100, 100), 4)
; 「foo」が数値の場合、その値に1を加算します(インクリメント)。
@set foo++
; 「foo」が数値の場合、その値から1を減算します(デクリメント)。
@set foo--
; 「foo」変数に「bar」変数の値
; (「こんにちは、世界!」文字列)を代入します。
@set bar="こんにちは、世界!"
@set foo=bar
; 1行で複数のセット式を定義します。
; 結果は上記と同じになります。
@set bar="こんにちは、世界!", foo=bar
; 複数の変数に同じ値を代入します。
@set foo, bar, baz to:10
; シナリオスクリプトコマンドパラメーターに変数を注入することが可能です。
@set scale=0
@while scale is below 1
@set scale+=0.1
@char Kohaku scale:{scale}
; ...そして汎用テキスト行にも。
@set drink="Dr. Pepper"
私の好きな飲み物は{drink}です!
; テキスト式の値の中で二重引用符を使用する場合は、エスケープします。
@set remark="\"車を止めろ!\" と叫んだのは間違いでした。"
; メタ変数を使用して、ゲームセッションをまたいで値を保持します。
; ゲームを再起動しても、変数はその値を維持します。
@set completeRouteX, completeRouteY to:false meta!
... ; スクリプト内の後のどこかで、「RouteX」を完了したとき
@set completeRouteX=true ; 新しくゲームを開始しても、これは「true」のままです
; 再プレイされても、メタ変数を一度だけインクリメントします。
@set metaCounter=0 meta!
...
@set metaCounter++ unless:hasPlayed()
; 複数の変数を「stats」スコープの下で定義します。
@set strength, intellect, agility to:1 scope:stats
...
@set stats.agility++
; ローカル変数(IDがドットで始まる)を使用して、
; 他のスクリプト内に同じIDの変数がある場合の競合を防ぎます。
@set .count=0
@while .count is below 10
@set .count++
現在のカウント:{.count}sfx
指定された名前の SFX(効果音) トラックを再生するか、現在再生中のトラックを変更します。
注意
効果音トラックはデフォルトではループされません。SFXトラック名(path)が指定されていない場合、現在再生中のすべてのトラックに影響します。すでに再生中のトラックに対して呼び出された場合、再生は影響を受けません(トラックは最初から再生されません)が、指定されたパラメーター(音量とトラックがループされるかどうか)が適用されます。
| パラメーター | 型 | 説明 |
|---|---|---|
| group | string | オーディオを再生するときに使用するオーディオミキサー グループパス。 |
| loop | boolean | 再生が終了したときに、停止されるまで最初から繰り返すかどうか。 |
| volume | number | オーディオ再生の音量(0.0〜1.0の範囲)。1.0がデフォルトであることに注意してください。クリッピングなしにデジタルオーディオを0 dBFS基準より大きく再生することはできません。 |
| pitch | number | 再生の知覚上の周波数(速度)。-3.0〜3.0 の範囲で、1.0が通常の速度です。負の値はオーディオを逆再生します。 |
| pos | number list | オーディオソースの位置(シーン境界に対する相対的なパーセンテージ)。位置は次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。Z成分(3番目のメンバー、例:,,10)を使用して深度を変更します。 |
| wpos | number list | オーディオソースの位置(ワールド空間)。pos と wpos のどちらも指定しない場合、空間モードは無効になります。 |
| wait | boolean | オーディオの再生が終わるまで待ってから次のコマンドを実行するかどうか。ループ再生時は効果がありません。 |
| path | string | オーディオリソースのローカルパス(名前)。 |
| easing | string | 適用する イージング関数 の名前。指定しない場合、構成で設定されたデフォルトの関数を使用します。 |
| fade | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| waitFade | boolean | 次のコマンドを実行する前に、フェードの完了を待機するかどうか。 |
; 「Explosion」という名前のSFXを一度再生します。
@sfx Explosion
; 「Rain」という名前のSFXをループで再生し、30秒かけてフェードインします。
@sfx Rain loop! fade:30
; 再生中のすべてのSFXトラックの音量を2.5秒かけて75%に変更し、
; それらすべてのループを無効にします。
@sfx volume:0.75 !loop fade:2.5
; ワールド空間で「Explosion」をリスナーの少し上、背後で再生します。
@sfx Explosion wpos:0,1,-3
; シーン空間で「Rain」の位置を10秒かけて左から右へアニメーションします。
@sfx Rain pos:0,50 loop!
@sfx Rain pos:100,50 fade:10sfxFast
指定された名前の SFX(効果音) トラックを再生します。@sfx コマンドとは異なり、クリップは最小限の遅延で再生され、ゲーム状態と一緒にシリアル化されません(セーブ時に再生されていても、ゲームのロード後には再生されません)。このコマンドは、UI関連のサウンド(例:Play Script コンポーネント でのボタンクリック時)など、さまざまな一時的なオーディオクリップを再生するために使用できます。
| パラメーター | 型 | 説明 |
|---|---|---|
| restart | boolean | すでに再生中の場合にオーディオを最初から再生するかどうか。 |
| additive | boolean | 同じクリップの複数のインスタンスを再生できるようにするかどうか。restart が有効な場合は効果がありません。 |
| group | string | オーディオを再生するときに使用するオーディオミキサー グループパス。 |
| loop | boolean | 再生が終了したときに、停止されるまで最初から繰り返すかどうか。 |
| volume | number | オーディオ再生の音量(0.0〜1.0の範囲)。1.0がデフォルトであることに注意してください。クリッピングなしにデジタルオーディオを0 dBFS基準より大きく再生することはできません。 |
| pitch | number | 再生の知覚上の周波数(速度)。-3.0〜3.0 の範囲で、1.0が通常の速度です。負の値はオーディオを逆再生します。 |
| pos | number list | オーディオソースの位置(シーン境界に対する相対的なパーセンテージ)。位置は次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。Z成分(3番目のメンバー、例:,,10)を使用して深度を変更します。 |
| wpos | number list | オーディオソースの位置(ワールド空間)。pos と wpos のどちらも指定しない場合、空間モードは無効になります。 |
| wait | boolean | オーディオの再生が終わるまで待ってから次のコマンドを実行するかどうか。ループ再生時は効果がありません。 |
| path | string | オーディオリソースのローカルパス(名前)。 |
; 「Click」という名前のSFXを一度再生します。
@sfxFast Click
; 上記と同じですが、同じクリップの同時再生を許可します。
@sfxFast Click !restartshake
指定されたIDのアクターまたはメインカメラに シェイク効果 を適用します。
| パラメーター | 型 | 説明 |
|---|---|---|
| actorId | string | シェイクするアクターのID。同じIDを持つ複数のアクターが見つかった場合(例:キャラクターとプリンター)、最初に見つかったものにのみ影響します。指定しない場合、デフォルトのテキストプリンターをシェイクします。メインカメラをシェイクするには、Camera キーワードを使用します。 |
| count | number | シェイクの反復回数。loop が有効な場合は無視されます。 |
| loop | boolean | 無効になるまでシェイクを続けるかどうか。 |
| time | number | 各シェイク反復の基本時間(秒単位)。 |
| deltaTime | number | 効果の基本時間に適用されるランダムな変動幅。 |
| power | number | 各シェイク反復の基本変位振幅(ユニット単位)。 |
| deltaPower | number | 基本変位振幅に適用されるランダムな変動幅。 |
| hor | boolean | アクターを水平方向(X軸)に変位させるかどうか。 |
| ver | boolean | アクターを垂直方向(Y軸)に変位させるかどうか。 |
| wait | boolean | 次のコマンドを実行する前に、効果のウォームアップアニメーションの完了を待機するかどうか。 |
; デフォルトのパラメーターで「Dialogue」テキストプリンターをシェイクします。
@shake Dialogue
; 「Kohaku」キャラクターのシェイクを開始し、停止する選択肢を表示して、それに応じて動作します。
@shake Kohaku loop!
@choice "シェイクを止める"
@shake Kohaku !loop
...
; Naninovelのメインカメラを水平方向に5回シェイクします。
@shake Camera count:5 hor! !vershow
指定されたIDのアクター(キャラクター、背景、テキストプリンター、選択肢ハンドラーなど)を表示(可視化)します。同じIDを持つ複数のアクターが見つかった場合(例:キャラクターとプリンター)、最初に見つかったものにのみ影響します。
| パラメーター | 型 | 説明 |
|---|---|---|
| actorIds | string list | 表示するアクターのID。 |
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; ID「Smoke」のアクターが非表示であると仮定して、3秒かけて表示します。
@show Smoke time:3
; 「Kohaku」と「Yuko」アクターを表示します。
@show Kohaku,YukoshowPrinter
テキストプリンターを表示します。
| パラメーター | 型 | 説明 |
|---|---|---|
| printerId | string | 使用するプリンターアクターのID。指定しない場合はデフォルトのものを使用します。 |
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; デフォルトのプリンターを表示します。
@showPrinter
; ID「Wide」のプリンターを表示します。
@showPrinter WideshowUI
指定されたリソース名の UI要素 を表示します。名前が指定されていない場合、UI全体を表示します(@hideUI で非表示にされていた場合)。
| パラメーター | 型 | 説明 |
|---|---|---|
| uiNames | string list | 表示するUIリソースの名前。 |
| time | number | 表示アニメーションの時間(秒単位)。指定しない場合、UI固有の時間を使用します。 |
| wait | boolean | 次のコマンドを実行する前に、UIフェードインアニメーションの完了を待機するかどうか。 |
; 「Calendar」という名前のカスタムUIを追加したと仮定して、
; 以下を実行するとシーンに表示されます。
@showUI Calendar
; @hideUI でUI全体を非表示にしたと仮定して、再び表示します。
@showUI
; 組み込みの「TipsUI」とカスタム「Calendar」UIを同時に表示します。
@showUI TipsUI,Calendarskip
スクリプトプレイヤーの「スキップ」モードを有効または無効にできるようにします。
| パラメーター | 型 | 説明 |
|---|---|---|
| enable | boolean | スキップモードを有効にする(デフォルト)か無効にするか。 |
; スキップモードを有効にします。
@skip
; スキップモードを無効にします。
@skip falseslide
指定されたIDのアクター(キャラクター、背景、テキストプリンター、または選択肢ハンドラー)をスライド(2つの位置間を移動)させ、オプションでアクターの可視性と外観を変更します。複数の @char または @back コマンドの代わりに、スライドアニメーションでアクターを表示または非表示にするために使用できます。
注意
このコマンドは、すべてのアクターマネージャーで指定されたIDの既存のアクターを検索し、同じIDを持つ複数のアクターが存在する場合(例:キャラクターとテキストプリンター)、最初に見つかったものにのみ影響することに注意してください。このコマンドで参照する前に、アクターがシーンに存在することを確認してください。たとえば、キャラクターの場合は、@char CharID visible:false time:0 を使用して、プレイヤーに気付かれずにシーンに追加できます。
| パラメーター | 型 | 説明 |
|---|---|---|
| idAndAppearance | named string | スライドするアクターのIDと(オプションで)設定する外観。 |
| from | number list | アクターのスライド元となるシーン空間内の位置(スライド開始位置)。次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。Z成分(深度)はワールド空間です。指定しない場合、表示されている場合は現在のアクターの位置を使用し、そうでない場合はランダムなシーン外の位置を使用します(左または右の境界からスライドインする可能性があります)。 |
| to | number list | アクターのスライド先となるシーン空間内の位置(スライド終了位置)。 |
| visible | boolean | アクターの可視性ステータスを変更します(表示または非表示)。設定されておらず、ターゲットアクターが非表示の場合でも、自動的に表示されます。 |
| easing | string | 適用する イージング関数 の名前。指定しない場合、構成で設定されたデフォルトの関数を使用します。 |
| time | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| wait | boolean | シナリオスクリプトの次のコマンドの実行を開始する前に、このコマンドの完了を待機するかどうか。デフォルトの動作は、スクリプトプレイヤー構成の Wait By Default オプションで制御されます。 |
; 「Jenna」アクターが表示されていないと仮定して、「Angry」の外観で表示し、
; シーンの左または右の境界から中央にスライドさせます。
@slide Jenna.Angry to:50
; 「Sheba」アクターが現在表示されていると仮定して、
; 非表示にして、シーンの左端の外にスライドさせます。
@slide Sheba to:-10 !visible
; 「Sheba」アクターをシーンの左中央側から右下に、
; 「EaseOutBounce」アニメーションイージングを使用して5秒かけてスライドさせます。
@slide Sheba from:15,50 to:85,0 time:5 easing:EaseOutBouncesnow
雪 をシミュレートするパーティクルシステムをスポーンします。
| パラメーター | 型 | 説明 |
|---|---|---|
| power | number | 雪の強度(1秒あたりのパーティクルスポーン率)。0.0〜1.0の範囲で、デフォルトは0.5。0に設定すると、効果が無効(デスポーン)になります。 |
| time | number | パーティクルシステムは、指定された時間(秒単位)でスポーン率を目標レベルまで徐々に増加させます。 |
| pos | number list | スポーン効果のゲームオブジェクトに設定する位置(シーン境界に対する相対的なパーセンテージ)。位置は次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。正投影モードで深度によって移動(ソート)するには、Z成分(3番目のメンバー、例:,,10)を使用します。 |
| wpos | number list | スポーン効果のゲームオブジェクトに設定する位置(ワールド空間)。 |
| roll | number | スポーン効果のゲームオブジェクトに設定するZ軸回転。rotation パラメーターの3番目の成分と同じです。rotation が指定されている場合は無視されます。 |
| rotation | number list | スポーン効果のゲームオブジェクトに設定する回転。 |
| scale | number list | スポーン効果のゲームオブジェクトに設定するスケール。 |
| wait | boolean | 次のコマンドを実行する前に、効果のウォームアップアニメーションの完了を待機するかどうか。 |
; 10秒かけて激しい雪を開始します。
@snow power:1 time:10
; 30秒かけて雪を停止します。
@snow power:0 time:30spawn
プレハブまたは 特殊効果 をインスタンス化します。すでにスポーンされているオブジェクトに対して実行された場合は、代わりにスポーンパラメーターを更新します。
注意
プレハブのルートオブジェクトに MonoBehaviour コンポーネントがアタッチされており、そのコンポーネントが IParameterized インターフェースを実装している場合、スポーン後に指定された params 値を渡します。コンポーネントが IAwaitable インターフェースを実装している場合、コマンドの実行は、実装によって返された非同期完了タスクを待機できます。
| パラメーター | 型 | 説明 |
|---|---|---|
| path | string | スポーンするプレハブリソースの名前(パス)。 |
| params | string list | プレハブをスポーンするときに設定するパラメーター。プレハブのルートオブジェクトに IParameterized コンポーネントがアタッチされている必要があります。 |
| pos | number list | スポーンされたオブジェクトに設定する位置(シーン境界に対する相対的なパーセンテージ)。位置は次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。正投影モードで深度によって移動(ソート)するには、Z成分(3番目のメンバー、例:,,10)を使用します。 |
| wpos | number list | スポーンされたオブジェクトに設定する位置(ワールド空間)。 |
| roll | number | スポーンされたオブジェクトに設定するZ軸回転。rotation パラメーターの3番目の成分と同じです。rotation が指定されている場合は無視されます。 |
| rotation | number list | スポーンされたオブジェクトに設定する回転。 |
| scale | number list | スポーンされたオブジェクトに設定するスケール。 |
| transient | boolean | スポーンされたオブジェクトをゲーム状態から除外するかどうか。1回限りの短命な効果に便利で、後で @despawn を呼び出す必要がなくなります。 |
| wait | boolean | スポーンされたオブジェクトが IAwaitable インターフェースを実装している場合に、そのウォームアップを待機するかどうか。 |
; 「Rainbow」プレハブがスポーンリソースに割り当てられていると仮定して、それをインスタンス化します。
@spawn Rainbow
; スポーンされた「Explosion」は1回限りのため、後で「@despawn」を呼び出す必要はありません。
@spawn Explosion transient!stop
シナリオスクリプトの再生を停止します。
| パラメーター | 型 | 説明 |
|---|---|---|
| trackId | string | 停止するスクリプトトラックの識別子。指定しない場合はメイントラックを停止します。@async コマンドで開始された非同期トラックの再生を停止するために使用できます。 |
@gosub #Label
...
@stop
; 上記の @stop コマンドは、スクリプトの再生が
; 下のラベル以降に進むのを防ぎます。
# Label
この行は、@gosubで直接移動した場合にのみ実行されます。
@return
; 「Quake」非同期タスクを停止するまでループします。
@async Quake loop!
@spawn Pebbles
@shake Camera
@wait { random(3,10) }
...
; 「Quake」非同期タスクを停止します。
@stop QuakestopBgm
指定された名前のBGM(背景音楽)トラックの再生を停止します。
注意
音楽トラック名(path)が指定されていない場合、現在再生中のすべてのトラックを停止します。
| パラメーター | 型 | 説明 |
|---|---|---|
| path | string | オーディオリソースのローカルパス(名前)。 |
| easing | string | 適用する イージング関数 の名前。指定しない場合、構成で設定されたデフォルトの関数を使用します。 |
| fade | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| waitFade | boolean | 次のコマンドを実行する前に、フェードの完了を待機するかどうか。 |
; 10秒かけて「Sanctuary」BGMトラックをフェードアウトし、再生を停止します。
@stopBgm Sanctuary fade:10
; 現在再生中のすべての音楽トラックを停止します。
@stopBgmstopSfx
指定された名前のSFX(効果音)トラックの再生を停止します。
注意
効果音トラック名(path)が指定されていない場合、現在再生中のすべてのトラックを停止します。
| パラメーター | 型 | 説明 |
|---|---|---|
| path | string | オーディオリソースのローカルパス(名前)。 |
| easing | string | 適用する イージング関数 の名前。指定しない場合、構成で設定されたデフォルトの関数を使用します。 |
| fade | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| waitFade | boolean | 次のコマンドを実行する前に、フェードの完了を待機するかどうか。 |
; 15秒かけてフェードアウトし、「Rain」という名前のSFXの再生を停止します。
@stopSfx Rain fade:15
; 現在再生中のすべての効果音トラックを停止します。
@stopSfxstopVoice
現在再生中のボイスクリップの再生を停止します。
; ボイスが再生されていると仮定して、それを停止します。
@stopVoicesun
太陽光線(別名ゴッドレイ)をシミュレートするパーティクルシステムをスポーンします。
| パラメーター | 型 | 説明 |
|---|---|---|
| power | number | 光線の強度(不透明度)。0.0〜1.0の範囲で、デフォルトは0.85。0に設定すると、効果が無効(デスポーン)になります。 |
| time | number | パーティクルシステムは、指定された時間(秒単位)で光線の不透明度を目標レベルまで徐々に変化させます。 |
| pos | number list | スポーン効果のゲームオブジェクトに設定する位置(シーン境界に対する相対的なパーセンテージ)。位置は次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。正投影モードで深度によって移動(ソート)するには、Z成分(3番目のメンバー、例:,,10)を使用します。 |
| wpos | number list | スポーン効果のゲームオブジェクトに設定する位置(ワールド空間)。 |
| roll | number | スポーン効果のゲームオブジェクトに設定するZ軸回転。rotation パラメーターの3番目の成分と同じです。rotation が指定されている場合は無視されます。 |
| rotation | number list | スポーン効果のゲームオブジェクトに設定する回転。 |
| scale | number list | スポーン効果のゲームオブジェクトに設定するスケール。 |
| wait | boolean | 次のコマンドを実行する前に、効果のウォームアップアニメーションの完了を待機するかどうか。 |
; 10秒かけて強い日差しを開始します。
@sun power:1 time:10
; 30秒かけて日差しを停止します。
@sun power:0 time:30sync
指定された識別子を持つスクリプトトラックを現在の行に移動させ、ホストトラックを破棄します。非同期に実行されているトラックを互いに、またはメイントラックと結合(同期)するために使用します。詳細については、並行再生 ガイドを参照してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| trackId | string | 結合するスクリプトトラックの一意の識別子。指定しない場合はメイントラックを使用します。 |
60秒以内に爆弾を解除してください!
@async Boom
@wait 60
; 60秒後、「Boom」タスクが停止されていない場合、
; 下の @sync コマンドはメイントラックを強制的にここに移動させ、
; その後「BadEnd」スクリプトに移動します。
@sync
@goto BadEnd
; 一連の爆弾解除パズルをシミュレートします。
解除パズル1。
解除パズル2。
解除パズル3。
; 「Boom」非同期タスクが停止されたため、メイントラックは
; 中断することなく実行を継続します。
@stop Boom
爆弾は解除されました!timeline
指定された名前を持つシーン上のゲームオブジェクトの Director コンポーネントを介して Timeline を制御します。デフォルトでは、stop、pause、または resume フラグが指定されていない限り、コマンドはディレクターの再生を開始します。
| パラメーター | 型 | 説明 |
|---|---|---|
| name | string | Playable Director コンポーネントがアタッチされている、シーン上のアクティブなゲームオブジェクトの名前。 |
| stop | boolean | ディレクターを停止するかどうか。 |
| pause | boolean | ディレクターを一時停止するかどうか。 |
| resume | boolean | ディレクターを再開するかどうか。 |
| wait | boolean | スクリプトの実行を続行する前に、ディレクターの再生が停止するまで待機するかどうか。 |
; シーン上の「Cutscene001」ゲームオブジェクトにアタッチされたディレクターに
; 関連するタイムラインの再生を開始させ、完了を待機します。
@timeline Cutscene001 wait!
; 「The Other Cutscene」ゲームオブジェクトにアタッチされたディレクターを停止します。
@timeline "The Other Cutscene" stop!title
エンジンの状態をリセットし、Title スクリプト(スクリプト構成で割り当てられている場合)の再生を開始します。
; タイトルメニューに戻ります。
@titletoast
指定されたテキストと(オプションで)外観および表示時間を使用して、自動的に非表示になる汎用ポップアップ通知(別名「トースト」)のUIを表示します。UIは、指定された(またはデフォルトの)時間の経過後に自動的に非表示になります。
注意
外観名は、ToastUI UIプレハブ内の Toast Appearance コンポーネントを持つゲームオブジェクトの名前です(大文字と小文字は区別されません)。
| パラメーター | 型 | 説明 |
|---|---|---|
| text | string | トーストに設定するテキストコンテンツ。 |
| appearance | string | トーストの外観バリアント(ゲームオブジェクト名)。指定しない場合、Toast UIプレハブで設定されたデフォルトの外観を使用します。 |
| time | number | トーストを非表示にする前に待機する秒数。指定しない場合、Toast UIプレハブでデフォルトで設定された時間を使用します。 |
; 内容が「こんにちは、世界!」のデフォルトのトーストを表示します。
@toast "こんにちは、世界!"
; 「warning」外観のトーストを表示します。
@toast "危険です!" appearance:warning
; トーストは1秒で消えます。
@toast "1秒後に消えます。" time:1trans
シーントランジションを実行します。まず、コマンドの実行開始時に表示されている内容(UIを除く)で実際のシーンを覆い隠します。その間にネストされたコマンドでシーンを変更し、最後に指定された トランジションエフェクト を適用します。
このコマンドはアクターの外観のトランジションと同様に機能しますが、シーン全体を対象とします。複数のアクターやその他の可視エンティティを、トランジションエフェクト付きで一括して新しい状態に変更するために使用します。
注意
トランジションの進行中(ネストされたコマンドの実行中)、UIは非表示になり、入力はブロックされます。トランジション処理を担当する ISceneTransitionUI をオーバーライドすることで、これを変更できます。
非同期のネストされたコマンドは、それぞれに time:0 を指定しなくてもすぐに実行されます。
ネストされたブロックは必ず終了することを前提としています。ネストされたブロックの外に移動する可能性のあるコマンドをネストしないでください。未定義の動作が発生する可能性があります。
| パラメーター | 型 | 説明 |
|---|---|---|
| transition | string | 使用する トランジションエフェクト のタイプ(デフォルトではクロスフェードが使用されます)。 |
| params | number list | トランジションエフェクトのパラメーター。 |
| dissolve | string | カスタムディゾルブ テクスチャへのパス(パスは「Resources」フォルダーに対する相対パスである必要があります)。トランジションが Custom モードに設定されている場合にのみ効果があります。 |
| easing | string | トランジションに使用する イージング関数 の名前。 |
| time | number | トランジションの時間(秒単位)。 |
; 「Felix」キャラクターと晴れた雰囲気で初期シーンを設定します。
@char Felix
@back SunnyDay
@sun power:1
Felix: なんていい天気だ!
; 「Jenna」キャラクターと雨の雰囲気の新しいシーンに、
; 「DropFade」トランジションエフェクトを使用して3秒かけてトランジションします。
@trans DropFade time:3
@hide Felix
@char Jenna
@back RainyDay
@sun power:0
@rain power:1
Jenna: このいまいましい雨はいつ止むの?unless
反転した条件付き実行ブロックの開始を示します。ネストされた行はブロックの本体と見なされ、プライマリパラメーターの条件が false と評価された場合にのみ実行されます。詳細については、条件付き実行 ガイドを参照してください。
注意
このコマンドは @if の逆であり、互いに補完し合います。
| パラメーター | 型 | 説明 |
|---|---|---|
| expression | string | シナリオ式。関連付けられたネストされたブロックを実行するかどうかを決定するブール値を返す必要があります。 |
; 「dead」変数がfalseの場合に「まだ生きています!」を表示し、
; それ以外の場合は「もうおしまいです。」を表示します。
@unless dead
まだ生きています!
@else
もうおしまいです。
; 「score」変数に応じてテキスト行を表示します:
; 「テスト結果:合格。」 - scoreが10以上の場合。
; 「テスト結果:不合格。」 - scoreが10未満の場合。
テスト結果:[unless score<10]合格。[else]不合格。[endif]unlinkPrinter
以前に @linkPrinter でリンクされたテキストプリンターを話者(キャラクターアクター)からリンク解除します。詳しくは リンクされたプリンターガイド を参照してください。
| パラメーター | 型 | 説明 |
|---|---|---|
| printerId | string | リンク解除するテキストプリンターの識別子。指定しない場合は、すべてのプリンターをリンク解除します。 |
| from | string list | リンク解除するキャラクターアクターの識別子。指定しない場合はすべての話者からリンク解除します。 |
; 「Dialogue」プリンターを話者「Kohaku」と「Yuko」からリンク解除します。
@unlinkPrinter Dialogue from:Kohaku,Yuko
; 話者「Kohaku」からすべてのプリンターをリンク解除します。
@unlinkPrinter from:Kohaku
; 「Dialogue」プリンターをすべての話者からリンク解除します。
@unlinkPrinter Dialogue
; すべてのプリンターをすべての話者からリンク解除します。
@unlinkPrinterunloadScene
指定された名前の Unityシーン をアンロードします。ロードできるようにするには、必要なシーンを ビルド設定 に追加することを忘れないでください。加算的にロードされたシーンのみをアンロードできることに注意してください(少なくとも1つのシーンは常にロードされたままにする必要があります)。
| パラメーター | 型 | 説明 |
|---|---|---|
| sceneName | string | アンロードするシーンの名前。 |
; 「TestScene2」シーンを加算モードでロードしてからアンロードします。
@loadScene TestScene2 additive!
@unloadScene TestScene2unlock
指定されたIDの アンロック可能アイテム を unlocked 状態に設定します。
注意
アイテムのアンロック状態は グローバルスコープ に保存されます。
指定されたIDのアイテムがグローバル状態マップに登録されていない場合、対応するレコードが自動的に追加されます。
| パラメーター | 型 | 説明 |
|---|---|---|
| id | string | アンロック可能アイテムのID。登録されているすべてのアンロック可能アイテムをアンロックするには * を使用します。 |
; ID「FightScene1」のアンロック可能CGレコードをアンロックします。
@unlock CG/FightScene1voice
指定されたパスのボイスクリップを再生します。
| パラメーター | 型 | 説明 |
|---|---|---|
| authorId | string | このボイスが属するキャラクターアクターのID。指定され、話者ごとの音量 が使用されている場合、音量はそれに応じて調整されます。 |
| group | string | オーディオを再生するときに使用するオーディオミキサー グループパス。 |
| loop | boolean | 再生が終了したときに、停止されるまで最初から繰り返すかどうか。 |
| volume | number | オーディオ再生の音量(0.0〜1.0の範囲)。1.0がデフォルトであることに注意してください。クリッピングなしにデジタルオーディオを0 dBFS基準より大きく再生することはできません。 |
| pitch | number | 再生の知覚上の周波数(速度)。-3.0〜3.0 の範囲で、1.0が通常の速度です。負の値はオーディオを逆再生します。 |
| pos | number list | オーディオソースの位置(シーン境界に対する相対的なパーセンテージ)。位置は次のように記述されます:0,0 は左下、50,50 は中央、100,100 はシーンの右上隅です。Z成分(3番目のメンバー、例:,,10)を使用して深度を変更します。 |
| wpos | number list | オーディオソースの位置(ワールド空間)。pos と wpos のどちらも指定しない場合、空間モードは無効になります。 |
| wait | boolean | オーディオの再生が終わるまで待ってから次のコマンドを実行するかどうか。ループ再生時は効果がありません。 |
| path | string | オーディオリソースのローカルパス(名前)。 |
| easing | string | 適用する イージング関数 の名前。指定しない場合、構成で設定されたデフォルトの関数を使用します。 |
| fade | number | コマンドによって開始されるアニメーションの時間(秒単位)。 |
| lazy | boolean | コマンドによって開始されたアニメーションがすでに実行中の場合、lazy を有効にすると現在の状態から新しいターゲットまでアニメーションを継続します。lazy が有効でない場合(デフォルトの動作)、実行中のアニメーションは新しいターゲットへのアニメーションを開始する前に即座に完了します。 |
| waitFade | boolean | 次のコマンドを実行する前に、フェードの完了を待機するかどうか。 |
; 「Rawr」ボイスリソースを低いピッチで再生します。
@voice Rawr pitch:0.5wait
指定された待機条件が満たされるまで、スクリプトの実行を一時停止します。
| パラメーター | 型 | 説明 |
|---|---|---|
| waitMode | string | 待機条件: - i プレイヤーが続行またはスキップ入力キーを押す。- 0.0 タイマー(秒)。- i0.0 続行またはスキップ入力キーでスキップ可能なタイマー。 |
; 背景のシェイク効果が終了してから0.5秒後に雷のSFXが再生されます。
@spawn ShakeBackground
@wait 0.5
@sfx Thunder
; 最初の文を表示し、残りを表示する前に入力を待機します。
吾輩は猫である。[wait i]名前はまだ無い。
; この待機モードには、次のショートカットも使用できます。
吾輩は猫である。[-]名前はまだ無い。
; ループSFXを開始し、メッセージを表示し、スキップ可能な5秒の遅延を待機してから、
; SFXを停止します。
@sfx Noise loop!
うわっ、なんてひどいノイズだ。止めてくれ![wait i5][>]
@stopSfx Noisewhile
指定された条件式が true と評価される限り、ネストされた行をループで実行します。
| パラメーター | 型 | 説明 |
|---|---|---|
| expression | string | シナリオ式。関連付けられたネストされたブロックのループ実行を継続するかどうかを決定するブール値を返す必要があります。 |
; 数字当てゲーム。
@set number=random(1,100),answer=0
@while answer!=number
@input answer summary:"1から100までの数字を当ててください"
@if answer<number
不正解、小さすぎます。
@else if:answer>number
不正解、大きすぎます。
@else
正解!