本日はUnityの技術調査枠です。
Unity AIのドキュメントを読みながら実際に操作を試して記事に残します。
Unity AI
以下のUnity AIのドキュメントを試しながら実行時のキャプチャをしていきます。
docs.unity3d.com
Material Generator
Material Generatorは機械学習を用いてテキストベースのプロンプトと参照画像に基づいて3Dオブジェクトのリアルなマテリアルを生成します。
木材、金属、レンガなど、リアルな表面をシミュレートできます。
生成されたマテリアルはシーンビュー内のオブジェクトに直接適用し、様々なマテリアルマップや設定を使って調整できます。
Material Generatorは物理ベースレンダリング(PBR)をサポートしており、Unity内のライティングや環境条件にマテリアルを正確に反応させることができます。
プロンプトを使ってマテリアルを生成する
Material Generatorを使ってプロンプトからマテリアルを生成するには以下の手順を実施します。
Material Generatorウィンドウを開くにはプロジェクトウィンドウの空白領域を右クリックします。
[Create -> Rendering -> Generate Material]を選択します。

マテリアルが作成され、New Materialウィンドウが開きます。

AIモデルを選択する
AIモデルを選択するには[Change]を選択します。
ただし現在、サウンド生成に使用できるAIモデルは1つだけで変更できません。

プロンプトを入力する
[Prompt]フィールドまたは[Negative Promt]フィールドに生成するマテリアルの説明を入力します。

① Prompt(プロンプト)
[Prompt]フィールドには以下のように生成したいマテリアルの説明を入力します。
Wooden floor with natural grain (自然な木目が美しいフローリング)
② Negative Promt(否定プロンプト)
[Negative Promt]フィールドには除外してほしい特定の要素のキーワードを以下のように入力します。
No scratches or dirt (傷や汚れなし)
オプションを指定する
以下のスプライトのオプション項目を設定します。

① Material
[Material]スライダーを動かして生成するマテリアルのバリエーション数を設定します。
② CustomSeed
一貫した結果を生成するためにカスタムシードを指定するには[CustomSeed]を有効にしてシード番号を入力します。
生成する全ての2Dスプライトにはシードがあります。シードとはユーザーが入力するかツールが自動的に生成する番号です。
③ Pattern Reference
[Pattern Reference]からガイドとなる参照画像を選択します。
参照アイコンを選択して[Select Texture 2D]ウィンドウを開いてテクスチャを選択します。

最良の結果を得るには提供されている pattern_## テクスチャを使用します。
シームレスなタイリングに最適化され、マテリアルの品質を向上させます。
④ Material Map Assignments
生成されたマテリアルのプレビュー画像をカスタムシェーダーの特定の入力チャンネルに割り当てます。
マテリアルを生成する
設定を完了したら[Generate]を実行します。

生成されたスプライトは[Generations]パネルとInspectorウィンドウに表示されます。
[Generations]ボタンをクリックするとMaterial Generatorウィンドウが開きます。

[Generations]パネルでスプライトにマウスポインターを合わせると使用されているモデルやプロンプト設定などの詳細が表示されます。

Material Generatorは生成されたスプライトをプロジェクトのルートにある /GeneratedAssets フォルダに保存します。
これらのアセットは手動で削除するまでこのフォルダに残ります。

生成されたマテリアルの操作
生成されたマテリアルはインスペクターウィンドウに表示されます。
テクスチャ、パターン、設定の変更に合わせてプレビューの球体と立方体でリアルタイムに更新されます。