戻る

GPT-6 Astra 3D ゲームシーン制作ワークフロー:Tripo と Unreal MCP で中世都市を作る

2026.09.1810 分で読めますワークフロー

01 / 概要

概要

Astra は、アセットを生成し、配置し、結果を確認し、おかしな箇所を直すという長いツール呼び出しの連鎖を計画どおりに進めるのがとても得意です。これを Tripo CLI と Unreal MCP と組み合わせて、Unreal Engine 5 でプレイ可能な中世のゲームシーンを作りました。プロジェクトは 1 枚のリファレンス画像から始まり、一人称視点で歩き回れる都市になって終わります。

各段階で使ったプロンプトを、長さと分かりやすさの点で編集して掲載しています。何を求めているかをどう記述したか、作業が Tripo と Unreal MCP の間でどう進んだかが分かります。

02 / 概要

作るもの

完成したシーンのウォークスルー。

シーンは、市場の広場から眺めた小さな中世都市です。前景には露店、木箱、樽、木の歩道が並び、中景を石造りの建物と木骨造りの家が形づくります。左のスカイラインには塔と教会が立ち、道の先の城門がプレイヤーの目的地になります。薄いフォグが各レイヤーを分け、広場の向こうからでも城門が読み取れます。

市場から城門まで歩き、階段を上って門をくぐれます。

そこに至るまでに行うこと:

  • リファレンス画像を前景・中景・背景のレイヤーに分解し、優先度付きのアセットリストにする。
  • 基本形状でレベルをブロックアウトし、スケール・動線・カメラを固める。
  • Tripo で建物と小物を一括生成する。メイン建物は H3.1、遠景の建物と小物は P2.0。
  • 最終アセットをブロックアウトに差し替える。
  • ライティング、空、フォグを追加する。
  • エディタ内でシーンを歩き、その後一人称視点でテストする。

03 / 概要

なぜ Tripo と Astra を組み合わせるのか

生成を始める前に、ChatGPT Images 2.5 にリファレンス画像をアセットリストへ分解させました。メイン建物、小物、遠景で輪郭が読めれば十分なパーツ、という分け方です。そこから先、Astra に必要なのは 2 つでした。完成した 3D モデルと、エディタの中で作業する手段です。

モデルは Tripo が作りました。Astra はリストの各アセットについて Tripo を呼び出し、メイン建物には H3.1、遠景の建物と小物には P2.0 を使い、結果を Unreal プロジェクトに読み込みました。Tripo はコマンドラインで動くので、Astra はバッチ全体を投入し、各タスクを追跡し、失敗したアセットだけをやり直せました。

Unreal MCP は Astra にエディタを与えました。ブロックアウトを組み、アセットを配置し、ライティングを設定し、そのあと Play in Editor で動線を歩いて、浮いているもの・重なっているもの・道を塞いでいるものを探しました。

私の仕事はほとんど、欲しい結果を記述することと、結果が正しいかを判断することでした。

04 / 概要

始める前に

  • 生成ツールを用意する:Tripo CLI をインストール(npm install -g tripo-cli)するか、公式の Tripo 3D Codex Plugin を使う。
  • Tripo の認証:API key を作成して環境変数に設定するか、tripo auth login を実行する。tripo auth whoami と tripo account balance で、アカウントが有効でクレジットが残っていることを確認する。
  • Unreal Engine を準備する:UE5 で Unreal MCP と All Toolsets プラグインが有効なことを確認し、空のレベルを作成し、シーンのリファレンス画像を手元に用意する。
Tripo CLI ドキュメントTripo 3D Codex Plugin ドキュメントUnreal MCP ドキュメント(Epic)All Toolsets プラグイン

05 / 概要

ステップ 1:アセットと動線を計画する

まずリファレンス画像を ChatGPT Images 2.5 に渡し、シーンの分析だけをさせます。最終モデルの生成に急がないこと:

シーン分解プロンプト
この中世都市シーンのリファレンス画像を分析してください。前景・中景・背景のレイヤーに分解し、個別に生成する必要がある 3D アセットを列挙してください。あわせて次を明示してください:
- 主要な建物、城門、塔、教会、家屋;
- 露店、木箱、樽、木の歩道、柵などの小物;
- プレイヤーが取りそうな動線と、最終的な視線の先;
- どのオブジェクトが低ディテールのアセットで済み、どれがディテールを保つ必要があるか;
- どの構造物が Unreal Engine 内で地形・基本ジオメトリ・繰り返しモジュールとして直接作れるか。
優先度付きのアセットリストを出力してください。シーン画像全体を 1 つの 3D モデルとして扱わないでください。
シーン分解に使ったリファレンス画像。
シーン分解に使ったリファレンス画像。
ChatGPT Images 2.5 が生成したシーン分解。
ChatGPT Images 2.5 が生成したシーン分解。

06 / 概要

ステップ 2:ブロックアウトを組んで確認する

分解ができたら、まず Unreal MCP に簡単なジオメトリでブロックアウトを組ませ、全体の空間とカメラの構図を確認してから、最終アセットの生成に進みます。

ブロックアウトプロンプト
現在のプロジェクトディレクトリには Unreal Engine のプロジェクトファイルがあり、Unreal Engine はすでに開いていて、現在のレベルは空です。リファレンス画像に基づき、簡単なジオメトリと基本形状でシーン全体のブロックアウトを組み、各オブジェクトを妥当な位置に配置してください。リファレンス画像の人物は無視し、この段階では高ディテールの最終モデルを使わないでください。

完了したら、ニュートラルなプレビューライティングを使い、構図がリファレンス画像に近づくようカメラアングルを調整してください。シーンのレイアウト、オブジェクトのスケールと間隔、オクルージョン、オブジェクトの接地、歩行動線を確認し、明らかな問題がないことを確かめてください。
Unreal 上のシーンのブロックアウト。
Unreal 上のシーンのブロックアウト。
ブロックアウトの構築。

07 / 概要

ステップ 3:最終アセットを一括生成する

まずメイン建物を 1 つ生成して、生成設定と書き出し結果を検証します。その後、Astra(または他の GPT モデル)にアセットリストを処理させ、Tripo を一括で呼び出して残りの建物と小物を生成します。

  • バッチリストを整える:アセットごとに個別のリファレンス画像を用意し、名前・種類・使用場所・ディテールレベルを記録する。アセットが少なければ、上に示した ChatGPT Images 2.5 のシーン分解をそのまま使ってもよい。必要なモデルが明確に列挙されているので、1 枚の画像で全モデルを生成できる。
  • 生成ルールを揃える:前景のメイン建物は H3.1、遠景の建物と小物は P2.0 を使い、人物なし・背景なし・底面フラットを全アセット共通の条件にする。
  • タスクを投入する:リファレンス画像またはアセットリストをそのまま GPT に渡し、下のプロンプトで Tripo API を呼び出させ、結果を Unreal Engine に読み込む。

ヒント:モデルが多い場合や、整理・検索しやすいように別フォルダに分けたい場合は、アセットリストを Buildings、Props、Background に分け、プロンプトで GPT に各グループを専用のディレクトリへ保存させる。

  • 確認とやり直し:各タスクを 1 つずつ確認する。失敗した、構造が崩れた、リファレンス画像の背景を拾ったアセットは、バッチ全体を再生成せず個別にやり直す。
  • マテリアルとテクスチャ:base color、roughness、metallic、normal の各マップと、それらから組んだマテリアルが UE5 で正しいことを確認する。
  • コリジョン:建物の壁、扉の開口部、階段がキャラクターを正しく遮る/通すことを確認する。
  • ジオメトリの品質:モデルに穴や交差するジオメトリがないか確認する。
  • パフォーマンス:前景の高ディテール静的アセットには Nanite を有効にする。遠景の建物と小物はフェイス数を抑え、実際のレベルでパフォーマンスを見る。
建物生成テストプロンプト
- 提供したリファレンス画像を使って Tripo AI を呼び出し、モデルを 1 つ生成して現在の UE プロジェクトの /Game/Generated/ に読み込んでください。
- いずれかのステップが失敗したら、どこで失敗したか判断できるよう詳細なログレポートを出してください。
アセット一括生成プロンプト
- アセットリストと対応するリファレンス画像に基づき、Tripo を一括で呼び出してモデルを生成し、UE の /Game/Generated/ に読み込んでください。
- 前景のメイン建物には H3.1、遠景の建物と小物には P2.0 を使う;
- 各モデルは対象オブジェクトのみを含め、人物・余分な建物・複雑な背景を含めない;
- 明確で一意な英語のアセット名を使う;
- 失敗または拒否されたアセットは個別にやり直し、バッチ全体を再生成しない。
すべて完了したら、成功・失敗・再試行が必要なアセットの一覧を出力してください。
Tripo でモデルを一括生成。

ヒント:Tripo の 2 つのモデルの違い

  • HD Model (H3.1) は最大約 200 万フェイスの高ポリゴンモデルを生成でき、フェイス数の制御と多視点リファレンス入力に対応し、高精細な再現のために 8K Texture と PBR マップを直接出力します。3D プリントやカメラ級の静物レンダリングなど、豊かな形状ディテールが必要な用途向けで、UE5 で Nanite を有効にした静的アセットにも適しています。
  • Smart Mesh (P2.0) はトポロジーの整ったローポリモデルを生成し、ネイティブの四角形または三角形出力に対応、フェイス数を 500〜50K の範囲で制御できます。プロポーション調整、部分編集、1 回の生成で 4 つのバリエーション、多視点入力に対応し、リギングやアニメーションに進むローポリ用途や小物アセットに適しています。

08 / 概要

ステップ 4:アセットを差し替えてシーンを組み立てる

最終アセットを、ステップ 2 のブロックアウトで決めた位置に戻します。まずメイン建物と城門を差し替え、次に遠景の建物と前景の小物を足します。

シーン組み立てプロンプト
現在の Unreal Engine レベルのブロックアウト位置とリファレンス画像に基づき、各ブロックアウト部品を、すでにプロジェクトに読み込んである対応する最終アセットに置き換えてください。ブロックアウト段階で決めたスケール、道、階段、城門の位置、カメラの向きは維持してください。

次の順序で組み立ててください:
1. まず石造りのメイン建物と木骨造りの家を配置し、中景のシルエットを決める;
2. 城門をプレイヤーの動線の終点として右側に置く;
3. 塔、教会、その他の遠景の建物を左奥に置いてスカイラインを埋める;
4. 前景に露店、木箱、樽、木の歩道を追加する;
5. ブロックアウト段階で確認した道と高低差を維持し、どのアセットもプレイヤーの動線を塞がないようにする;
6. 繰り返し使うアセットは回転・わずかなスケール・位置の変化で差をつける;
7. 完了したら、リファレンスのカメラアングルから建物のシルエット、オクルージョン、接地、全体の構図を確認する。
Unreal MCP でシーンを組み立てる。

09 / 概要

ステップ 5:ライティングと雰囲気を設定する

レイアウトが安定したら、ライティングと雰囲気に取りかかります。

  • Directional Light を追加し、主光源と影の方向を決める。
  • Sky Atmosphere と Sky Light を追加し、空の色と環境光を設定する。
  • 必要に応じて弱い Exponential Height Fog を追加し、前景・中景・背景を分ける。前景の道は読み取れるまま、城門はやや暗くしつつ識別でき、遠くの塔のシルエットは残す。
自動ライティング・フォグプロンプト(Astra)
リファレンス画像に基づき、現在の Unreal Engine シーンのライティングを調整してください:Directional Light、Sky Atmosphere、Sky Light、弱い Exponential Height Fog を追加します。前景の道は読み取れるまま、メイン建物には立体感を与え、城門はやや暗くしつつシルエットは明瞭に、スカイライン上の遠くの塔は残してください。結果はリファレンスカメラと一人称視点のそれぞれから確認してください。
ライティング調整前。
ライティング調整前。
最終的なライティングとフォグ。
最終的なライティングとフォグ。

10 / 概要

ステップ 6:一人称視点で実行する

全体の見た目と動線が確認できたら、First Person feature pack を追加して最終的なプレイアビリティテストを行います。

  • feature pack を追加する:First Person feature pack を現在のプロジェクトに取り込み、Player Start を設定し、GameMode を変更する。
First Person feature pack の追加。
First Person feature pack の追加。
Player Start と GameMode の設定。
Player Start と GameMode の設定。
  • 一人称テスト:Play in Editor で道、階段、扉の開口部、コリジョン、プレイヤーの視界を確認し、動線を塞ぐ問題をすべて直す。
  • 最終出力:明らかな問題がなくなったら、一人称のウォークスルー動画を録画し、プロジェクトを保存またはパッケージ化する。
自動一人称セットアッププロンプト(Astra)
まず Unreal Editor の free camera で計画した動線に沿って現在のシーンを巡回し、構図、ライティング、スケール、オクルージョン、浮いているオブジェクト、交差するジオメトリを確認して、見つかった問題を修正してください。

シーンの巡回に問題がなくなってから、First Person feature pack を現在のプロジェクトに追加し、Player Start を設定し、GameMode を BP_FirstPersonGameMode に変更してください。その後、最終的な一人称ウォークスルー動画を録画してください:Play in Editor に入り、前景の市場から城門へ向かって歩き、道、階段、扉の開口部、コリジョン、プレイヤーの視界を確認します。完了前に、動線を塞ぐ問題をすべて修正してください。

11 / 概要

自分のシーンを作る

このワークフローで気に入っているのは、1 枚のリファレンス画像から始めて、結果の中を歩くことでフィードバックできる点です。Play in Editor で扉が塞がっていれば配置とコリジョンを直し、リファレンスの背景を一部拾ったモデルは残りのバッチに触れずそれだけ再生成し、城門が暗すぎればライティングを変える。シーンが正しいかを判断するのは依然として私ですが、Astra はその判断を Tripo を通じてレベルに反映してくれます。

作りたいゲームシーンがあるなら、まず GPT-6 Astra で小さなバージョンを作ってみてください。1 枚のリファレンス画像と短いアセットリストから始めます。市場の露店、街角、建物 1 棟で十分です。Tripo CLI か Tripo 3D Codex Plugin をインストールし、アセットを生成し、配置し、結果の中を歩いてみる。変えたい点を具体的に伝え、そこから広げていってください。