結論から先に
Unity AI Assistant は Create > Rendering > Generate Cubemap からテキストプロンプトでキューブマップを生成できますが、実際の出力はスカイボックスとして割り当てるエクイレクタングラー(正距円筒)形式のアセットです。よく機能しますが、生成のたびに Unity AI ポイントを消費します。エディタ内の AI ワークフロー全体が必要なわけではなく、スカイボックスだけが必要なら、同じくエンジンにそのまま使える結果を無料で作れます。ブラウザで 2:1 の正距円筒パノラマを生成し、それを自分のワークフローに合わせて名前を付けた 6 つのキューブ面に変換すればいいのです。
Unity AI Assistant の Generate Cubemap が実際にしていること
Create > Rendering > Generate Cubemap からアクセスする Unity AI Assistant は、フォーマット変換ツールではなく、テキストから画像を生成する機能です。「夕暮れの、どこか不穏な雰囲気の異星の峡谷」のように環境を描写するプロンプトを入力し、任意でネガティブプロンプトを加えて、モデルに出てほしくないアーティファクトや要素を避けさせることもできます。続いて Cinematic や Cartoon といったモデルスタイルを選び、枚数スライダーで一度に複数のバリエーションを生成して、確定する前に見比べられます。気に入った結果が出たら、Unity はそれをそのままキューブマップアセットとして割り当て、スカイボックスマテリアルにそのまま組み込めます。この方法でキューブマップを生成すると、Unity AI ポイントを消費します。
なぜ出力はエクイレクタングラーであって、6 つのファイルではないのか
メニュー項目こそ「Generate Cubemap」ですが、Unity が実際に生成するアセットはエクイレクタングラー——6 つの独立したキューブ面ではなく、1 枚の 2:1 パノラマ画像です。これは命名の不整合ではなく、中間フォーマットとして理にかなった選択です。生成系の画像モデルは平面の 2D 画像で学習・実行されるため、360°×180° の環境は、キューブ面という話が出てくるよりずっと前に、まず 1 枚の長方形のキャンバスへ自然にマッピングされます——正距円筒であれば、特定のエンジンの面レイアウトに縛られることなく、1 枚の生成画像で球面全体を表現できます。この「まず正距円筒」というアプローチも Unity の AI 機能だけの特徴ではありません。360 度写真や CG の環境マップは、AI ツールが存在するよりずっと前から、同じ「まず平面に」という慣習に従ってきました。だからこそ、ソース画像が何で生成されたかにかかわらず、正距円筒からキューブマップへの単独の変換ステップは、業界全体で長らく繰り返し必要とされてきたのです。
無料の代替策:まず生成し、次に変換する
本当に必要なのが「スカイボックスが欲しい」であって、「Unity エディタ内の AI パネルがどうしても必要」ではないなら、AI ポイントを 1 つも使わずに同じ「正距円筒からキューブマップへ」というパイプラインを実現できます。まずはスカイボックス生成ツールから。シーンを普通の言葉で説明するだけで、ブラウザ上で継ぎ目のない 2:1 の正距円筒パノラマが生成されます。インストールは不要で、プロンプトを練り直している間もポイントが減っていくメーターはありません。気に入ったパノラマができたら、それをキューブマップ変換ツールに通します。正距円筒画像を 6 つの正方形の面に切り分け、目的のエンジンのワークフローに合う命名規則でまとめてくれます。パイプライン全体がクライアント側で完結し、2 つのステップの間で生成物がサーバーにアップロードされることはありません。個人開発者や小さなチームがスカイボックスのバリエーションを試す場合、これは Unity の AI 機能と機能的にはまったく同じアセットを、ポイントを使わずに、しかもプロジェクトに確定させる前にもっと自由に試行錯誤できる形で得られるということです。パノラマ生成と変換が別のステップなので、正距円筒のソースをそのまま残しておくこともできます。同じ環境を後でビューアや別のエンジン、あるいは 6 面ではなく 2:1 入力を求める別のプラットフォームで使いたくなったときに便利です。
Unity 向けに面の名前を正しく揃える
どのツールで 6 つの面を作ったとしても、正しく名前を付けることが最も失敗しやすいステップです——もっとも、Unity 自体は特定の命名規則を強制しているわけではありません。Unity の 6-Sided スカイボックスマテリアルは、Inspector 上の 6 つのスロットにそれぞれテクスチャを割り当てる仕組みなので、手元のファイルを手作業でつなぎ込めばそれで済みます。一方 Unreal はそもそもこの話に入ってきません。6 枚の個別の面画像を読み込む公式の手段がないため、Unreal を使うなら面への分解は丸ごと飛ばして、equirectangular のソースをそのままインポートしてください——UE は 2:1 の .hdr をインポート時に TextureCube へ展開し、HDRI Backdrop やスカイスフィアのマテリアルにすぐ使えます。実際にみんなが従っているのは、バッチ書き出しや使い回しをしやすくするためのコミュニティ・ツールチェーンの慣習です。px、nx、py、ny、pz、nz——正負の X・Y・Z が、それぞれ右・左・上・下・前・後ろに対応——は、Unity や Three.js のワークフローでよく使われる形です。right、left、top、bottom、front、back は、単体の変換ツールや古いスカイボックス素材集の多くで使われる形で、front はパノラマの中央、right はそこから右へ 90° 回った部分を指します。Unity はさらにその上に独自の癖を重ねています:Skybox/6 Sided マテリアルの 6 つのスロットは Front [+Z]、Back [-Z]、Left [+X]、Right [-X]、Up [+Y]、Down [-Y] と表記されており、Unity が Left と呼ぶスロットは実は +X 軸——つまり正面を向いたときに右手側にある面です。キューブマップ変換ツールはこの部分を吸収しており、書き出すファイルを軸ではなく Unity のスロット名で命名します。だから left.png を Left スロットに入れ、各ファイルを同じ名前のスロットに合わせるだけで済み、X の符号を考える必要はありません。2 つの慣習を面の割り当て時に取り違える——たとえば変換ツール流の一式を、軸名ベースのレイアウト用スロットに読み込む——と、エラーは出ません。スカイボックスはレンダリングされますが、面同士が回転していたり鏡映しになっていたりして、目に見える継ぎ目ができたり、端で地平線がずれたりします。この不具合は分かりにくく、命名ミスではなく面の割り当て違いだと気づかれず、テクスチャのインポート設定の問題だと誤診されがちです。どのツールを使う場合でも、安全な習慣は、最終的なスカイボックスマテリアルを組み立てる前に、各面を単なるテクスチャとして個別に読み込み、向きを確認しておくことです。1 分もかかりませんが、これだけであるバグのカテゴリを丸ごと避けられます。キューブマップ変換ツールは、書き出し時に好きな命名規則を選べます:front/back/left/right/up/down なら Unity の 6-Sided スロットに名前どおり対応し、px/nx/py/ny/pz/nz は Three.js の CubeTextureLoader や汎用ツールの大半に、pos_x/neg_x 形式は OpenGL 系のパイプラインに向いています。
Unity AI のほうが向いている場合
ここまでの話は、無料のブラウザ手段が全面的に優れているという意味ではありません。あくまで、より狭い問題をうまく解決しているだけです。ライティングを調整しながら、シーンのフォグやポストプロセスに対する見え方をリアルタイムで確認し、Unity から一度も離れずにバリエーションを次々と生成する——そんなふうにエディタ内の大きな作業の一部としてスカイボックスを反復するなら、AI Assistant パネルの緊密な統合にポイントを使う価値はあります。Unity 公式のサポート窓口とドキュメントが付いてくることも、ベストエフォートのコミュニティツールではなく、責任を持って対応してくれるベンダーとの関係が必要なスタジオにとっては重要です。また、チームにすでに AI ポイントの予算が割り当てられていて使い切っていないなら、それをキューブマップ生成に使うのも悪くない選択です——どのみち支払い済みのリソースだからです。ブラウザベースの手段が最も理にかなうのは、コストが制約になっている場合や、複数のエンジンで使い回せる持ち運び可能な正距円筒のソース画像が欲しい場合であって、エディタ内での反復速度こそが本当に重要なワークフローでは、そちらには向きません。この 2 つの手段は競合するものというより補い合うものとして捉えるのがよいでしょう。エディタの外で安く試作し、方向性が固まったら Unity の AI パネルに移って仕上げる、という使い方です。
逆方向:キューブマップから正距円筒への相互変換
逆の方向が必要になることもあります。手元にキューブ面のテクスチャしかなく、正距円筒のソースが一度も保存されていないプロジェクトを引き継ぎ、その環境を 1 枚のパノラマ画像として編集したい、あるいはビューアやウェブサイト、2:1 入力を求める別のエンジンに使い回したい、というケースです。私たちのキューブマップ→正距円筒 変換ツールは、6 枚の面をブラウザ内で直接 1 枚の正距円筒画像へと組み直します。一方向だけのパイプラインに縛られることはなく、どちらの形式から始めても、もう一方へ相互変換できます。
