3DCG雑記(仮)

初心者の3DCG・Blender

【Blender2.92】アニメーション・パーティクルもりもりDNA作ってみた Part.1【覚書】

今回参考にさせていただいた動画はこちら

www.youtube.com

 

Shift+Aで円柱を追加し、R→Y→90°でY軸で90°回転。G→「-1」で移動。S→ShiftX→「0.01」(打つときは「.01」でOK)でYZ方向でスケール変更。G→Y→「-1」でY軸方向移動。Shift+D→R→Z→「90°」で複製してその場でZ軸90°回転。複製したものを選択した状態でG→Y→「0.5」

f:id:Ocean9:20210419091956p:plain

そのまま選択した状態でS→Y→「0.5」でY軸方向にスケール変更、再びS→Shift+Y→「0.75」でXY軸方向にスケール変更。選択したままTab(編集モード)→Ctrl+R→パネルで分割数を「15」。Tab(オブジェクトモード)でもう一方の元の円柱↓を選択しTab(編集モード)→Ctrl+R、分割数は「25」。

f:id:Ocean9:20210419093609p:plain

分割数15の円柱を選択し、Shift+D→G→X「0.66」、もう一度複製しG→X「-0.66」。左ドラッグ(矩形選択)で三本全て選択し、Ctrl+J結合(最後に選択したオブジェクトにまとめられる。右上のアウトライナーを見ると分かりやすい) ミラーモディファイヤを当て座標軸(Axis)のXとYを選択(下の画像のようにならなかったらCtrl+A→全トランスフォーム、(見ると原点が(0.0.0)に移動していることが分かる))

f:id:Ocean9:20210419095513p:plain

 配列モディファイアーを当て、数は「3」に。続けて「シンプル変形」モディファイアーを当て「ツイスト」で角度を「360°」に

f:id:Ocean9:20210419162422p:plain

↓ちなみに円柱を分割していないとこうなる 

f:id:Ocean9:20210422063257p:plain

 

Shift+D(複製)→右クリックでその場に留めたまま複製。アウトライナーの漏斗マーク(Filter)の中の制限の切り替えの「ビューポートで無効」「レンダーで無効」をクリックしてアウトライナーに出し、複製した「円柱.001」を「ビューポートで隠す」「ビューポートで無効」「レンダーで無効」アイコンをクリックし適用させる。

f:id:Ocean9:20210419163524p:plain

 

補足 「ビューポートで隠す」と「ビューポートで無効」の違い

f:id:Ocean9:20210419165514p:plain(画像のView Layerは試しに新規作成したもの

「ビューポートで隠す👁」は適用させたビューレイヤーでのみの効果であり、別のビューレイヤーでは適用は外れている。(他のビューレイヤーの👁マークは変化なし)

「ビューポートで無効💻」は一つのビューレイヤーで適用させると全てのビューレイヤーで適用される(他のビューレイヤーの💻マークも勝手に変わっている。)

 

アウトライナーで元の円柱の名前を「Helix」、複製して見えなくした方の円柱の名前を「Helix Base」に変える。

「Helix」の方のモディファイアー「ミラー」「配列」「シンプル変形」全てをモディファイアープロパティで「✔適用(Apply)」させ、3Dビューポート上で右クリック→原点を設定▶「ジオメトリを原点へ移動」→Ctrl+A「全トランスフォーム」(やらなくてもOK?

f:id:Ocean9:20210419171931p:plain

 キーフレーム1の所で回転:X「0°」に「一つのキーフレームを挿入」。次はキーフレーム250で回転:X「360°」に「一つのキーフレームを挿入」。アニメーション再生すると(スペースキー)X軸を軸にして回転する。

 グラフエディターを開き、画面上の「正規化(Normalize)」をクリック。(正規化:-1から1までの範囲に正規化されたカーブを表示します。複数のカーブの、別々の範囲での編集が楽になります。)

f:id:Ocean9:20210419174108p:plain

これが

f:id:Ocean9:20210419174225p:plain

こうなる

キーフレーム補間を設定 T→「リニア」。(タイムライン上でもできる。)

回転:Y「25°」に設定して少し傾ける。(ここで赤いX軸を軸にして回転しないのはなぜ?)

f:id:Ocean9:20210419175430p:plain

パーティクルプロパティ→✚でパーティクルシステムスロットを追加→ヘアーにして放射の数を「20000」→「レンダー」のレンダリング方法を「オブジェクト」に、スケールを「0.1」、「スケールのランダム化」は「0.5」。

Shift+AでICO球を追加し、パネルの「細分化」を「1」に。

補足 細分化のレベルが1のICO球は正二十面体、つまり20枚の正三角形面からなる物体。細分化の数値が上がるたびに、各三角面は4つの三角に分割される。

ICO球の細分化は、少ない反復回数でも頂点数を急増させる(10回で5,242,880枚の三角形)。このような密度の高いメッシュを追加すると、確実にソフトをクラッシュさせてしまう (Blender Manualより)実際にやってみたが6、7あたりから重くなり8より先に数字が増えなくなった

右クリック→ICO球に「スムーズシェード」、S→「0.075」でスケールを小さくしてGで「Helix」から避けておく。「Helix」のパーティクルプロパティに戻ってインスタンスオブジェクトをICO球に設定し、アウトライナーICO球の名前を「Particle」に変更。

「Helix」のパーティクルプロパティで✚をクリックし二つ目のパーティクルシステムスロットを追加。今度は「エミッター」で放射の数は「100000」、終了を「250」(パーティクル放射の終了フレーム)、寿命を「150」、寿命のランダム化を「0.5」。ソースを開き、分布(Distribution)は「ランダム」。

補足 寿命のランダム化・・・特定のパーティクルの寿命のランダムな変化。可能な最短の寿命は「[寿命] × (1 – ランダム)」です。”1.0″を超える値は入力できません。

例えば、デフォルトの[寿命]値が”50″、ランダム設定が”0.5″の場合、「50 × (1.0 – 0.5) = 25」で、寿命が”50″からプラスとマイナスでそれぞれ”25″のスパンに振れることになり、”25~75″フレームの範囲でランダムな寿命のパーティクル生成されることになります。また、ランダム設定が”0.75″の場合は、「50 × (1.0 – 0.75) = 12.5」なので、”37.5~62.5″レームの範囲でランダムな寿命のパーティクル生成されることになります。

[Blender 2.8] 数、タイミング、発生場所 [パーティクルシステム] - ほろほろりドットコム

物理演算(Physics)を開き、物理タイプを「ボイド(Boids)」に。ボイドAIを開いて、Separateを-(マイナス)ボタンをクリックして消去。Flockのみにする。([Flock(群れ)] :隣接するボイド群の中心に移動し、速度を一致させる。デフォルトでセットされているルールの1つ。)

[Blender 2.8] 『ボイド』タイプの物理演算 [パーティクルシステム] - ほろほろりドットコム

レンダーのレンダリング方法を「オブジェクト」に、スケールは「0.3」、スケールのランダム化は「0.9」、インスタンスオブジェクトは「Particle」(ICO球)

アニメーションを再生してみると、回転するDNAの軌跡に「Particle」が高い密度で固まるように出現し、140フレーム辺りで急にぽつぽつと周囲の中空に現れだし、195フレーム辺りで数がピークになって突然四方八方に飛び回りだすような感じ。

f:id:Ocean9:20210419214115p:plain

Shift+A→フォースフィールド(Force Field)▶「乱流(Turbulence)」を追加。乱流の物理演算プロパティで強さを「25」、サイズ「0.75」、フロー「10」、シード「63」

f:id:Ocean9:20210419232518p:plain

この時点でアニメーションしてみるとこんな感じ(「Particle」の挙動がだいぶ変わった)

(マテリアルプレビュー)EmissionNumber100000

「Helix」のパーティクルプロパティからエミッターの放射の数を「100000」→「225000」に変えてみる。

f:id:Ocean9:20210419232816p:plain

だいぶ増えてワシャワシャ(マテリアルプレビュー)EmissionNumber225000

「Helix」のパーティクルプロパティ→エミッター→キャッシュの中の「ベイク」をクリック。

[Blender 2.8] データのキャッシュの保存やベイキング [パーティクルシステム] - ほろほろりドットコム

 

Part.2へ続く