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

BEN CLOWARD Senior Technical Artist
Mar 19, 2024|5 Min
Hero image

シェーダーグラフチームは、Unity 2022 LTS、また今後リリース予定の Unity 6 Preview(2023.3)でインポート可能な、最新のサンプルセットのリリースを発表します。

このサンプルセットの目的は、シェーダーグラフを使用してさまざまなエフェクトやテクニックを実現する方法の例を示すことです。シェーダーに追加したいエフェクトがある場合、通常オンラインで数式やコードとしてアクセス可能ですが、一部の人にとっては共に扱いが難しい場合があります。当社は、皆さんが希望するエフェクトをより手軽に実現できるようになって欲しいと考えています。

パララックスマッピング、インテリアキューブマッピング、アングルブレンディング、フローマッピング、カスタムライティングなどのシェーダー機能は、このセットで利用可能な 30 種類以上の機能例のうちの 5 つに過ぎません。これらの例は、完全なシェーダーソリューションを提供するものではありませんが、特定のエフェクトの作成方法が示されており、そのほとんどがサブグラフにカプセル化されているため、自分のシェーダーに簡単にドラッグアンドドロップできます。

サンプルカテゴリの一覧を記載します。

Blending Masks(ブレンディングマスク):このブレンディングマスクサブグラフのセットには、高度ブレンディング、角度ブレンディング、カメラ距離ブレンディング、高さブレンディングが含まれます。

Blend Masks category of samples

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

Conditional Branching category of samples

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

Custom Interpolator category of samples

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

Custom Lighting category of samples

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

Detail Mapping category of samples

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

Procedural Noise and Shapes category of samples

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

Shader Graph Feature Examples category of samples

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

UV Projection category of samples

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

Vertex Animation category of samples
サンプルアセットのインストール方法

パッケージマネージャを使用して、新しいサンプルアセットをインストールします。

1. エディターで「Package Manager」を開きます。

The Window menu showing the Package Manager option

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

The Package Manager window with the Shader Graph package selected

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

Import button

4. 最後に、「Feature Examples」セクションのインポートボタンをクリックして、プロジェクトに新しいサンプルセットを取り込みます。

上記のステップを完了すると、Feature Examples アセットが、プロジェクトの「Assets/Samples/Shader Graph/<使用中のバージョン>/Feature Examples」配下に表示されます。

The location of the Node Reference Samples in the Project window

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

Selecting the correct scene to open in the Project window

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

Selecting the Showcase asset at the top of the Hierarchy panel
The tour guide panel that appears when you select the Showcase asset

Samples ドロップダウンボックスを使用してサンプルを選択すると、シーン内の対応する箇所にジャンプできます。

シェーダーグラフの新機能

シェーダーグラフには、さらに多くのサンプルが追加され、今後数か月にわたり複数のサンプルパックの公開が予定されています。これらのサンプルにより、シェーダーグラフの学習を早め、特定の機能の設定方法を理解し、既存のサブグラフやテンプレートを使用することで新しいシェーダーをより迅速に作成できるようになります。ぜひ、楽しんで使ってみてください。

追加のリソース

これは非常に奥深く豊富なサンプルセットです。色々試して、是非シェーダー作成プロセスのスピードアップにご活用ください。

これらのサンプルに関する皆さんの感想をお待ちしております。シェーダーグラフフォーラムからご意見をお聞かせください