Preview4です。Person」を使用しています。※この記事のサンプルプロジェクトは以下URLにアップされています。今回は、テクスチャを使わずにカメラに付着した水滴の表現を作っていきたいと思います。(久々なのにまたPostProcessMaterialですみませんorz)※尚テクスチャを使わないと言っていますが、正確にはノイズサンプリングでテクスチャを使っています。新規のマテリアルアセットを作成していきます。コンテンツブラウザ左上の「新規作成」から「マテリアル」を選択してください。選択したら、一旦ポストプロセスボリュームにマテリアルを設定します。Windowから配置)を選択した状態で「詳細」→「renderingFeatures」→「PostProcessmaterial」のArrayの+ボタンを押して要素を追加し、プルダウンから「AssetReference」を選択します。その後、マテリアルを設定する項目が出てくるので、先ほど作成したマテリアルを設定します。できましたら、今度はマテリアルを開きます。Domain」を「PostProcess」にしましょう。これで準備は整いました。今回水滴を生成する際に使うのは「Noise」ノードです。このNoiseノードは簡単に言うと、決まった法則に従って、ランダムな値を返してくれるノードです。Based」という設定で使います。Basedは、あらかじめ用意された、パーリンノイズテクスチャをもとにノイズを生成する設定になります。Random.ush内の「GradientNoise3D」という関数で計算されています。Weights.z);}パーリンノイズは、一定のセル状のノイズを生成してくれるので、ランダムな雨粒を作るのに最適です。このノイズから一定以上の値のみを取り出し、隣り合うピクセルとの値の差を見て、屈折する方向と度合いを決定します。することで、水滴がついた際の光の屈折を疑似的に表現することができます。これらのことをマテリアルで実現しようとすると以下のようになります。上記で説明したことを実装しようとすると、やたらと同じものを書かなければならず、MaterialFunctionでまとめましたが、それでもノードが大量で若干見ずらいです。上記処理をカスタムノードに置き換えてみます。RefractiveScale;#endifコードで書くと、すごくコンパクトになりました!せっかくなので、雨粒が付着するような表現を作るため、時間で粒がつくようにしてみたいと思います。RefractiveScale;#endif結果↓↓なんとなく、雨粒がついていく表現にできたような気がします。雑な説明になりましたが、以上。※この記事のサンプルプロジェクトは以下URLにアップされています。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。【UE4】【C++】独自の簡単なスクリプトシステムを作る-後編。