X-particles Blendの混合で色を混ぜる

液体のシュミレーションで混合を行ってみます。レンダラーはREDSHIFTを使用します。
なお、今回はX-particlesのGPUを使用したnxFluidを使用しています。

【使用バージョン】
 CINEMA 4D 2023.0.0
 REDSHIFT 3.5.8
 INSYDIUM Fused 1480

目次

シーンの作成

必要なオブジェクト

液体のシミュレーションを行うシーンを作成します。
今回は、下記のものを使用します。
・xpEmitter (2つ)
・nxFluid
・nxGravity
・nxBlend
・xpOpenVDBMesher

シミュレーションの作成

まず、エミッターを混合するシーンを作成します。
エミッターを2つ追加します。

particlecolor
それぞれパーティクルの色を変えておきます。
Emitter > Display > Particles > Particle Color
この色が混ざり合いますので似た色で無い方がわかりやすいと思います。
混合シーン1
かき混ぜる棒を追加して、シミュレーションしてみました。
こんな感じになります。
NeXus
この状態ではパーティクルは分散していますが、色は混ざっていません。
そこで色も混ぜたいのでBlendモデファイヤを追加します。
GPU版:INSYDIUM > X-Particles > NeXus > nxBlend
CPU版:INSYDIUM > X-Particles > Modifiers > Control > xpBlend
nxBlend
Blendの設定を変えます。
Distane:影響を与えるパーティクル間の距離
Strength:影響を与える強さ、強くすると短時間で混ざっていきます。
下のチェックボックスでどの要素を混合するのか設定します。今回は色を混ぜたいのでColorにチェックを入れます。
Radiusは半径、Massは重量(質量)のことになります。
混合シーンB
色が混ざり合うようになりました。

メッシュの作成

openvdbmesher
パーティクルの色が混合されるのが確認できたら、メッシュ化していきます。
INSYDIUM > X-Particles > Gemerators > xpOpenVDBMesher
openvdbmesher_setting
xpOpenVDBMesherの設定を変更します。

[ci_box_label title=”補足の解説” type=”mid” color=”green2″ radius=”on” icon=”fas fa-exclamation”]

OpenVDBMesherについては、こちらの記事もご参照ください。

x-particles(1030) ではxpSkinnerの代わりにxpOpenVDBMesherを使う
OpenVDBMesherのフィルタによりメッシュの違い
Vook:X-Particlesのシミュレーションをレンダリングしよう

pointColor
パーティクルの色の変化の情報は「頂点カラー」に記録します。
OpenVDBMesher > General > Tags Transfer Point Color にチェックを入れます。
頂点カラータグ
OpenVDBMMesherに頂点カラーのタグが追加されます
nodeEditor
レンダラーをRedshiftに切り替えて、マテリアルを作成します。
作成されたマテリアルのノードを開きます。
vertex_search
ノードエディタの左上の+ボタンを押し、Vertex Attributeを検索して、ノードに追加します。
node_vertex_name
追加したVertex Attributeを選択した状態で、属性ウィンドウで
Vertex Attribute > General > Attribute Name
ここにオブジェクトウィンドウの OpenVDBMesher の右にある頂点カラータブをドラック&ドロップします。
node_vertex
次にノードエディタで、Vertex AttributeのOutColorをRS MaterialのDiffuse-Colorに接続します。
このマテリアルをOpenVDBMesherに適用します。

これで混合された色をメッシュに反映させた状態でレンダリングできます。

出力結果です。

さいごに

本件についてMAXONコンピュータ様にもサポート頂きましたことをこの場にて御礼申し上げます。

よかったらシェアしてね!