MRが楽しい

MRやVRについて学習したことを書き残す

Unity AIのドキュメントを読む その19(カスタムシードを使用して一貫性のあるスプライトを生成する)

本日はUnityの技術調査枠です。
Unity AIのドキュメントを読みながら実際に操作を試して記事に残します。

Unity AI

以下のUnity AIのドキュメントを試しながら実行時のキャプチャをしていきます。
docs.unity3d.com

カスタムシードを使用して一貫性のあるスプライトを生成する

カスタムシードとは画像生成プロセスのランダム性を制御する数値です。
同じプロンプトに同じシードを入力すると、Generatorは毎回同じまたは類似の結果を生成します。
シードがない場合、プロンプトが変更されていなくても生成ごとに結果が異なる場合があります。

カスタムシードは以下の場合に使用します。

  • 異なるセッション間で特定の結果を一貫して再現する。
  • コアとなる出力スタイルや構成を同じままプロンプトに小さな変更を加える。
  • プロンプトとシードの組み合わせを他のユーザーと共有してプロジェクト全体で一貫した結果を得る。

ベストプラクティス

スプライト生成でカスタムシードを最大限に活用するには以下の提案に従ってください。

覚えやすいシードを使用する

シードには任意の整数を使用できますが再利用したい場合は覚えやすく参照しやすいものを選んでください。

シードとプロンプトを組み合わせる

デフォルトのカスタムシードに頼るのではなくカスタムシードをプロンプトと併用してランダム性を制御します。

シードとプロンプトの組み合わせを記録する

シードとそれに対応するスプライトプロンプトを記録しておくと後で参照できます。
特にスプライトを共有したり、後でデザインを反復処理したりする予定がある場合は重要です。

この情報は[Generate]パネルで確認できます。
表示するには生成されたスプライトを右クリックして[Show Generation Data]を開きます。

Genaration Dataウィンドウで利用したプロンプトとシードの情報が確認できます。

同じ結果のスプライトを再生成する

スプライトを再作成する必要がある場合は同じシードとプロンプトの組み合わせを使用してください。

ワークフロー例

カスタムシードを使用するには以下の手順を実施します。

[Prompt]フィールドに生成したいスプライトの説明を入力します。
例えば以下のようなプロンプトを入力します。

Generate a medieval castle with flags in cartoon style.
Use vivid colors and a sunny backdrop.
旗が飾られた中世の城をカートゥーン風に生成します。
鮮やかな色と晴れた背景を使用します。

一貫した結果を生成するためにカスタムシードを指定するには[Custom Seed]​を有効にしてシード番号を入力します。
この組み合わせにより、一貫して同様のスプライトが生成されて繰り返し作業や他のユーザーとの共有が容易になります。

例:8675309

説明に一致するスプライトを生成するには[Generate]を選択します。
Generatorはプロンプトに基づいてカートゥーンの城を作成します。

[Custom Seed]の 8675309 をチームや共同作業者と共有すれば、それぞれのシステムで同じ城のスプライトを再現できます。
プロンプトを改良する場合(例えば、堀や跳ね橋を追加するなど)ランダム性のパターンの一貫性を保つために同じシードを使用してください。