このチュートリアルでは、Blender バージョン3.3を使用して作成したもので、ビデオで視聴しているアニメーション、つまり血管内を動く赤血球の作成方法を見ていきます。
動画の書き起こし
皆さん、こんにちは!
このチュートリアルでは、Blender バージョン3.3を使用して作成したもので、ビデオで視聴しているアニメーション、つまり血管内を動く赤血球の作成方法を見ていきます。

チュートリアルでは、血管と赤血球のモデリング方法、Emitter粒子システムを使って赤血球を生成する方法、そしてフォースフィールドを使って赤血球が血管のパスをたどるようにする方法を学びます。
では、まったく空のシーンで血管のモデリングから始めてみましょう。
まず、トップビュー、できれば正投影で、Bezier 曲線を挿入し、Edit モードで制御点を追加し移動させてモデル化します。
この曲線は血管のパスを表しており、私たちの目的には2D平面に保つことができます。だからこそ、私はシーンを上から、正投影の視点でフレーミングしています。

パスをモデリングした後、Object モードに戻り、シーンに Bezier Circle を挿入します。これはパスのプロファイルを表し、我々はそれを円形に保つことにします。後ほど Displace モディファイアでパスの内壁を変化させます。

Bezier Circle を Bezier Curve のプロファイルとして設定するには(ちなみに、わかりやすくするために、Vessel Path に改名します)、Vessel Path を選択し、Properties エディタ内の Object Data タブを開き、Geometry Bevel Object セクションにアクセスして、ちょうど作成した Bezier Circle を Bevel オブジェクトとして指定する必要があります。

プロファイルが大きすぎるか小さすぎる場合、Bezier Circle をスケーリングすることで簡単にサイズを調整できます。前述の通り、円形のプロファイルは十分に機能するので、Edit モードで Bezier Circle のプロファイルを修正する必要はありません。
私の場合、血管は内部から見ると見えないように見えます。これは、Viewport Shading メニューで Background Culling オプションが有効になっているためです。このオプションは、法線が視聴者を向いていない面を隠します。これは一部のケースでは役立つオプションですが、このケースでは役立たないので、無効にします。

パスのコピーを作成し(SHIFT D と Enter を使用)、例えば Path Copy と名付けて一時的に隠します。このコピーは以下の2つの理由で役立ちます:
-
安全性のため、すぐに Curve から Mesh へと変形するパスのコピーとして。
-
赤血球が後で追従するパスとして、オリジナルの曲線のコピー。

パスを Mesh に変換する必要があるのは、そのようにすると Displace モディファイアを適用でき、血管の壁を乱れさせ、視覚的に興味深くするからです。
変換は右クリックして Convert To Mesh を選択することで行うことができますが、何かを指摘したいと思います。私の場合、円形プロファイルの頂点は、パスを構成するセグメントよりも密です。

私はできるだけ正方形に近い面を持つことを好むので、変換操作を元に戻し(Object Mode で CTRL Z)、元の制御点が離れすぎていて長すぎるハンドルを持つ場所に中間制御点を挿入します。これは長方形の面を生み出します。

それから、先ほど述べたように、右クリックして Convert To Mesh を選択することで、Mesh への変換を行います。
次に、オブジェクトに Displace モディファイアを追加します。具体的には、多くの歪みを導入するためにスケールが小さい Clouds テクスチャを設定します。

しかし、その効果は期待外れです。これは、変換から得られたメッシュが十分に密ではない、つまり変形させる頂点や面が少ないためです。この問題を解決するために、少なくとも2つの細分化を持つオブジェクトに Subdivision Surface モディファイアを追加します。
Subdivision Surface モディファイアは Displace モディファイアより上に移動する必要があります。順序は重要で、まずメッシュが Subdivision Surface で細分化され、その後 Displace で乱れるからです。

それでは、Texture の Size 値と Displace モディファイアの Strength を修正し、自分たちが満足する結果を得るまで調整しましょう。必要に応じて、Displace のための異なるテクスチャを試すことも、スタックの最後のモディファイアとして Smooth モディファイアを追加して、乱れを少し柔らかくすることもできます。これで血管のモデリング段階を完了します。

この作業が終了したら、血管にマテリアルを割り当てます。私の場合、チュートリアルのプレビューで見たルックを得るために、赤い Velvet マテリアルを使用します。このマテリアルは特殊な方法で光を反射するからです。この場合、結果はフォトリアルではなくても良いので、より柔らかく、ぼんやりとしたルックが良いです。

しかし、結果のプレビューを見るためには、まず2つの操作を行う必要があります:仮想宇宙の背景を黒に設定する(World Background RGB Color から)と、血管の内部に少なくとも2つの Point Light 源を挿入することです。

Point Lights の挿入は、Top Ortho view から簡単に行うことができます。光源を曲線の近くに置き、最初に一つだけ作成することをお勧めします。その後、ALT D を使用してリンクされたコピーを作成し、最初のパラメータをコピーできます。これは 便利な方法で、最初は光源にどの程度の強度を与えるべきかわからないため、実験する必要があります。しかし、リンクされたコピーを使用すれば、一つの光源だけの強度と色を修正し、リンクされたコピーにも同じ設定が適用されることを確認できます。

血管の入口に光源のリンクされたコピーを配置します。そうしないと、最初は赤血球が暗すぎることになります。

Z を押してから Rendered を選択し、3D Viewport でレンダリングプレビューを表示することができます。これにより、望む結果が得られるまで光のパラメータを設定することができます。

この段階で、後でレンダリングに使用するカメラも挿入して配置することができます。具体的には、Object Mode で、SHIFT A と Camera を使用してシーンに Camera オブジェクトを挿入し、3D Viewport で初期のフレーミングを定義し、Blender の検索ボックスを開きます(私の場合、スペースバーでアクセスできます)。
Align Camera to View オプションを探し、ショートカットは CTRL ALT NUMPAD 0 です。

カメラの位置を調整し、必要に応じて Object Data タブでその焦点距離を変更します。例えば、その値を下げて広範な広角フレーミングを達成します。

マテリアル、ライト、カメラのセットアップが完了したら、3Dシーンの Solid ビューモードに戻り、赤血球のプロトタイプをモデル化するための空いたエリアに移動します。
このオブジェクトをモデル化する方法はいくつかあります。選択肢は広範です。私の場合、UV Sphere を作成し、極地でそれをフラットにし、それ以上に、極地の頂点を削除し、Edit Mode で GRID FILL を使用して作成した空のリングを埋めています。

これらの操作を行うのは、赤血球にも Displace モディファイアを適用するつもりだからです。ただし、それよりも前に、デフォルトのフラットシェーディングがあまりにも面取りされているので、Object Mode でシェーディングを Shaded に変更します!

赤血球のモデリングをさらに進め、極地付近でそれをフラットにします。これらの操作は、モデル化したい頂点を選択し、それらをZ軸(これが垂直軸)に沿って移動またはスケーリングして、望ましい結果を得るまで行います。

幾何学的な歪みに関しては、血管と同じ操作を行い、Subdivision Surface と Displace モディファイアを追加し、設定します。ただし、今回は、Subdivision Surface の1つの細分化だけが十分であろうという違いがあります。
Displace が導入する変形がよく見えない(または逆に、あまりにも強すぎる)場合は、テクスチャの Size パラメータを大幅に変更しても、CTRL A と Apply Scale を使用してオブジェクトのスケール変換を適用してみてください。特にオブジェクトのサイズを変更する場合はこれが重要です。この考慮は、実際には血管にも適用されます。

モデリングフェーズが終了したら、この赤血球のプロトタイプにマテリアルを割り当てます。この段階では、一時的に赤血球のプ ロトタイプを血管の内部の明るい点に移動して、Rendered ビューモードで最終的な効果をプレビューします。
今回は、わずかに暗い赤色と Roughness 約0.6の Principled BSDF マテリアルを選択します。これにより、オブジェクトに微妙な鏡面反射が提供されます。

このステップの後、赤血球を再度血管の外に移動し、Solid ビューモードに戻して、赤血球を放出するパーティクルシステムの作成に集中します。
パーティクルシステムの粒子として赤血球を放出するためには、まずエミッターオブジェクトが必要です。
我々の場合、Planeがちょうど良いので、シーンに一つを挿入し、最も重要なことに、その上面が血管の入り口を指すように向けます。それが私たちが赤血球を放出したい方向だからです。

新たに作成したPlaneにパーティクルシステムを関連付けるためには、オブジェクトのParticle Propertiesタブを開き、プラスボタンをクリックします。
デフォルトでは、新しく作成されたパーティクルシステムはEmitterタイプになりますが、これは私たちが必要とするものです。

多くのパーティクルを作成したくはありませんが、赤血球のプロトタイプのコピーであり、ランダムな回転を持ち、アニメーションの期間中に放出され、アニメーションの終了まで存在することを確認したいと思います。後者の点については、パーティクルには寿命があり、それに応じて設定する必要があるため、説明が必要です。
パーティクルの数については、アニメーションを評価しながらテストしますが、今のところ、パーティクルシステムタブのNumberフィールドに100を設定しましょう。

アニメーションの期間については、私はBlenderのデフォルトの250フレーム(1秒あたり25フレームで10秒の映像に相当)をそのままにしますので、以下のように設定します:
-
Frame Start 0
-
End Frame 250
-
Lifetime 250
新しいパーティクルを赤血球のプロトタイプのインスタンスにするために、パーティクルシステムのRenderタブを開き、Render AsフィールドをHaloからObjectに変更し、その後ろのInstance Objectで赤血球を指定します。

今、アニメーションを開始すると、生成されたパーティクルにいくつかの修正が必要なことに気づくでしょう:
-
彼らのサイズが不適切である。
-
彼らは虚空に落ちている。
-
彼らはすべて同じ方向を向いている。
-
彼らは血管に向けて投影されていない。


これらの問題をすべて一つずつ解決していきますが、最初に最も簡単なものから始めます: 重力を取り除くことです。
パーティクルシステムのField Weightsタブを開き、Gravity値を0.0に設定します。これで、パーティクルはもう虚空に落ちなくなります。これは、Timelineのフレーム1に位置づけてアニメーションを再開することで確認できます。

パーティクルのサイズは、パーティクルシステムのRenderタブからScaleパラメータを変化させることで変更できます。赤血球が異なるサイズを持つことができるかどうかは確信が持てませんが、ランダムなサイズの変化を導入するScale Random値は0.0にしておきます。

赤血球のプロトタイプを、ObjectモードとEditモードの両方で、パーティクルの変化も観察しながら変更することができることに注意してください。これらのパーティクルはそのプロトタイプのインスタンスなのです。
粒子の回転については、まずパーティクルシステムのRotationセクションを有効にし、次にこのタブ内のRandomizeフィールドに0.0より大きい値を設定することで、初期のランダムな回転を設定できます。

タイムラインの最初のフレームに戻ってアニメーションを開始することで、ランダムに向きを変える粒子の生成を観察することができます。
最後に解決するべき問題は、粒子を血管の中を移動させることです。
血管のコピー、Path Copy、Bezier Curveタイプを覚えていますか?これは隠されていて、メッシュに変換された血管に重ねられています。これを粒子のパスとして使用する時が来ました。
Path Copyを選択し、PropertiesエディターのPhysicsタブを開き、Force Fieldを追加します。

Force FieldのタイプをForceからCurve Guideに変更します。このオブジェクトは現在見えないため、特別なことは何も通知されません。そこで再度見えるようにし、血管の入口で破線の円を探します。
この円はパーティクルシステムの影響範囲を示しています:粒子はこの範囲内にあるときにForce Fieldの影響を受けます。

したがって、私たちはPlaneをこのエリアに近づけ、何よりも、生成された粒子を含めるように拡大する必要があります。Force FieldタブのMinimum Distanceパラメータの値を変更することで、この操作を実行します。

タイムラインのフレーム1に戻り、アニメーションを開始して結果を観察します。
もし粒子がカーブと異なるパスをたどる場合、その理由はBezierカーブが始点と終点を持っているという事実にあるかもしれません。おそらく、私たちが血管の入口と考えているものは、実際にはカーブの終点なのです!
この問題を解決するために、Editモードに切り替え、カーブのすべての制御点を選択し、Blenderの検索ボックスでSwitch Directionコマンドを検索して方向を反転させます。

Objectモードに戻り、アニメーションのフレーム1に再配置し、Playボタンをクリックして得られた結果を観察します。
もし結果が望むものであれば、Path Copyオブジェクトを再度非表示にします。

現在、仮想カメラの視点からアニメーションをプレビューすることも可能であり、パーティクルシステムによって生成される赤血球の数やDisplacement効果の強度、必要に応じて次元などの他のパラメータを変更することもできます。
最後に、シーン内の仮想カメラの動きをアニメーション化することができます。これは、シーンをTop Orthoビューから観察し、血管内のカメラの位置と回転のキーフレームを挿入することで簡単に行うことができます。これは、達成したいアニメーションに応じて、3Dビューのカメラの視点から結果を確認することで行います...

...そして問題があることに気づきます! 実際、カメラを移動してアニメーションの250フレームのほとんどで血管を覆うと、粒子は私たちの後ろになるため、決して見ることはありません!

この問題を解決するいくつかの方法があります。その一つは、アニメーションが開始する前に粒子を発生させることです。例えば、パーティクルシステムのFrame Startフィールドに-100を設定します。しかし注意してください:この場合、Lifetime値は350でなければならず、そうでなければ、粒子はタイムラインの150フレームで消えてしまいます!
これらの変更を行った後、3D Viewportでアニメーションを見直し、今回は全てがOKであることを確認します。最終的に、アニメーションのレンダリングを開始することができます。

このチュートリアルを閉じる前に、パーティクルシステムのキャッシュについて少し触れて、特に最終的なアニメーションのレンダリングに進む前のさまざまな瞬間でシーンの状態を表示するためのさまざまな中間レンダリングを行った後に、レンダリング中に生じる問題について少し触れておきましょう。
実際には、これらのケースでは、Blenderがその点までのアニメーションを計算し、キャッシュしたことを示す赤い線がタイムラインの下部に表示されることがあります。

最悪なことは、いくつかのレンダリングの後に、この線がパッチ状に表示されることがある、ということです。ビデオで示しています。

問題は、この場合、Blenderは、私たちが望むような一部の正しいフレームを用意している一方で、他のフレームは他の方法で計算され、正しくない結果を生み出してしまう可能性があるということです。あるフレームでは、粒子が正しい位置に見えるかもしれませんが、他のフレームでは、粒子が正しくない配置に見えたり、まったく見えないこともあります。

アニメーションのレンダリングを開始する前に行う必要があるのは、アニメーションの最初のフレームに戻り、発生源のParticle SystemのCacheタブにアクセスし、そこでメモリ内に利用可能なフレームの情報を見つけることです。プラス記号をクリックして新しいキャッシュを追加(最初は空)し、マイナス記号をクリックして前のキャッシュを削除します。最後に、Bakeボタンをクリックして、全ての正しいパーティクルシミュレーションを計算し、キャッシュします。


この時点で、赤いバーはTimeline全体を覆うはずで、全てのフレームが計算され、正しくメモリに保存されたことを示します。

現在、アニメーションのレンダリングを開始すると(Render Animationから)、生成されたファイルやファイルに予期せぬ驚きはないはずです...
… しかし、最後の注意点として、Render PropertiesタブのRenderingに対するDenoiseを有効にすることをお勧めします。これらのマテリアルとこの照明では、非常に有用であり、私の場合では100だけのSamplesでアニメーションをレンダリングすることができます。

このチュートリアルを振り返ってみると:
-
我々は血管のパスと赤血球のモデル化の方法を見てきました;
-
我々はオブジェクトに基本的なマテリアルを提供し、シーンにシンプルな照明を提供しました;
-
我々は、パーティクルシステムを使用して赤血球のインスタンスを生成する方法を見てきました;
-
我々は赤血球が血管内のパスをたどる方法を見てきました。
このチュートリアルが役立ったことを願っています!また近いうちにお会いしましょう!