インタフェース: pfSystem
 
 
 

pfSystem インタフェースは、パーティクル フロー Source クラスによって公開されます。

   

メソッド:

<float><PF_Source>.getMultiplier <time>time 	 

レンダリング ステータスにしたがって Qualtity マルチプライヤを返します。レンダリング ステータスの詳細は、下記のメソッド setRenderState および isRenderState を参照してください。

1.0f という値は、オペレータが 100% のレートでパーティクルを生成することを意味しています。0.5f という値は、オペレータが、生成するようにサポートされているパーティクルの半数しか生成しないことを意味しています。たとえば、[Birth]オペレータが全体で 1000 のパーティクルを生成するように設定されている場合、マルチプライヤが 0.5f に設定されていると、オペレータは 500 のパーティクルしか生成しません。

注:time パラメータは、将来的な使用のために予約されています。0f または任意の時間の値を渡して、メソッドを呼び出します。

例:

--ビューポート内に新しい パーティクル フロー Source を作成します。
--次に、それを名前によってシーンから取得します。
pfs = $'PF Source 01'
$PF_Source:PF Source 01 @ [2.536594,-48.031052,0.000000]
--ビューポート内にマルチプライヤを取得します。
pfs.getMultiplier 0f
0.5
--Particle Source のステータスをレンダリングに変更します。
pfs.SetRenderState true
true
--マルチプライヤをもう一度取得します。レンダリング状態にある場合、
--ソースがすべてのパーティクルを生成します。
pfs.getMultiplier 0f
1.0

   

<integer><PF_Source>.getBornAllowance()   

発生の許可を返します。これは現在、時間 0 の[上限]になります。<PF Source>.Particle_Amount_Limit と同じです。

注:

将来的な使用のために実装されたものです。

   

<bool><PF_Source>.hasEmitter() 

Particle System にエミッタが存在する場合は true、そうでない場合は false を返します。

   

<integer><PF_Source>.getEmitterType <time>time 

指定された時間のエミッタのタイプを返します。

   

<void><PF_Source>.getEmitterDimensions <time>time <&float array>dimensions 

dimensions is In and Out parameter 

指定された時間のエミッタ次元を、参照変数内に保存された浮動小数点の配列として返します。

   

<mesh><PF_Source>.getEmitterGeometry <time>time 

指定された時間のエミッタ ジオメトリをメッシュとして返します。

   

<bool><PF_Source>.isEmitterGeometryAnimated() 

指定されたエミッタ ジオメトリがアニメートされている場合は true、それ以外の場合は false を返します。

   

<void><PF_Source>.setRenderState <bool>renderState 

パーティクル システムのレンダリング ステータスを、指定されたブール値に設定します。下記の説明を参照してください。

   

<bool><PF_Source>.isRenderState() 

Particle System がレンダリング ステータスの場合は true、そうでない場合は false を返します。

重要:

パーティクル フロー のパーティクル システムには、レンダリングとビューポートという 2 通りのステータスがあります。どの時点でも、どちらか一方の状態です。パーティクル システムのパラメータは、レンダリングとビューポートとで異なるので (マルチプライヤの値や、エミッタ ジオメトリなど)、現在どちらのステータスにあるのかを認識しておくことが重要です。setRenderState を使用して、パーティクル システムのステータスを切り替えることができます。レンダリングの開始時と終了時には、パーティクル フローのパーティクル システムによって自動的に状態が切り替えられます。

   

<time><PF_Source>.getIntegrationStep() 

[インテグレーション ステップ]を時間の値で返します。

   

<integer><PF_Source>.getUpdateType() 

Update Type を整数で返します。

0 : 完了

1 : 進む

   

<integer><PF_Source>.numParticlesSelected() 

選択したパーティクルの数を返します。

   

<index><PF_Source>.getSelectedParticleID <index>index 

インデックスで指定されたパーティクルのパーティクル ID を返します。

   

<bool><PF_Source>.isParticleSelected <index>index 

インデックスで指定されたパーティクルが選択されている場合は true、それ以外の場合は false を返します。

   

<integer><PF_Source>.numActionListsSelected() 

選択されたアクション リストの数を返します。

   

<node><PF_Source>.getSelectedActionList <index>index 

インデックスで指定されたアクション リストを返します。

   

<bool><PF_Source>.isActionListSelected <index>index 

インデックスで指定されたアクション リストが選択されている場合は true、それ以外の場合は false を返します。

例と結果:

--ビューポート内に新しい パーティクル フロー Source を作成します。
--次に、それを名前によってシーンから取得します。
pf = $'PF Source 01'
$PF_Source:PF Source 01 @ [0.000000,0.000000,0.000000]
--Source によって発生させることのできるパーティクルの数を取得します。
pf.getBornAllowance()
100000
--Source にエミッタがあるかどうかを確認します。
pf.hasEmitter()
true
--エミッタ タイプを取得します。
pf.getEmitterType 0
0
dim = #()--空の配列を定義します。
#()
--Emitter Dimensions を取得して、
--空の配列を参照変数に渡します。
pf.getEmitterDimensions 0 &dim
OK
--これまで空だった配列を見てみると、 
--その中に寸法が入っています。
Dim
#(20.0, 20.0)
--Emitter Geometry を、フレーム 0 上の TriMesh として取得します。
m = pf.getEmitterGeometry 0
TriMesh
m.numverts--頂点の数を確認します。
4
m.numfaces--次に面の数見てみます。
2
--エミッタ寸法がアニメートできるかどうか確認します。
pf.isEmitterGeometryAnimated()
false
--レンダリング ステータスを設定/取得します。
pf.setRenderState false
OK
pf.isRenderState()
false
pf.setRenderState true
OK
pf.isRenderState()
true
--ビューポートのインテグレーション ステップを取得します。
pf.getIntegrationStep()
1f
--更新タイプを取得します。 0 であれば、完了です。
pf.getUpdateType()
0
--選択したパーティクルの数を取得します。
pf.numParticlesSelected()
0
--パーティクル 1 が選択されているかどうかを確認します。
pf.isParticleSelected 1
false
--UI 内の選択されたアクション リストの数を取得します。
pf.numActionListsSelected()
0
--UI で、最初のアクション リストを選択して再試行します。
pf.numActionListsSelected()
1
--今選択したアクション リストのノードを取得します。
pf.getSelectedActionList 1
$Event:Event 01 @ [0.000000,0.000000,0.000000]

このインタフェースは下記で使用できます。

PF_Source : GeometryClass

関連事項