Unity 2022 LTS の新しいシェーダーグラフ機能の例

シェーダーグラフチームは、Unity 2022 LTS、また今後リリース予定の Unity 6 Preview(2023.3)でインポート可能な、最新のサンプルセットのリリースを発表します。
このサンプルセットの目的は、シェーダーグラフを使用してさまざまなエフェクトやテクニックを実現する方法の例を示すことです。シェーダーに追加したいエフェクトがある場合、通常オンラインで数式やコードとしてアクセス可能ですが、一部の人にとっては共に扱いが難しい場合があります。当社は、皆さんが希望するエフェクトをより手軽に実現できるようになって欲しいと考えています。
パララックスマッピング、インテリアキューブマッピング、アングルブレンディング、フローマッピング、カスタムライティングなどのシェーダー機能は、このセットで利用可能な 30 種類以上の機能例のうちの 5 つに過ぎません。これらの例は、完全なシェーダーソリューションを提供するものではありませんが、特定のエフェクトの作成方法が示されており、そのほとんどがサブグラフにカプセル化されているため、自分のシェーダーに簡単にドラッグアンドドロップできます。
サンプルカテゴリの一覧を記載します。
Blending Masks(ブレンディングマスク):このブレンディングマスクサブグラフのセットには、高度ブレンディング、角度ブレンディング、カメラ距離ブレンディング、高さブレンディングが含まれます。

Conditional Branching(条件分岐):使用中のレンダーパイプラインと選択した品質レベルに応じてシェーダーを分岐させる方法の例が、2 つ用意されています。

Custom Interpolator(カスタムインターポレーター):頂点単位で計算すると上手く機能しないエフェクトの例と共に、頂点ステージに演算を移動させてパフォーマンスを向上させる方法の例が紹介されています。

Custom Lighting(カスタムライティング):ライティングをより安価にレンダリングしたり、プロジェクト独自のアーティスティックなスタイルを実現したりするために、シェーダーグラフでライティングの挙動をカスタマイズする方法が欲しい、という要望が多く上がりました。これらのサンプルは、その実現方法を示しており、PBR ライティング、単純なライティング、セルシェーダーの例を含んでいます。

Detail Mapping(ディテールマッピング):このセットには、ディテールマッピングを使用してマテリアルにディテールを適用する 3 つの異なるテクニックである、カラーディテール、法線ディテール、フルマテリアルディテールが含まれています。

Procedural Noise and Shapes(プロシージャルノイズと形状):テクスチャマップを使用するよりも、パターンをプロシージャルに生成する方が、コストパフォーマンスが高いことがよくあります。このカテゴリには、レンガパターンをプロシージャルに生成する方法の例、六角形グリッド生成用のサブグラフ、および符号付き距離フィールド形状のセットが含まれています。

Shader Graph Feature Examples(シェーダーグラフ機能の例):シェーダーグラフには、サブグラフのドロップダウンや入力コネクションに基づく分岐など、使いこなすのが難しい機能がいくつかあります。このセクションでは、これらの機能を使用して、サブグラフの有用性を高める例を紹介します。

UV Projection(UV 投影):フリップブックブレンディング、フローマッピング、インテリアキューブマッピング、緯度経度投影、マットキャップまたはスフィア投影、パララックスマッピング、トリプラナー投影など、多くの機能が UV 座標の操作に基づいています。このセクションには、これらすべてのエフェクトが含まれています。

Vertex Animation(頂点アニメーション):シェーダーグラフといえば、ピクセルシェーダーを思い浮かべる人が多いと思いますが、シェーダーグラフは頂点ステージを使って頂点にアニメーションをつけることもできます。 これらの例には、なびく旗、ベンドデフォーマー、カメラに正対するビルボードエフェクト、ゲルストナー波、シェーダーグラフで完全構築されたフル機能のパーティクルシステムなどが含まれています。

パッケージマネージャを使用して、新しいサンプルアセットをインストールします。
1. エディターで「Package Manager」を開きます。

2. Package Manager ウィンドウで、「Shader Graph」パッケージを選択します。

3.「Samples」タブを選択します。

4. 最後に、「Feature Examples」セクションのインポートボタンをクリックして、プロジェクトに新しいサンプルセットを取り込みます。
上記のステップを完了すると、Feature Examples アセットが、プロジェクトの「Assets/Samples/Shader Graph/<使用中のバージョン>/Feature Examples」配下に表示されます。

サンプルのインポート後、 Scenes フォルダーから使用しているレンダーパイプライン(HD レンダーパイプライン(HDRP)、ユニバーサルレンダーパイプライン(URP)、またはビルトインレンダーパイプライン)に対応するシーンを開いて開始します。

シーンを開いたら、Hierarchy パネル内の「Shader Graph Feature Samples Showcase」アセットを選択し、インスペクターの案内に従ってください。


Samples ドロップダウンボックスを使用してサンプルを選択すると、シーン内の対応する箇所にジャンプできます。
シェーダーグラフには、さらに多くのサンプルが追加され、今後数か月にわたり複数のサンプルパックの公開が予定されています。これらのサンプルにより、シェーダーグラフの学習を早め、特定の機能の設定方法を理解し、既存のサブグラフやテンプレートを使用することで新しいシェーダーをより迅速に作成できるようになります。ぜひ、楽しんで使ってみてください。
- シェーダーグラフの基本
- シェーダーグラフのドキュメント
- Unity Learn チュートリアル
これは非常に奥深く豊富なサンプルセットです。色々試して、是非シェーダー作成プロセスのスピードアップにご活用ください。
これらのサンプルに関する皆さんの感想をお待ちしております。シェーダーグラフフォーラムからご意見をお聞かせください。
