kuniメモ

Kuni Tips


インスタンスオブジェクトについて



インスタンスは使う頻度が多い機能ですが、ド忘れをして困ることがあるのでまとめます。


- その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の間でランダムに選ばれるようになりました。


自動化のサイトはこちら


コメント
コメントする








   
この記事のトラックバックURL
トラックバック