インタフェース: pop

[インタフェース](Interfaces) > [コア インタフェース](Core Interfaces) > [ポップ](pop)

 

   

コア インタフェース - クイック ナビゲーション

 

   

pop Core インタフェースは、Populate システムの設定とシミュレーションに関連するプロパティとメソッドを公開します。

3ds Max 2014 以降で使用可能です。

   

Populate システムは、歩行者(シーンに入ったり、フローに沿って歩いたり、シーンから出たりするキャラクタ)と歩行しない人(立ったまま、または座ったままのキャラクタ)を区別します。

歩行しない人以外の歩行者は、再利用(異なる時間に異なる場所で「スポーン」)することができます。歩行者のキャラクタの各アニメーションは、ポータルに入る時間からポータルから出る時間まで、「スポーン」と呼ばれます。

スポーン実装は、3ds Max 2015 で変更されました。3ds Max 2014 では、すべての歩行者はアニメーション全体に存在し、アニメートされていました。複数のスポーンがある場合がありますが、スポーン間の時間はないため、いくつかのフレームで消してモーション ブラーを容易にしていました。すべての歩行者はシーン内に常に存在していて、アニメーション全体では同じの数の歩行者が存在していました。

3ds Max 2015 では、フローの密度をアニメートして、ポータルを開いたり閉じたりすることができるため、シーン内の歩行者の数を、アニメーション全体で大幅に変更することができます。シミュレーションでは、すべてのポータルに対してゼロ密度で、シーン内に歩行者のいない状態で起動してから密度が増加してシーンに多くのキャラクタを追加します。その後、フローを離れるときに他の場所でスポーンできないように減少します。

選択した歩行者で実行できる 5 つの操作(再生成、外観をスワップ、解像度を切り替え、削除、およびベイク処理)があります。複数のスポーンを使用して歩行者に実行すると、これらの操作のいくつかは、現在のスポーンにのみ影響します。1 つは現在のフレームでアクティブになっていて、他は選択した歩行者のすべてのスポーンに影響を与えます。操作方法に関する決定は、予測したユーザのニーズ、経験、および技術的な理由に基づいたものです。次の表で、各操作方法を示します。

操作 効果
再生成 現在のスポーンにのみ影響
外観をスワップ すべてのスポーンに影響
解像度を切り替え すべてのスポーンに影響
削除 現在のスポーンにのみ影響
ベイク処理 すべてのスポーンに影響

現在のスポーンにのみ影響を与える操作を公開するスクリプト メソッドは、影響を受けるスポーンを指定するために引数として <time> を利用します。

   

プロパティ:

pop.DisplayType : enum : Read|Write
       DisplayType enums: {#StickFigure|#CrowdCustom|#CrowdSkin}

キャラクタの[表示タイプ](Display Type)を取得/設定します。

既定値は #CrowdSkin です。

   

pop.TurnOpt : enum : Read|Write
       TurnOpt enums: {#hybrid|#maxspeed|#maxdistribution|#mindistance|#none}

最適化設定モードを取得/設定します。

既定値は #hybrid です。

3ds Max 2015 以降で使用可能です。

   

pop.NumFrames : integer : Read|Write

シミュレートするフレームの数を取得/設定します。

既定値は 300 です。

   

pop.RealWorldScale : float : Read|Write

現在のシステム単位設定に対して相対的なワールド スケールを取得/設定します。

既定値は 1.0 です。

   

pop.SeatFemalePct : float : Read|Write

女性のシートの比率を取得/設定します。

3ds Max 2015 以降で使用可能です。

   

pop.SeatMaxTalkDist : float : Read|Write

着座時の最大会話距離を取得/設定します。

3ds Max 2015 以降で使用可能です。

   

pop.SeatMaxTalkAngle : float : Read|Write

着座時の最大会話角度を取得/設定します。

3ds Max 2015 以降で使用可能です。

   

メソッド:

<integer>pop.NumStandingIdlers()

シミュレーション内の立位の(着座していない)アイドル状態のキャラクタの数を返します。

3ds Max 2015 以降で使用可能です。

   

<integer>pop.NumSeatedIdlers()

シミュレーション内の着座しているアイドル状態のキャラクタの数を返します。

3ds Max 2015 以降で使用可能です。

   

<integer>pop.NumPedestrians()

シミュレーション内の歩行者(アイドル状態ではない)キャラクタの数を返します。

3ds Max 2015 以降で使用可能です。

   

<node>pop.GetStandingIdler <integer>index

インデックスで指定された、立位のアイドル状態のキャラクタのノードを返します。

3ds Max 2015 以降で使用可能です。

   

<node>pop.GetSeatedIdler <integer>index

インデックスで指定された、着座しているアイドル状態のキャラクタのノードを返します。

3ds Max 2015 以降で使用可能です。

   

<node>pop.GetPedestrian <integer>index

インデックスで指定された、歩行者キャラクタのノードを返します。

3ds Max 2015 以降で使用可能です。

   

<bool>pop.AddIdleArea <node>IdleArea

指定された IdleAreaObj object をフロー シミュレーションに追加します。

   

<bool>pop.AddFlow <node>Flow

指定された Flow オブジェクトをフロー シミュレーションに追加します。

   

<bool>pop.AddSeat <node>Seat

指定された Seat オブジェクトをフロー シミュレーションに追加します。

3ds Max 2015 以降で使用可能です。

   

<void>pop.Simulate()

現在の設定を使用してフローをシミュレートします。

UI の [Populate](Populate) > [シミュレーション](Simulation)パネルの[シミュレート](Simulate)アイコンを押すことに相当します。

   

<void>pop.ResimulateSelected() 

選択されたキャラクタを再シミュレートします。

3ds Max 2015 以降で使用可能です。

   

<void>pop.RegenerateSelected <time>time

指定された時間に選択されたキャラクタを再生成します。

UI の [Populate] > [シミュレーション](Simulation)パネルの[選択を再生成](Regenerate Selected)アイコンを押すことに相当します。

既存のメソッドに再生成する時間を指定する引数が追加されました。

3ds Max 2015 以降で使用可能です。

   

<void>pop.DisplayEnv <boolean>show

引数が True の場合、Environment オブジェクト(Flows、IdleAreas)が表示されます。

引数が False である場合、環境オブジェクトは非表示になります。

UI の [Populate](Populate) > [表示](Display)パネルの[環境を表示](Show Environment)切り替えアイコンを押すことに相当します。

   

<void>pop.DisplayPeople <boolean>show

引数が True の場合は、キャラクタは表示されます。

引数が False の場合、キャラクタ オブジェクトは非表示になります。

UI の [Populate](Populate) > [表示](Display)パネルの[人を表示](Show People)切り替えアイコンを押すことに相当します。

   

<void>pop.DisplayMarks <boolean>show

引数が True の場合、マークを表示します。

引数が False の場合、マークを非表示にします。

3ds Max 2015 以降で使用可能です。

   

<void>pop.SetSelectedSeatsGender()

pop.SeatFemalePct のシート性別比率の値に従って選択されたシートの性別を設定します。

3ds Max 2015 以降で使用可能です。

   

<void>pop.ShowAppearanceUI()

[群集スタイルのカスタマイズ](Crowd Styles Customization)ダイアログ ボックスが開きます。

3ds Max 2015 以降で使用可能です。

   

<void>pop.SwapSelPeopleAppearance()

選択されたキャラクタの外観をスワップします。

3ds Max 2015 以降で使用可能です。

   

<void>pop.DeletePeople()

シミュレーションからキャラクタを削除します。

UI の [Populate](Populate) > [表示](Display)パネルの[人を削除](人を削除)アイコンのクリックに相当します。

   

<void>pop.DeleteSelPeople <time>time

指定された時間のシミュレーションから選択されたキャラクタを削除します。

現在のスポーンにのみ影響します。スポーンの詳細については、このページの冒頭を参照してください。

3ds Max 2015 以降で使用可能です。

   

<bool>pop.SwitchSelPeopleResolution()

テクスチャ スキンがアクティブな場合、選択されたキャラクタのメッシュおよびテクスチャの詳細を切り替えます。

3ds Max 2015 以降で使用可能です。

   

<void>pop.SwitchSelPeoplePos <time>time

指定された時間に選択されたキャラクタの位置を切り替えます。

現在のスポーンにのみ影響します。スポーンの詳細については、このページの冒頭を参照してください。

3ds Max 2015 以降で使用可能です。

   

<void>pop.BakeSelPeople()

選択されたキャラクタを 3ds Max のスキンとボーンにベイク処理します。

アニメーションを編集することができ、任意のモディファイヤをメッシュに適用することができます。また、キャラクタは、ベイク処理後、FBX に書き出すこともできます。

この機能は MAXScript を介してのみ利用可能です。

3ds Max 2015 以降で使用可能です。

   

<void>pop.SaveTextureMaps <boolean>save

引数が True の場合、テクスチャ マップを保存します。

3ds Max 2015 以降で使用可能です。

   

例:
theFlow = Flow() --Create a Flow object
--> $Flow:Flow001 @ [0.000000,0.000000,0.000000]
theFlow.AddPoint [0,0,0] --Add some points
--> true
theFlow.AddPoint [1000,0,0] 
--> true
theFlow.AddPoint [15000,500,0] 
--> true
theFlow.AddPoint [1000,1000,0] 
--> true

pop.AddFlow theFlow --Add the Flow to the Populate system
--> true
pop.Simulate() --Perform the simulation
--> OK
pop.DisplayEnv false --Hide the Flow environment, leaving only the people
--> OK
pop.DisplayType = #StickFigure --Switch the character display to stick figures
--> #StickFigure

関連事項