インスタンスオブジェクトについて
- その1 - 「複数のインスタンスオブジェクトをランダムに適用します」
1.インスタンスのオプションを開きます。
2.下記のように設定します。
・Cycle = Sequential(シーケンシャル ・リスト内のオブジェクトを循環表示します。)
・Cycle Step Unit = Second(秒)
・Cycle Step = ランダムに配置するには大きな数を入れます。(小さな数だとアニメーションの途中でリストの次のオブジェクトに循環してしまいます。)
3.パーティクルシェイプのアトリビュートを開きます。
4.インスタンサの項目を下記のように設定します。
・Cycle Start Object(サイクル開始オブジェクト) = Particle ID(シーケンシャル)
以上で、複数のインスタンスオブジェクトをランダムに適用できます。
- その2 - 「インスタンスオブジェクトをランダムに回転します。」
1.パーティクルシェイプのアトリビュートを開きます。
2.「ダイナミックアトリビュートの追加」>「一般」>「UserScalar1PP」を追加します。
3.「パーティクル単位(配置)アトリビュート」>「UserScalar1PP」を右クリックで「作成エクスプレッション」を選択します。
4.「particleShape1.UserScalar1PP = rand (1,360); 」と入力し、「編集」をクリックします。
5.「インスタンサ」>「回転オプション」>「回転」のプルダンメニューから「UserScalar1PP」を選びます。これで開始時の回転角度が1~360度の間でランダムに選ばれるようになりました。
パーティクルが放出された後に、回転を継続させるには、
6.「パーティクル単位(配置)アトリビュート」>「UserScalar1PP」を右クリックで「ダイナミクスエクスプレッション後ランタイム」を選択します。
7.「particleShape1.UserScalar1PP += 1; 」と入力し、「編集」をクリックします。これで1フレームごとに1度回転するようになります。
さらに、回転を移動で制御するには、
8.「ダイナミクスエクスプレッション後ランタイム」を以下のように書き換えます。
float $vel = (particleShape1.velocity)/5;
particleShape1.rotPP += $vel;
この手順の解説はこちらのサイトが有名です。
- その3 - 「インスタンスオブジェクトをランダムにスケーリングします。」
1.パーティクルシェイプのアトリビュートを開きます。
2.「ダイナミックアトリビュートの追加」>「一般」>「UserScalar2PP」を追加します。
3.「パーティクル単位(配置)アトリビュート」>「UserScalar2PP」を右クリックで「作成エクスプレッション」を選択します。
4.「particleShape1.UserScalar2PP = rand (0,1,1); 」と入力し、「編集」をクリックします。
5.「インスタンサ」>「一般オプション」>「スケール」のプルダンメニューから「UserScalar2PP」を選びます。これで開始時の大きさが0,1~1の間でランダムに選ばれるようになりました。
自動化のサイトはこちら


コメント
コメントを投稿