. Shader・Shader Graph 解説6 ノイズを使いこなせ! | ゲ制工房 ゲーム制作解説ブログ
Shader・Shader Graph 解説6 ノイズを使いこなせ! | ゲ制工房 ゲーム制作解説ブログ
Shader・Shader Graph 解説6 ノイズを使いこなせ! | ゲ制工房 ゲーム制作解説ブログ

はじめてのShader・Shader Graph 解説6 ノイズを使いこなせ!

[Unity] Shader Graph でノイズ関数を改造してタイリングに対応するカスタムノードを作る - Qiita 追記:本記事の改良版 [Unity] Shader Graph でノイズ関数を改造してタイリングに対応するカスタムノードを作る(改) を投稿しました。コードの修正があるので、冒頭のカ.

ノイズの作り方2:動画編集ソフトなどでノイズテクスチャを作る

また、エフェクト制作人口が少ない要因の1つだと思いますが、ノイズテクスチャ含め、エフェクト用のテクスチャを作るには、基本的に高額なツール(Photoshop、After Effect、Substance Designerなど)を使用しないと作るのが難しいことがほとんどです。

ですが、このEffect Texture Makerで作成出来るノイズであれば、先ほど紹介したUnityデフォルトで搭載されているノイズで事足りることもあり、個人的にはあまり使用していません。

当Blogは、もっとカジュアルにゲームを作る人を対象としているので、高額ソフトに頼らず、無料で使えちまうUnity標準搭載ノイズを使うことを前提としたシェーダーの作成方法について解説していきます。

頻出!ノイズを絡めたShader Graphの表現

1.ノイズに色を乗せる

2色でグラデーションさせる場合は Lerp というノードを使います。こちらはAとBの入力を滑らかに補間してくれるノードです。

2.ノイズをスクロールする 3.ノイズの境目をパッキリと塗り分ける

ノイズは、一様に0~1に広がっていますが、アニメ調の表現をしたい場合などは、色の違いをはっきりと分けたいことがあります。そうした時に、ノイズの出力に Step ノードをつなぐことで、境目がくっきりとしてアニメ調な表現になります。

4.ノイズを引き伸ばす

例えば、縦長のノイズを作るには、ノイズのUVをタテに引き伸ばします。 Tiling And Offset ノードのTilingの値を伸ばしてみます。

すると、こんな感じの闇のオーラっぽいものが作れます。また、 Power ノードは後述しますが、ノイズのコントラスト(明暗差)を強くするためのノードです。数式的にはn乗する処理です。Shaderでは、値を乗算すると暗く、加算すると明るくなるものでした。(詳しくはこちらの記事で)B=2の場合、値を二乗しているので、暗い箇所がより暗くなっている、というわけです。

5.ノイズ線(直線)

UV > Split のRをNoiseのUVに接続するだけです。Rを接続すると、タテの線になります。

6.ノイズ線(集中線)

先程のノイズを、中心から広がるような線にしてみます。先ほどつないでいた UV ノードを PolarCordinates に変更するだけです。

PolarCordinates というのは日本語では、極座標といいます。UVは通常左から右に掛けて0~1と増えていきますが、 PolarCordinates を挟むと、中心から外側に掛けて0~1に広がっていく見た目を作れます。

また、 PolarCordinates のRを接続するとエモい感じの同心円が作れます。

7.ノイズにマスクを掛ける 8.ノイズを使ってディゾルブさせる

ノイズに Step ノードを接続すると、0か1かをパッキリと分けることが出来るんでした。これを使って、0の範囲を増やしていくことで、徐々にテクスチャを消していく、ディゾルブの表現が可能になります。

9.Powerノードでノイズのコントラストを上げる

ですが、コントラストを強めにすることで、実用的な見た目のノイズになります。 Tiling And Offset で若干タテに引き伸ばして Voronoi Noise をつなげ、 Power ノードで明暗差を付けてみました。

Power ノードは便利ですが1つ注意が必要です。 Power ノードをつなぐ前の値には、マイナスの値が含まれないようにする必要があります。

たとえば、ノイズに0.5を減算し、部分的にマイナス値を含んだ状態で Power ノードに接続してみます。

このように、値がマイナスになっている箇所だけがエラーとなります。エラーはピンクで表示されます。ちなみに、ビルトインのシェーダーをURPに持ってくると真っピンクになるのは、シェーダーエラーになっているからです。

これを防ぐには、 Power ノードの前に Saturate ノードをつないでください。 Saturate は、値を0~1の間に調整してくれるノードです。 Saturate ノードをつなぐと、エラー部のピンク箇所が消えました!

まとめ

【Unity】120以上のエフェクトがすぐに使える!Unityスターターキット Easy Custom VFX/UI Vol.1 - Yu-Rin-. ☆☆☆☆2024/10/10追記 第16回ユニティ・アワード Best Artistic Toolに、本アセットがノミネートされました. ☆☆☆☆ 多くのゲームで使用出来る、汎用的な画像加工演出・ポスト.

関連 よかったらシェアしてね! URLをコピーしました! URLをコピーしました!
  • Easy Custom VFX/UI、Easy Custom VFX 3D値上げのお知らせ
  • 【Unity】DoTween Pro版と無料版の違いを徹底解説!

この記事を書いた人

ゲーム制作の敷居を下げ、もっと多くの人にゲーム作りを楽しんでもらうために、ゲームをカンタンに作る方法を”網羅的に”解説しています。 よかったらブックマークお願いします。 Twitter(X)もよければフォローお願いします。

関連記事

VRゲーム作ってみたら想像の100倍カンタンだった件 2025年12月9日 ビルド容量からTextMeshProの容量を減らす対策! 2025年9月10日 Unity1week共有会 スライド 2025年8月30日 【Unityでソシャゲを作ろう2】厄介だけど必要!運用に耐えられるセキュリティの高い通信を行おう! 2025年7月31日 【Unityでソシャゲを作ろう】運用型ライブゲームを作るために知っておくべきネットワーク基礎知識 2025年7月14日 プロジェクトを使いまわせ!いつも使うアセットをインストール済み状態でプロジェクトを開始する方法 2025年6月23日 ゲーム制作初心者の過去の自分に教えたかった情報 2025年5月27日 Odin使いこなしチートシート 2025年5月18日

コメント

コメント一覧 (1件) コメントする コメントをキャンセル エフェクトのサムネイル表示・インスペクタ内再生ツール 【120以上の素材集】シェーダー・エフェクトスターターキット Unityのフォント追加方法・TextMeshProを日本語で使う方法 Unityでマスクを使って画像を切り取る方法!マスクを使った演出方法も紹介! UnityのText(レガシー)とTextMeshProの違い【初心者向け解説】 【Unity】わかり易さ特化!はじめてのShader・Shader Graph 解説 1 【Unityボタン完全攻略】ボタンの設計方法を解説!標準にない長押し判定のサンプルあり 完全無料・著作権フリーのUI素材集 ゆーりんち(Yu-Rin-Chi)

合同会社Y.G.Tクリエイト代表。 ゲームエンジニアもどき。自作好き。 アセット・ライブラリ制作、Webアプリ開発、バナー制作、動画編集などなど色々やっています。 パソコンに詳しくない人でもゲームが作れるように分かりやすい記事を心がけています。

📎📎📎📎📎📎📎📎📎📎