マクロ機能を使うことで、繰り返しの多い冗長なシナリオを簡潔に記述することができるようになります。

具体的な事例としては、複数のVRoidモデルが登場する会話シーンをあげてみます。


例)2人の会話シナリオ

$load=model1
$load=model2
#モデル1が話す
$model1
$resetface
$talk=on
$loadcameralerp=CameraforModel1.cam
こんにちは
#モデル2が話す
$model2
$resetface
$talk=on
$loadcameralerp=CameraforModel2.cam
こんばんは


話者が切り替わる度に、その話者用の設定を記述していくと、ちょっとした会話でも同じ繰り返しが多くなってきます。

繰り返される部分をマクロにすることによって、例えば以下のように記述を簡略することができます。


*macro=M1
こんにちは
*macro=M2
こんばんは


上記はマクロ定義部分は除いていますが、マクロを使わない場合と比較すれば、どれだけ記述を省略できるかお分かりいただけると思います。

ただ会話が「こんにちは」「こんばんは」の二言三言であれば、定義の方がかえって長くなってしまいますので、マクロを使う必要はないと思います。

では続いて定義について見てみましょう。


*startmacro=M1
$model1
$resetface
$talk=on
$loadcameralerp=CameraforModel1.cam
*endmacro

*startmacro=M2
$model2
$resetface
$talk=on
$loadcameralerp=CameraforModel2.cam
*endmacro


*startmacro=[マクロ名] ~ *endmacro で括られた行がマクロとして登録されます。

*macro=[マクロ名]
で登録されたマクロを呼び出すことができます。

登録されたマクロは別のシナリオでも呼び出すことが可能です。ただし他のシナリオで同じマクロ名で登録された場合には、上書きされてしまう可能性があります。

そのためマクロ名を付ける場合は、重複のないユニークな名前を選ぶようにしてください。


最後に、マクロコマンドの冒頭が”$”ではなく”*”になっていることにお気づきになられたかもしれません。これはこのコマンドがシナリオファクトリーの機能であるためです。

Category
HachiViewerPlus

No responses yet

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA