13
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ShaderGraphでマーブルノイズを実装【Unity、ShaderGraph、マーブル模様、マーブルノイズ、ノイズ】

Last updated at Posted at 2024-10-21

■ 概要

本記事ではUnityのShaderGraphを使った
「マーブルノイズ(マーブル模様)の実装」
を紹介します。

■ 環境

Unityバージョン:Unity2022.3.44f1
プロジェクトテンプレート:Universal 3D

今回はShaderGraphの機能が標準で搭載されている「URP」レンダリングパイプラインのプロジェクトで実装しています。

※ビルトインのレンダリングパイプラインでも、パッケージを後からインストールしてShaderGraphを使用することができます。
その手順はこちらの記事が参考になります。

■ 実装

Game画面:

ShaderGraphファイル:
スクリーンショット 2024-10-21 184914.png

① 2種のノイズを生成

異なるベクトルにスクロールするUV座標から2種類のノイズを生成する。

② ノイズを合成

①で生成された2種類のノイズを加算合成する。

③ 静止したノイズを合成

②で合成されたノイズに、静止したノイズを加算合成する。

④ ノイズの最終アプトプットを生成

③の出力結果のままだと加算合成によってほとんど真っ白になってしまっているため、新たなノイズを生成して、③の出力結果でオフセットさせる。

※ ノイズの調整 1

ノイズにもう少し複雑さを加えるために、③の出力結果を合成する。乗算合成によってコントラストもいい感じに調整されます。

※ ノイズの調整 2

よりコントラストをはっきりさせるために「Smoothstep」ノードを使用し、閾値を調整します。

⑤ 2色を線形補間

最終的なノイズの出力結果をパラメーターとして、2色のカラーを線形補間する。

■ 最後に (感想)

「Simple Noise」ノードを組み合わせて比較的簡単に実装することができました。
次回はこのマーブルノイズの実装を応用して、画面タップの座標を使ったインタラクティブなシェーダー表現を実装してみたいと思います。

ご覧いただきありがとうございました。

13
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?