はとぅねスクリプト v1.04



■リスト仕様
タイトル画面に入るとシステムはscript/List.txtを読みに行きます。
ユーザーが新しくスクリプトを作成しても、List.txtに含まれていなければ実行することが出来ません。
List.txtの中に作成したスクリプトのファイル名を追加してください。

追加する場合は1ファイル名ごとに改行してください。
(scriptフォルダからの相対パスで記述)

List.txtとTitle.txtはシステムが読みに行くので、
削除またはリネームしないように注意してください。(編集はok)



■スクリプト仕様
基本的に”コマンド”の羅列で、それをいくつかの”グループ”でまとめている構成です。

・記述例
グループ名
{
	コマンド1
	コマンド2
	コマンド3
	...
}
グループ名は半角英数で63文字以内で記述してください。

スクリプトの再生には最低限InitとMainのグループが必要です。
Init
{
	...
}

Main
{
	...
}
システムはまずInitとMainのグループを実行します。
それ以外のグループは、AppendTriggerUnconditionコマンドで呼び出します。
Init
{
	...
}

Main
{
	...
	AppendTriggerUncondition(3, Sub)
}

Sub
{
	...
}

コマンドは必ずどこかのグループに所属している必要があります。
グループに入っていないコマンドは無視されます。




■コマンドリファレンス
グローバル設定関連のコマンド

 主にInitグループ内に記述します。
 実行タイミングは自動的に0が設定されるため即発動します。

SetFog(Near, Far, R, G, B)

 霧の設定。NearからFarにかけてRGBの色に線形に推移。
 設定例の数値をそのまま使用するのが無難です。
 Near,Farパラメータ範囲:0以上の浮動小数
 RGBパラメータ範囲:0〜255の整数

設定例
SetFog(10.0, 180.0, 200, 225, 255)

SetGlareFilter(乗算R,G,B,A 加算R,G,B,A)

 グレアフィルタ(ブルームエフェクト)の設定。
 各ピクセルに設定値乗算&加算し、ガウス処理でぼかしたレイヤーを生成。
 それをフレームバッファに加算でブレンドします。
 明るい部分がより明るくなります。光が周囲に溢れる効果もあります。
 設定例の数値をそのまま使用するのが無難です。
 パラメータ範囲:0.0〜1.0の浮動小数

設定例
SetGlareFilter(1.0, 1.0, 1.0, 0.20, -0.81, -0.80, -0.78, 0.0)

SetDirectionLight(X, Y, Z)

 平行光源の方向を設定。
 トゥーンシェーディングの見た目に大きく影響します。
 設定値は自動的に正規化されます。

設定例
SetDirectionLight(-1.0, -0.6, -0.4)

SetAmbientLight(R, G, B)

 環境光の色を設定。
 シェーディング時に最後に乗算する値として使用されます。
 パラメータ範囲:0.0〜1.0の浮動小数

設定例
SetAmbientLight(1.0, 1.0, 1.0)

SetBGColor(R, G, B)

フレームバッファのクリアカラーを設定。
ステージモデル無し&背景色(0,0,255)でブルーバックになります。
パラメータ範囲:0〜255の整数

設定例
SetBGColor(0, 0, 0)

LoadModel(ファイルパス, ファイル名)

 モデルデータをメモリ内に読み込み、使用可能な状態にします。
 ファイル名から拡張子を除いたものがモデル名となります。
 (モデル名はSetModel、InitNPC等で使用します)

設定例
LoadModel("data\xsi\stage01\", "stage01.xsibin")

LoadMotion(ファイルパス, ファイル名)

 モーションデータをメモリ内に読み込み、使用可能な状態にします。
 ファイル名から拡張子を除いたものがモーション名となります。
 (モーション名はSetMotion、InitNPC等で使用します)

設定例
LoadMotion("data\xsi\motion\", "UmaUma01.xsibin")

LoadStage(ファイルパス, ファイル名)

 LoadModel→CreateUnit→SetModelを一度に行います。
 モデル名とユニット名はファイル名から拡張子を除いたもの、ユニットタイプは"OBJ"になります。

設定例
LoadStage("data\xsi\stage01\", "stage01.xsibin")

LoadBGM(ファイルパス, ファイル名)

 BGM(wavファイル)を読み込み、いつでも再生可能な状態にします。
 再生するにはPlayBGMコマンドを使用します。
 (読み込みと再生のコマンドが分かれているのは遅延対策です)

設定例
LoadBGM("data\bgm\", "dummy.wav")


タイミング指定型のコマンド

 最初のパラメータに実行タイミング(単位:秒)を指定します。
 グループはそれぞれ発動してからの経過時間を持っていて、
 各コマンドの実行タイミングは、所属しているグループの経過時間を参照します。

SetGlareFilter(実行タイミング, 乗算R,G,B,A, 加算R,G,B,A, ブレンド時間)

 グレアフィルタ(ブルームエフェクト)の設定。実行タイミング指定版。

設定例
SetGlareFilter(5.0, 1.0, 1.0, 1.0, 0.20, -0.61, -0.60, -0.58, 0.0, 3.0)

PlayBGM(実行タイミング)

 LoadBGMで読み込んでおいた音声データを再生。

設定例
PlayBGM(1.5)

Camera(実行タイミング, 位置タイプ, 位置X,Y,Z, 注視X,Y,Z, 回転, 補間タイプ, 補完時間)

 カメラの設定。

・位置タイプ
  Global:位置X,Y,Zをグローバル座標として扱う。注視X,Y,Zはキャラのオフセット座標として扱う。
  Offset:位置X,Y,Zをキャラのオフセット座標として扱う。注視X,Y,Zもキャラのオフセット座標として扱う。
  Fix :位置X,Y,Zをグローバル座標として扱う。注視X,Y,Zもグローバル座標として扱う。
・補間タイプ(補完時間が0の場合は無視される)
  Linear:等速
  Curve:始めと終わりが緩やか

設定例
Camera(0, Offset, 1.4, 2.45, 6.2, 0, 1.0, 0, 0, Linear, 0)

CreateUnit(実行タイミング, ユニット名, ユニットタイプ)

 ユニットの生成。
 ユニット名は半角英数63文字以内で付けてください。IDとして使用するので重複しないように注意。
 ※システムに最初から常駐しているキャラクターのユニット名は"DefaultUnit"です。

・ユニットタイプ
  OBJ:背景・小物用
  NPC:キャラクター用(表情や影等の特殊処理用のバッファが付加)

 OBJの場合はSetModel、NPCの場合はInitNPCでモデルデータを指定するまでは描画されません。

設定例
CreateUnit(0, "OBJ01", OBJ)

DeleteUnit(実行タイミング, ユニット名)

 ユニットの破棄。

設定例
DeleteUnit(0, "OBJ01")

SetModel(実行タイミング, ユニット名, モデル名)

 ユニットのモデルを設定。

設定例
SetModel(0, "OBJ01", "stage01")

InitNPC(実行タイミング, ユニット名, モデル名, モーション名, シャドウスケール)

 NPCタイプのユニットの初期化セット。

設定例
InitNPC(0, "NPC01", "Miku", "UmaUma01", 1)

SetPosition(実行タイミング, ユニット名, X, Y, Z, ブレンド時間)

 ユニットの位置を設定。

設定例
SetPosition(0, "NPC01", -1.0, 0, 0.5, 0)

SetColor(実行タイミング, ユニット名, R, G, B, A, ブレンド時間)

 ユニットのカラーを設定。

設定例
SetColor(0, "NPC01", 0.0, 0.0, 0.0, 1.0, 0)

Motion(実行タイミング, モーション名, ブレンド時間, 再生位置, 再生スピード)

 "DefaultUnit"のモーションの設定。

設定例
Motion(10, GoMyWay, 0, 1.7, -0.1)

SetMotion(実行タイミング, ユニット名, モーション名, ブレンド時間, 再生位置, 再生スピード)

 ユニットのモーションの設定。

設定例
SetMotion(0, "NPC01", GoMyWay, 0.5, 35, 1)

Face(実行タイミング, シェイプターゲット名, ブレンド時間)

 "DefaultUnit"のシェイプアニメの設定。

設定例
Face(1.5, E_Close, 0.05)

SetShape(実行タイミング, ユニット名, シェイプターゲット名, ブレンド時間)

 ユニットのシェイプアニメの設定。

設定例
SetShape(1.5, "NPC01", E_Close, 0.05)

AppendTriggerUncondition(実行タイミング, グループ名)

 グループを起動。

設定例
AppendTriggerUncondition(3.1, Camera_Group)

End(実行タイミング, 終了タイプ, NextScriptName)

 終了設定。

・終了タイプ
  Repeat:同じスクリプトを最初から繰り返す
  Return:タイトルに戻る
  Next:指定のスクリプトへ移動
・NextScriptName
  終了タイプがNextの時に参照される。それ以外は無視。

設定例
End(125, Repeat)








■シェイプターゲットリスト
・目
E_Default
E_Close
E_Smile
E_WinkL
E_WinkR
E_Serious
E_Surprise

・眉
EB_Default
EB_Smile
EB_Serious
EB_Surprise

・口
L_Default
L_A
L_I
L_U
L_E
L_O

・眼球
ES_Default
ES_Small





■misc.
・コメント機能
「//」(スラッシュ2つ)を記述したところから改行までがコメントになります。