説明:
次のスクリプトは、各パーティクルの実数値をパーティクル ID の 10 分の 1 または生成時のインデックス番号として設定します。
用途:
Force オペレータおよび Speed_Keep_Apart オペレータの .Force 値を制御するために使用できます。
Force : ヘルパー
Speed_Keep_Apart : ヘルパー
効果:
最初のパーティクルは小さい実数値を取得するため[影響]値も小さくなります。後続のパーティクルはそれぞれ前のパーティクルよりも大きい実数値を取得します。この結果、パーティクルが後に生成されるほど、オペレータ内のスペース ワープの影響をより多く受けることになります。
例:
|
--ChannelsUsed ハンドラは、スクリプトに提供される
--チャンネルを定義します。
--すべてのチャンネルのリストについては、
--インタフェース: MaxscriptParticleContainer を参照してください。
--ハンドラに渡されるパラメータ pCont には
--スクリプトの適用先のパーティクル コンテナが含まれています。
on ChannelsUsed pCont do
(
pCont.useFloat = true--Float チャンネルを有効にします。
)
--初期化時には Init ハンドラが呼び出されます。
--この例では使用しません。
onInit pContdo
(
)
--Proceed ハンドラには、パーティクルに割り当てる
--メイン スクリプトが含まれています。
--ハンドラに渡されるパラメータ pCont には
--スクリプトの適用先のパーティクル コンテナが含まれています。
on Proceed pCont do
(
--パーティクル数を取得
count = pCont.NumParticles()
--1 からパーティクルの数だけループ
for i in 1 to count do
(
--コンテナ内のパーティクル インデックスに現在の i 値を設定します。
--コンテナ内の i 番目のパーティクルが現在のパーティクルになります。
pCont.particleIndex = i
--現在のパーティクルの particleFloat チャンネル値を
--現在のパーティクルの particleID を 10.0 で割った値に設定します。
--新しいパーティクルほど、particleFloat 値が大きくなります。
pCont.particleFloat = pCont.particleID/10.0
)--i ループを終了
)--Proceed を終了します。
--Release ハンドラを使ってクリーンアップを行います。
--この例では使用しません。
on Release pCont do
(
)
|