[優先順位](Priority)ロールアウト

群集のシステムでは、代理オブジェクトに関連付けられた Biped を含むシミュレーションを計算する場合、[優先順位](Priority)ロールアウトの設定が使用されます。

優先順位パラメータは正の整数で、ユーザが代理オブジェクトに割り当てます。優先順位が使用されると、優先順位の設定が低いものから高いものへ順に、Biped が 1 つずつ計算されます。つまり、優先順位の設定が低いほど、実際の優先順位は高くなります。2 組の Biped または代理オブジェクトの優先順位が同じ場合、この 2 つの計算順序はランダムに決定されます。

この項では、代理オブジェクトの優先順位を設定する 6 つの方法と、異なる状況で優先順位を利用する方法について説明します。

優先順位の使用

すべてが同じ方向に向かう群集がある場合、一般的には代理オブジェクトを先頭に配置して最初に計算されるようにします。この場合、[オブジェクトへの距離](Proximity To An Object)または[グリッドへの距離](Proximity To A Grid)を優先順位の設定に使用すると便利です。

円形に配置した Biped から開始して、さまよったり混ざり合ったりさせる場合は、Biped の優先順位は関係ないかもしれません。この場合は、すべての Biped の優先順位を同じにして、最初に動くものをシステムに決定させることができます。しかし、ランダムな優先順位を割り当てたり優先順位を固有にして、毎回同じ順序になることを確実にし、優先順位の数値から次の動作を予測できるようにした方が良い場合もあります。このようにすると、必要に応じて順序を変更することもできます。

2 つの Biped のグループがあり、すべてにランダムな優先順位が割り当てられているとします。各グループ内で優先順位の関係を維持し、一方のグループをもう一方のグループの前または後にする場合は、[優先順位を増分](Increment Priorities)を使用して 1 つのグループの優先順位をすべて増分または減分することができます。

状況に適用できるアルゴリズムがない場合は、優先順位を手動で設定する方法が必要です。優先順位を目で見ながら設定できれば便利です。[選択による割り当て](Assign By Picking)を使用すれば、それが可能です。

インタフェース

優先順位初期値
初期の優先順位の値を設定します。[選択による割り当て](Assign By Picking)、[オブジェクトへの距離](Proximity To An Object)、[グリッドへの距離](Proximity To A Grid)、および[優先順位をランダムに割り当て](Assign Random Priorities)の優先順位設定方法に適用されます。既定値は 0 です。
注: 優先順位は、昇順に割り当てられます。したがって、優先順位が 0 の代理オブジェクトは、優先順位が 1 の代理オブジェクトに優先し、優先順位が 1 の代理オブジェクトは、優先順位が 2 の代理オブジェクトに優先します。

[選択による割り当て](Assign by Picking)領域

選択/割り当て
ビューポートで各代理オブジェクトを順に選択することにより、任意の数の代理オブジェクトに優先順位の値をそれぞれ増分して割り当てます。最初に選択した代理オブジェクトには、[優先順位初期値](Start Priority)の値が割り当てられます。2 番目以降に選択した代理オブジェクトには、1 ずつ増分した優先順位の値が割り当てられます。

優先順位の割り当てを停止するには、ビューポートを右クリックするか、[選択/割り当て](Pick/Assign)ボタンをもう一度クリックします。

代理オブジェクトの優先順位は、ビューポートの各代理オブジェクトに黒の数値で表示されます。

注: 処理中に割り当てを元に戻したり割り当て直したりすることもできます。
ヒント: この方法を使用して、複数の代理オブジェクトに同じ優先順位の値を割り当てることも可能です。その場合、動作をより正確に予測するには、[優先順位を一意にする](Make Priorities Unique)を使用して代理オブジェクトの優先順位が同じにならないようにします。

[計算による割り当て](Assign by Computation)領域

この領域には、優先順位を割り当てる 5 つの方法と、これらの方法の影響を受ける代理オブジェクトを選択するボタンがあります。

代理オブジェクトの優先順位
[選択](Select)ダイアログ ボックスを使用して、このダイアログ ボックスの他のコントロールを続けて使用した場合に影響を受ける代理オブジェクトを指定します。[選択](Select)ダイアログ ボックスで代理オブジェクトを選択し、[選択](Select)をクリックしてダイアログ ボックスを閉じます。この選択は、[オブジェクトへの距離](Proximity To An Object)および[グリッドへの距離](Proximity To A Grid)を使用した割り当てのみに適用されます。
オブジェクトへの距離
代理オブジェクトと特定のオブジェクトとの距離に基づいて、優先順位を割り当てます。オブジェクトを指定するには、[なし](None)ボタンをクリックして、優先順位の割り当ての基準にするオブジェクトを選択します。最後に[割り当て](Assign)ボタンをクリックして、優先順位を計算し割り当てます。オブジェクトに最も近い代理オブジェクトに[優先順位初期値](Start Priority)の値が割り当てられ、2 番目に近い代理オブジェクトに 2 番目に高い優先順位、というように順に割り当てられます。

オブジェクトからの距離が等しい代理オブジェクトには、character studio により優先順位がランダムに割り当てられます。

グリッドへの距離
特定のグリッド オブジェクトで定義された無限平面から代理オブジェクトまでの距離に基づいて、優先順位を割り当てます。グリッド オブジェクトを指定するには、[なし](None)ボタンをクリックして、優先順位の割り当ての基準にするグリッド オブジェクトを選択します。最後に[割り当て](Assign)ボタンをクリックして、優先順位を計算し割り当てます。グリッド オブジェクトに最も近い代理オブジェクトに[優先順位初期値](Start Priority)の値が割り当てられ、2 番目に近い代理オブジェクトに2 番目に高い優先順位、というように順に割り当てられます。

平面からの距離が等しい代理オブジェクトには、character studio により優先順位がランダムに割り当てられます。

優先順位をランダムに割り当て
選択した代理オブジェクトにランダムな優先順位を割り当てます。割り当てられる優先順位の値の範囲は、[優先順位初期値](Start Priority)の値から、その値に選択した代理オブジェクトの数を足した値までです。
優先順位を一意にする
各代理オブジェクトの優先順位の値が、一意になるようにします。2 つの代理オブジェクトの優先順位が同じ場合は、どちらか 1 つにもう一方とは異なる新しい優先順位が割り当てられます。
優先順位を増分
選択したすべての代理オブジェクトの優先順位を、[増分](Increment)の値だけ増分します。
増分
[優先順位を増分](Increment Priorities)ボタンにより代理オブジェクトの優先順位を増分する値を設定します。優先順位の値を減分するには、負の値を設定します。既定値は 0 です。
開始フレームを設定
[開始フレームを設定](Set Start Frames)ダイアログ ボックスを開きます。割り当てられたプロパティに基づいて開始フレームを設定するためのダイアログ ボックスです。
優先順位を表示
割り当てられた優先順位の値を、代理オブジェクトにアタッチして黒の数値で表示します。既定値ではチェックマークが付いていません。
開始フレームを表示
割り当てられた開始フレームの値を、代理オブジェクトにアタッチして黒の数値で表示します。既定値ではチェックマークが付いていません。

[優先順位を表示](Display Priorities)と[開始フレームを表示](Display Start Frames)の両方がオンの場合は、2 つの値がスラッシュ記号(/)で区切って表示されます。優先順位はスラッシュの左側に表示され、開始フレームはスラッシュの右側に表示されます。