[計算](Solve)ロールアウト

群集シミュレーションを設定したら、このロールアウトを使用して、計算パラメータを設定し、シミュレーションを計算することができます。任意のフレームから開始して、連続してまたはフレームごとに計算することができます。

インタフェース

計算
指定されたすべての動作をその動作が割り当てられた代理オブジェクトに適用して、群集シミュレーションを連続して実行します。シミュレーションを計算すると、前の結果はすべて上書きされます。

進行中の計算を中断して、その時点までに生成されたすべてのキーを保存するには、Esc キーを押します。また、複雑なアニメーションの場合は、Shift+Esc を押すと、キーを保存せずに計算が中断され、時間を短縮することができます。

フレーム毎に計算
タイム スライダの位置で指定されている現在のフレームから開始し、フレームごとに群集シミュレーションを実行します。フレームを 1 つ進めるには、スペースバー を押します。

進行中の計算を中断して、その時点までに生成されたすべてのキーを保存するには、Esc キーを押します。こうすると、[N 番目のキーごとに保存](Save Every Nth Key)の既定値以外の設定はすべて無視されます。また、複雑なアニメーションの場合は、Shift+Esc を押すと、キーを保存せずに計算が中断され、時間を短縮することができます。

注: [フレーム毎に計算](Step Solve)を使用すると、常に現在のフレームから開始され、[シミュレーション開始](Simulation Start)設定は無視されます。
シミュレーション開始
シミュレーションの最初のフレームです。既定値は 0 です。

計算を繰り返し可能にするためには、このオプションを設定し、同じ値に維持します。

計算を開始
計算を開始するフレームです。既定値は 0 です。

[シミュレーション開始](Simulation Start)の値以上に設定する必要があります。[シミュレーション開始](Simulation Start)の値よりも大きい場合は、シミュレーションは途中から始まります。

初めて計算を実行する場合は、[計算を開始](Start Solve)と[シミュレーション開始](Simulation Start)を同じ値に設定し、後で[計算を開始](Start Solve)をシミュレーションの途中から計算が始まるよう設定した際に、そこまでのシミュレーションが修正されるようにします。

注: [計算を開始](Start Solve)をアクティブ タイム セグメントの最初のフレームより小さい番号のフレームに設定した場合は、タイム セグメントの最初のフレームが[開始時間](Start Time)の値に変更されます。
計算を終了
計算に使用される最後のフレームを指定します。既定値は 100 です。
注: [計算を終了](End Solve)をアクティブ タイム セグメントの最後のフレームより大きい番号のフレームに設定した場合は、タイム セグメントの最後のフレームが[計算を終了](End Solve)の値に変更されます。
計算前にキーを削除
計算が実行される範囲で、アクティブな代理オブジェクトのキーを削除します。既定値ではチェックマークが付いていません。

このオプションでは、最初の 2 つのキーはそのまま維持されるので、代理オブジェクトにキーがなくなって現在の位置に現れることはありません。この機能は、Biped の群集に使用すると便利です。計算されていない Biped で古いアニメーションが実行されることなく、各 Biped が計算されるのを 1 つ 1 つ確認することができます。

N 番目のキーごとに保存
計算の後に保存される位置キーと回転キーの数を指定します。
[位置](Positions)および[回転](Rotations)
代理オブジェクトの位置と回転に対してキーが保存される頻度です。0 の場合、キーは保存されません。1 の場合、キーはフレームごとに保存されます。2 の場合、キーは 2 フレームごとに保存されます。以下同様です。既定値は 1 です。

[計算しながら表示](Display During Solve)領域

表示を更新
このチェック ボックスにチェックマークが付いている場合、群集シミュレーションの計算中に、生成されたモーションがビューポートに表示されます。既定値ではチェックマークが付いています。
周期
計算中に表示が更新される頻度です。1 の場合、表示はフレームごとに更新されます。2 の場合、表示は 2 フレームごとに更新されます。以下同様です。既定値は 1 です。
ベクトル スケール
計算中に表示されるフォースのベクトルと速度のベクトルをすべてグローバルにスケールします。既定値は 10.0 です。

ベクトルが非常に小さいときは、拡大すると見やすくなります。シミュレーションには影響ありません。

[MAXScript]領域

この機能を使用すると、各フレームで MAXScript スクリプトを実行できます。これは、Biped を操作するのが主な目的です。具体的には、共有モーション フロー機能が使用された際に、Biped で次に選択されるクリップを指定できるよう、Biped への MAXScript 呼び出しを利用します。この機能を使用すると、現在使用されているクリップ、フレーム番号、他の Biped の近似など、スクリプト内で指定できるものに基づいて、Biped の次のクリップを群集シミュレーション中にダイナミックに選択できるスクリプトを記述することができます。このスクリプト機能は、他の目的で使用することもできます。

MAXScript を使用
このチェック ボックスにチェックマークが付いている場合、計算中に各フレームで、ユーザが指定したスクリプトが実行されます。既定値ではチェックマークが付いていません。
関数名
実行される関数の名前です。この名前は、スクリプトでも指定する必要があります。
MAXScript を編集
このボタンをクリックすると、スクリプトを表示して修正する MAXScript のウィンドウが開きます。

[Biped]領域

代理オブジェクトにリンクした Biped を使用するシミュレーションを計算する場合は、この領域の 3 つのオプションをすべて使用することを強くお勧めします。

Biped/代理オブジェクトのみ
このチェック ボックスにチェックマークが付いている場合、計算には Biped または代理オブジェクトだけが含まれます。また、優先順位とバックトラックを使用するオプションが使用可能になります。これらのオプションは、Biped のみの計算に対してだけ使用できます。既定値ではチェックマークが付いていません。
優先順位を使用
このチェック ボックスにチェックマークが付いている場合、Biped または代理オブジェクトは、優先順位の値が低いものから高いものへ順番に 1 組ずつ計算されます。また、バックトラックが使用できるようになり、[フレーム毎に計算](Step Solve)が使用できなくなります。既定値ではチェックマークが付いていません。

バックトラック
Biped を使用する群集シミュレーションの解決時に、バックトラック機能をオンにします。既定値ではチェックマークが付いていません。

[バックトラック](Backtracking)(Backtracking)をオンにして計算を実行すると、Biped 同士が衝突しそうになった場合に、シミュレーションが現在のクリップの最初まで戻され、優先順位が低い代理オブジェクトと Biped のモーション フロー グラフの経路が試されます。必要であれば、2 つまたはそれ以上前のクリップに戻ります。