Particle_Paint- superclass: helper; super-superclass:node - 7:0 - classID:#(2097224847, 528423057)
説明:
Particle_Paint ヘルパーでは、特定のパターンおよびタイミングを使用してパーティクルを 1 つまたは複数のオブジェクトのサーフェスにペイントすることができます。Particle Paint ヘルパーにアクセスするには、[作成] (Create)パネル > [ヘルパー] (Helpers) > [パーティクル フロー](Particle Flow) > [Particle Paint]を選択します。
Particle Paint ヘルパーを使用してペイントされたパーティクル シードはパーティクルではありませんが、パーティクル フローの Birth_Paint オペレータまたは Placement_Paint オペレータを使用してパーティクルに変換することができるシードです。
フリーハンド ペイント ツールを使用してパーティクル シードをスプレーしたり、3ds Max のスプラインを使用してパターンを定義したりすることができます。Particle_Paint は、フロント ビューやトップ ビューなどのすべての直交ビューポートで動作します。ビューポートに垂直にスプレーし、最初に衝突したオブジェクトのサーフェスにパーティクル シードを埋め込みます。
Particle_Paint ヘルパーは、最初に 3ds Max 2009 に対する Creativity Extension の一部として 3ds Max に追加され、3ds Max 2010 ではその一部に統合されました。この機能はそれ以前は、パーティクル フロー ツール Box #1 として提供されていました。
コンストラクタ:
Particle_Paint...
プロパティ:
<Particle_Paint>.Spray_Radius (Brush_Radius) : worldUnits
[ブラシ半径](Brush Radius)の値を取得/設定します。
<Particle_Paint>.Density_Center : percent
[中心 %](Center percentage)の値を取得/設定します。
<Particle_Paint>.Density_Sides : percent
[側面 %](Sides percentage)の値を取得/設定します。
<Particle_Paint>.Per_Jet_Limit (Per_Stroke_Limit) : integer
[ストローク上限](Stroke Limit)値を取得/設定します。
<Particle_Paint>.Rate_Type : integer
[タイプ] (Type)ドロップダウン リストの選択インデックスを取得/設定します。
有効な値は次のとおりです。
0 - [時間] (Time) (既定値)
1 - [長さ] (Length)
2 - [ストローク] (Stroke)
<Particle_Paint>.Rate_Drops_Per_Second (Rate_Particles_Per_Second) : float
.Rate_Type
が 0 ([時間] (Time)) に設定されている場合に使用される[シード (/秒)]( Seeds Per Second)の値を取得/設定します。
<Particle_Paint>.Rate_Drops_Per_Length_Unit (Rate_Particles_Per_Length_Unit) : float
.Rate_Type
が 1 ([長さ] (Length)) に設定されている場合に使用される[ペイント ステップ](Paint Step)の値を取得/設定します。
<Particle_Paint>.Rate_Drops_Per_Jet (Rate_Particles_Per_Jet) : integer
.Rate_Type
が 2 ([ストローク] (Stroke)) に設定されている場合に使用される[合計] (Total)の値を取得/設定します。
<Particle_Paint>.Use_Radius_Graph : boolean
[半径] (Radius)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Spray_Radius_Graph (Brush_Radius_Graph) : maxObject
ブラシ半径グラフをコントロールしているグラフ オブジェクトを取得/設定します。
<Particle_Paint>.Use_Rate_Graph : boolean
[比率] (Rate)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Spray_Radius_Rate (Paint_Flow_Rate_Graph) : maxObject
レート グラフをコントロールしているグラフ オブジェクトを取得/設定します。
<Particle_Paint>.Display_Type : integer
[表示タイプ](Display Type)ドロップダウン リストの選択インデックスを取得/設定します。
有効な値は次のとおりです。
0 - [ティック] (Ticks) (既定値)
1 - [フラグ] (Flags)
<Particle_Paint>.Display_Size : worldUnits
[シード サイズ](Particle Size)の値を取得/設定します。
<Particle_Paint>.Jet_Start_Type (Stroke_Start_Type) : radiobtnIndex
ストローク開始タイプ ラジオ ボタンの選択インデックスを取得/設定します。
<Particle_Paint>.Jet_Start_Time (Stroke_Start_Time) : integer
ストローク開始の値を取得/設定します。
<Particle_Paint>.Jet_Stop_Type (Stroke_Stop_Type) : radiobtnIndex
ストローク終了タイプ ラジオ ボタンの選択インデックスを取得/設定します。
有効な値は次のとおりです。
0 - [リアル タイム オフセット](Real-Time Offset) (既定値)
1 - [固定] (Fixed)
2 - [期間] (Duration)
<Particle_Paint>.Time_Scale : percent
[タイム スケール %](Time Scale percentage)値を取得/設定します。
<Particle_Paint>.Jet_Stop_Time (Stroke_Stop_Time) : integer
[固定] (Fixed)の値を取得/設定します。
<Particle_Paint>.Jet_Duration (Stroke_Duration) : integer
[持続時間] (Duration)の値を取得/設定します。
<Particle_Paint>.AutoAdjust_Current_Frame : boolean
[現在のフレームを自動調整](Adjust Current Frame)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Adjust_Global_Timing : boolean
[グローバル タイミングを自動調整](Adjust Global Timing)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Icon_Size : worldUnits
[アイコン サイズ](Icon Size)の値を取得/設定します。
<Particle_Paint>.Random_Seed : integer
ランダムな[シード] (Seed)の値を取得/設定します。
<Particle_Paint>.Spray_At_Type (Paint_At_Type) : radiobtnIndex
ペイント対象ラジオ ボタンの選択を取得/設定します。
有効な値は次のとおりです。
0 - すべてのオブジェクトをペイント (既定値)
1 -** リストしたオブジェクトをペイント**
<Particle_Paint>.Spray_At_Objects (Paint_At_Objects) : node array
ペイント対象のノードの配列を取得/設定します。
<Particle_Paint>.Objects_Animated_Surface (Animated_Objects) : boolean
[アニメート オブジェクト](Animated Objects)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Include_Spray_Children (Include_Paint_At_Children) : boolean
[子を含める](Include Children)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Include_Spray_Group_Members (Include_Paint_At_Group_Member) : boolean
[グループ メンバを含める](Include Group Members)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Use_Mask_Objects : boolean
[マスク オブジェクトを使用](Use Mask Objects)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Masks : node array
マスク オブジェクト ノードの配列を取得/設定します。
<Particle_Paint>.Include_Mask_Children : boolean
[子を含める](Include Children)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Include_Mask_Group_Members : boolean
[グループ メンバを含める](Include Group Members)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Selection_Filter_Type (Animation_Offset_Painting) : integer
[選択フィルタ](Selection Filter)タイプ ドロップダウン リストの選択インデックスを取得/設定します。
有効な値は次のとおりです。
0 - なし (既定値)
1 - 選択された面のみ
2 - ソフト選択
<Particle_Paint>.Location_Type : integer
シードの位置タイプ ドロップダウン リストの選択インデックスを取得/設定します。
有効な値は次のとおりです。
0 - サーフェス上 (既定値) - ペイント対象のすべてのオブジェクトのサーフェス上にパーティクル シードをペイントします。
1 - サーフェスの上 - すべてのペイント対象のオブジェクトのサーフェスの上にパーティクル シードをペイントします。サーフェスからの距離は[距離] (distance)パラメータで設定します。
2 - サーフェスの下 - ペイント対象のオブジェクトのサーフェスの下にパーティクル シードをペイントします。サーフェスからの距離は[距離] (distance)パラメータで設定します。
3 - サーフェスの上下 - ペイント対象のオブジェクトのサーフェスの上下にパーティクル シードをペイントします。サーフェスからの距離は[距離] (distance)パラメータで設定します。
<Particle_Paint>.Distance : worldUnits
パーティクル シードを配置するサーフェスの上および下の距離を取得/設定します。
<Particle_Paint>.Distance_Variation : percent
[距離] (Distance)の値のランダムな変動 ([変動 %](value as percentage)の値) を取得/設定します。
<Particle_Paint>.Use_Separation : boolean
[分割] (Separation)チェックボックスの状態を取得/設定します。
true に設定した場合は、パーティクル ペイントは、パーティクル シード間の間隔が適切に保たれるように、繰り返しシードの生成を試行します。[最大試行回数](Max Attempts)パラメータでは、この試行の最大回数を設定します。ただし、[距離] (Distance)の値が低く、[分割] (Separation)の値が高い場合は、何度も試行を繰り返しても適切なシード間隔が得られないことがあります。そのような場合は、[分離のためのスタック](Stack Up For Separation)を有効にします。
<Particle_Paint>.Separation_Distance : worldUnits
分割の距離の値を取得/設定します。
<Particle_Paint>.Maximum_Number_Of_Attempts : integer
[最大試行回数] (Max)の値を取得/設定します。
<Particle_Paint>.Stack_Up_For_Separation : boolean
[分離のためのスタック](Stack Up For Separation)チェックボックスの状態を取得/設定します。
true に設定した場合は、シードの生成を繰り返してパーティクルを分離させる代わりに、衝突するシードをサーフェス法線の方向へ移動することで分離の衝突が解決されます。
<Particle_Paint>.Generate_Rotation : boolean
[回転コンポーネントを生成](Generate Rotation Comp.)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Priority_Axis : radiobtnIndex
[優先軸](Priority Axis)ラジオ ボタンの選択インデックスを取得/設定します。
有効な値は次のとおりです。
0 - [X-軸] (X-Axis) (既定値)
1 - [Z-軸] (Z-Axis)
X 軸を優先軸として選択すると、パーティクルはまずドロップダウン リストで指定した方法でローカル X 軸に位置合わせされた後、ローカル Z 軸に位置合わせされます。
Z 軸を選択した場合は、パーティクルはまずローカル Z 軸に位置合わせされた後、X 軸に位置合わせされます。
<Particle_Paint>.Reverse_X_Axis : boolean
[X 軸](X Axis)が選択されている場合に[反転] (Reverse)チェックボックスの状態を取得/設定します。
これにより、パーティクルが 180 度回転して反対方向を向きます。
<Particle_Paint>.Orientation_Type_For_X_Axis : integer
[優先軸](Primary Axis)として[X 軸](X Axis)が選択されている場合に使用されている、方向タイプのドロップダウン リストの選択インデックスを取得/設定します。
有効な値は次のとおりです。
0 - [ランダム] (Random) - サーフェス上のパーティクルの方向を、選択されている軸に従ってランダムに設定します。
1 - [サーフェス法線に位置合わせ](Aligned To Surface Normal) - パーティクルを、ペイント オブジェクトのサーフェス法線に位置合わせします。たとえば、X 軸が優先軸として選択されている場合は、パーティクルのローカル X 軸がサーフェス法線に位置合わせされます。このオプションは、サーフェス上にインスタンス化された草やヘア オブジェクトを配置する場合に最適です。
2 - [ワールド X 軸に位置合わせ](Align to World X-Axis)、[ワールド Y 軸に位置合わせ](Align to World Y-Axis)、[ワールド Z 軸に位置合わせ](Align to World Z-Axis) - パーティクルをワールド軸に沿って位置合わせします。
3 - [ビューポートをルックアット](Look at Viewport) - すべてのパーティクルをアクティブなビューポートに位置合わせします。
4 - [Particle Paint アイコンをルックアット](Look at Particle Paint Icon) - すべてのパーティクルが、Particle Paint アイコンの方向を向きます。
5 - [ストロークに従う](Follow Stroke) - パーティクルを、スプレー パスに沿って、ストロークを描いた方向に位置合わせします。
6 - [U マップのベクトルに位置合わせ](Align to U Map Vector)、[V マップのベクトルに位置合わせ](Align to V Map Vector)、[W マップのベクトルに位置合わせ](Align to W Map Vector) - ペイント オブジェクトのサーフェスに対して、U/V/W マップ方向に沿ってパーティクルを位置合わせします。
<Particle_Paint>.Divergence_For_X_Axis : angle
X 軸の[発散] (Divergence)の値を取得/設定します。
<Particle_Paint>.Reverse_Z_Axis : boolean
[Z 軸](Z Axis)が選択されている場合に[反転] (Reverse)チェックボックスの状態を取得/設定します。
これにより、パーティクルが 180 度回転して反対方向を向きます。
<Particle_Paint>.Orientation_Type_For_Z_Axis : integer
[優先軸](Primary Axis)として[Z 軸](Z Axis)が選択されている場合に使用されている方向タイプのドロップダウン リストの選択インデックスを取得/設定します。
有効な値は次のとおりです。
0 - [ランダム] (Random) - サーフェス上のパーティクルの方向を、選択されている軸に従ってランダムに設定します。
1 - [サーフェス法線に位置合わせ](Aligned To Surface Normal) - パーティクルを、ペイント オブジェクトのサーフェス法線に位置合わせします。たとえば、X 軸が優先軸として選択されている場合は、パーティクルのローカル X 軸がサーフェス法線に位置合わせされます。このオプションは、サーフェス上にインスタンス化された草やヘア オブジェクトを配置する場合に最適です。
2 - [ワールド X 軸に位置合わせ](Align to World X-Axis)、[ワールド Y 軸に位置合わせ](Align to World Y-Axis)、[ワールド Z 軸に位置合わせ](Align to World Z-Axis) - パーティクルをワールド軸に沿って位置合わせします。
3 - [ビューポートをルックアット](Look at Viewport) - すべてのパーティクルをアクティブなビューポートに位置合わせします。
4 - [Particle Paint アイコンをルックアット](Look at Particle Paint Icon) - すべてのパーティクルが、Particle Paint アイコンの方向を向きます。
5 - [ストロークに従う](Follow Stroke) - パーティクルを、スプレー パスに沿って、ストロークを描いた方向に位置合わせします。
6 - [U マップのベクトルに位置合わせ](Align to U Map Vector)、[V マップのベクトルに位置合わせ](Align to V Map Vector)、[W マップのベクトルに位置合わせ](Align to W Map Vector) - ペイント オブジェクトのサーフェスに対して、U/V/W マップ方向に沿ってパーティクルを位置合わせします。
<Particle_Paint>.Divergence_For_Z_Axis : angle
Z 軸の[発散] (Divergence)の値を取得/設定します。
<Particle_Paint>.Acquire_Sub_Material_Index : boolean
パーティクル シードごとに、ペイントするサーフェスの最も近いポイントのサブマテリアル インデックス (マテリアル ID) を取得します。
<Particle_Paint>.Generate_Mapping : boolean
選択したタイプ基づいて、各パーティクル シードのマッピング座標を生成します。このオプションを使用する場合は、マッピング オペレータを発生ペイントや配置ペイント オペレータと一緒に使用しないようにしてください。これらのオペレータを一緒に使用すると、Particle Paint ヘルパーで生成されたマップは上書きされてしまいます。
<Particle_Paint>.Assign_To_Mapping_Channels : boolean array
マッピング値を割り当てるマッピング チャネルを定義します。複数のチャネルを割り当て先として選択することもできます。[マッピング座標を生成](Generate Mapping Coords)にチェック マークが付いている場合にのみマッピング チャネルを使用できます。
<Particle_Paint>.Mapping_Type : integer
マッピングの[タイプ] (Type)ドロップダウン リストの選択インデックスを取得/設定します。
有効な値は次のとおりです。
0 - [ストロークに依存](Stroke Dependent) - [開始値](Start Value)から[終了値](End Value)までのマッピング値をストローク全体に分散して割り当てます。ストロークの最初のパーティクルには[開始値](Start Value)、ストロークの最後のパーティクルには[終了値](End Value)が割り当てられます。これらの中間のすべてのパーティクルは、[開始値]( Start values)と[終了値](End values)を補間します。この場合は、U、V、W がすべて同じ値になります。
1 - [時間に依存](Time Dependent) - 時間に基づいてマッピング値を割り当てます。まず、ストロークの最初のパーティクルに[開始値](Start Value)が割り当てられます。そして、後続の各パーティクルのタイミング (最初のパーティクルとの相対タイミング) には、[オフセット (/秒)](Offset p/Sec)パラメータと経過した秒数に基づいて増分された値が割り当てられます。たとえば、[オフセット (/秒)](Offset p/Sec)が 0.25 (既定値) の場合は、4 秒分のストロークで 0~-1 の UV マッピング値の範囲をカバーします。
2 - [インデックスに依存](Index Dependent) - ストロークの時間に関係なく、マッピング値を増分的に割り当てます。ストロークの最初のパーティクルに開始値が割り当てられた後、[オフセット (/パーティクル)]( Offset p/Particle)の値に基づいて後続のマッピング値が増えていきます。たとえば、[オフセット(/パーティクル)](Offset p/Particle) が 0.01 (既定値) で、ストロークのパーティクル数が 101 の場合は、各パーティクルに割り当てられるマッピング値は頭から順に 0.0、0.01、0.02、0.03、... 0.98、0.99、1.0 となります。
3 - [ペイント オブジェクトに依存](From Object Painted) - ペイント オブジェクト上でのパーティクル シードの配置に基づいてマッピング値を割り当てます。各パーティクルは、オブジェクト サーフェスの最も近いポイントでマッピング値を取得します。オブジェクトの複数のマッピング チャネルからマッピング値を取得するには、[マッピング チャネルに割り当て](Assign To Mapping Channels)領域で複数のボタンをアクティブにします。
いずれのマッピング タイプも、数値パラメータを使用してパーティクル シードにマップを設定します。たとえば平面マップの場合は、左下コーナーの UVW 値は 0,0,0、右上コーナーの UVW 値は 1,1,0 です。いずれかのマッピング タイプを選択して、これらの値をストロークに関連付けます。
<Particle_Paint>.Mapping_Start_Value : float
.Mapping_Type
が 0、1、2 のいずれかに設定されている場合に、使用される[開始値](Start Value)を取得/設定します。
<Particle_Paint>.Mapping_End_Value : float
.Mapping_Type
が 0 に設定されている場合に、使用される[終了値](End Value)を取得/設定します。
<Particle_Paint>.Mapping_Offset_Value_Per_Second : float
.Mapping_Type
が 1 に設定されている場合に、使用される[オフセット (/秒)](Offset Value Per Second)を取得/設定します。
<Particle_Paint>.Mapping_Offset_Value_Per_Drop (Mapping_Offset_Value_Per_Particle) : float
.Mapping_Type
が 2 に設定されている場合に、使用される[オフセット (/パーティクル)](Offset Value Per Particle)を取得/設定します。
<Particle_Paint>.Show_Particle_Timing : boolean
[パーティクル タイミングを表示](Show Particle Timing)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Late_Color : color
カラー ピッカーの色を取得/設定します。
<Particle_Paint>.Auto_Sync_Timing_By_Selected_Stroke : boolean
[選択とタイミングを自動同期](Auto Sync Timing By Sel.)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Editing_Start_At : integer
[開始点](Start At)の値を取得/設定します。
<Particle_Paint>.Editing_Stop_Type : radiobtnIndex
停止タイプのラジオ ボタンの選択インデックスを取得/設定します。
有効な値は次のとおりです。
0 - 停止フレーム
1 - 持続時間 (既定値)
<Particle_Paint>.Editing_Stop_At : integer
[停止フレーム](Stop At)値を取得/設定します。
<Particle_Paint>.Editing_Duration : integer
[持続時間] (Dutation)の値を取得/設定します。
<Particle_Paint>.Editing_Adjust_Global_Timing (Editing_Auto_Adjust_Global_Timing) : boolean
[グローバル タイミングを自動調整](Adjust Global Timing)チェックボックスの状態を取得/設定します。
<Particle_Paint>.Selected_Strokes : boolean array
選択されたストロークをブール値の配列として取得/設定します。