第9章では、写真から現実の物体を3Dにする技術として、フォトグラメトリ、NeRF、3D Gaussian Splattingを見ました。 どれも「実在する物を撮影して復元する」技術です。 この章では一歩進んで、テキストや1枚の画像から、まだ存在しない物体の3Dモデルを作る3D生成AIを扱います。

画像生成AIは2022年ごろから急速に実用化しました。それに比べると、3D生成は数年遅れて進んできた分野です。 なぜ遅れたのかを押さえると、研究の系譜を4つの世代に整理できます。 章の後半では、商用サービスとオープンモデルの選び方、評価の方法、生成物を実務で使うときの課題、ライセンスの注意点を順に見ていきます。

なぜ3D生成は画像生成より難しいのか

理由1: 学習データが桁違いに少ない

画像生成モデルは、Web上の画像とテキストの組を数十億件規模で集めて学習するのが一般的とされます。 3Dモデルはそうはいきません。人が手でモデリングした3Dアセットは、画像に比べて圧倒的に数が少ないからです。 代表的なデータセットの規模を並べると、差がはっきりします。

データセット公開規模主な出どころ
ShapeNetCore2015約5.1万物体・55クラスWordNet体系で整理した3D CADモデル
Objaverse 1.02022約81.8万物体・約2.1万クラスSketchfab(配布可能なCCライセンスのもの)
Objaverse-XL2023約1,020万物体GitHub約56%、Thingiverse約35%、Sketchfab約8%ほか

最大のObjaverse-XLでも約1,000万件です。しかもその半分以上はGitHubのリポジトリから拾い集めたファイルで、質にはばらつきがあります。 データが少ないという制約に対して、研究者たちは二つの方向で答えを探しました。 一つは、画像生成で学習済みの2D拡散モデルの知識を借りる方向です。もう一つは、少ないデータでも学習が回るよう3D表現そのものを工夫する方向です。

理由2: 出力の「形式」が決まっていない

画像なら出力は「画素の格子」と決まっています。一方、第1章で見たように、3Dの表現はメッシュ、点群、ボクセル、SDF、NeRF、3D Gaussianなどいくつもあります。 ニューラルネットワークで扱いやすい表現(ボクセルや陰関数)と、ゲームエンジンやglTFがそのまま受け取れる表現(ポリゴンメッシュ)が一致しません。 そのため3D生成の研究は「どの表現で生成し、どうやってメッシュに戻すか」をめぐる試行錯誤の歴史でもあります。

3D生成の4つの世代

2022年以降の3D生成は、大きく4つの世代に分けて考えると見通しがよくなります。 これとは別に、メッシュの三角形を言語モデルのように1つずつ並べる「自己回帰メッシュ生成」という系統も並行して進んでいます。

graph LR
  D["2D画像拡散"] --> S["第1世代 SDS<br/>DreamFusion"]
  D --> Z["Zero-1-to-3"]
  Z --> ZP["Zero123++<br/>6視点タイル"]
  ZP --> IM["第2世代<br/>InstantMesh"]
  L["第3世代 LRM<br/>triplane"] --> IM
  L --> T["第4世代 TRELLIS<br/>SLAT"]
  T --> T2["TRELLIS.2<br/>O-Voxel"]
  L --> H["Hunyuan3D 2.0<br/>DiT+Paint"]
  MG["MeshGPT"] --> MA["MeshAnything"]
  MA --> B["BPT"]

  style S fill:#475569,stroke:#334155,color:#fff
  style IM fill:#3b82f6,stroke:#1d4ed8,color:#fff
  style L fill:#0d9488,stroke:#0f766e,color:#fff
  style T2 fill:#8b5cf6,stroke:#6d28d9,color:#fff
  style H fill:#8b5cf6,stroke:#6d28d9,color:#fff
  style B fill:#f97316,stroke:#ea580c,color:#fff
3D生成AIの系譜。2D拡散の知識を借りる流れ(上)から、3Dネイティブな潜在表現(紫)へ移った。下段は別系統の自己回帰メッシュ生成

DreamFusion(SDS)

2D拡散モデルを先生役にしてNeRFを最適化。3D学習データなしでテキストから3Dを作った

Zero-1-to-3

1枚の画像とカメラの相対移動から、別視点の画像を生成する拡散モデル

LRM / MeshGPT

LRMは1枚画像から約5秒でtriplaneを出すfeed-forward型。MeshGPTは三角形列を自己回帰で生成

InstantMesh

Zero123++の多視点画像を再構成モデルでメッシュ化。10秒以内で生成

TRELLIS

Microsoftの3Dネイティブ潜在モデル。SLATからRF・3DGS・メッシュへデコード

Hunyuan3D 2.0

Tencentの形状DiT+テクスチャPaintの2段構成。2.1(2025-06)がオープン重みの最後

TRELLIS.2

4BパラメータのO-Voxelモデル。MITライセンスでPBR付きGLBを出力

Meshy 7.1 / Tripo P2.0

商用サービスは超高解像度とクアッドメッシュ、局所編集で競う段階へ

第1世代: SDS — 2D拡散モデルを先生にする

2022年9月にGoogleの研究者らが発表したDreamFusionは、3Dの学習データを一切使わずにテキストから3Dを作りました。 使ったのは、学習済みのテキスト→画像拡散モデル(Imagen)だけです。拡散モデル自体には手を加えていません。

手順はこうです。まずランダムに初期化したNeRF(第9章)を用意し、ランダムな角度からレンダリングします。 その画像にノイズを足し、拡散モデルに「このノイズを取り除くとしたら、どんな画像になるか」を予測させます。 拡散モデルの予測と実際に足したノイズのずれを勾配としてNeRFに戻し、NeRFのパラメータを少しずつ動かします。 これを何度も繰り返すと、どの角度から見ても「プロンプトらしい画像」に見えるNeRFができあがります。 この損失をSDS(Score Distillation Sampling)と呼びます。2D拡散モデルの知識を3Dへ「蒸留」するイメージです。

SDSには二つの弱点がありました。一つは遅さです。物体を1つ作るたびに最適化ループを最後まで回すので、数秒では終わりません。 もう一つはJanus問題です。2D拡散モデルは一度に1視点しか見ないため、ほかの視点との整合を確かめられません。 その結果、どの角度から見ても正面の顔を描こうとして、後頭部にも顔がある「多面の顔」ができてしまいます。 名前は前後に二つの顔を持つローマ神話の神ヤヌスに由来します。MVDreamは、複数視点の画像を同時に生成する拡散モデルをSDSの先生役に使い、この問題を和らげました。

第2世代: マルチビュー拡散+再構成

第2世代の発想は、「一貫した多視点画像を先に作り、それを3Dに戻す」二段構えです。 2023年3月のZero-1-to-3は、1枚の画像と相対的なカメラの移動量を条件に、別の視点から見た画像を生成する拡散モデルでした。 合成データで学習しても、実写や絵画にまで汎化した点が注目されました。

ただ、1視点ずつ生成すると視点間で細部が食い違います。 そこでZero123++は、6つの視点を3×2のタイル状に並べた1枚の画像として、まとめて生成する方式を採りました。 1枚の画像の中で6視点が同時に生成されるので、視点間の整合が取りやすくなります。 仰角は下向き30°と上向き20°を交互に、方位角は30°から60°刻みで回り込む配置です。

2024年のInstantMeshは、Zero123++で作った多視点画像を、次に説明するLRM系の再構成モデルに入れてメッシュ化します。 全体で10秒以内に収まり、SDSの「遅さ」と「Janus問題」を同時に緩和しました。 ただし、多視点画像が食い違っていれば、その食い違いがそのまま3Dの形の崩れになるという弱点があります。

第3世代: LRM — 最適化ループをなくす

2023年11月のLRM(Large Reconstruction Model)は、考え方を大きく変えました。 SDSは物体ごとに最適化を回しましたが、LRMは大量のデータで一度だけ学習し、推論は1回の順伝播で済ませるfeed-forward型です。 1枚の画像から約5秒で3Dを出力します。

仕組みは、Webエンジニアにもなじみのある「エンコーダ+Transformer」です。 画像をDINO(ViT-B/16)でエンコードし、約5億パラメータのTransformerがその特徴をtriplaneというNeRFの一種に変換します。 triplaneは、3つの直交する平面に特徴を並べ、空間の点を3平面に投影して特徴を足し合わせる表現です。 N³個のボクセルを持つ代わりにN²×3の平面で済むので、Transformerが一度に出力できるサイズに収まります。 学習にはObjaverseの3Dアセット73万件とMVImgNetの動画22万本、合わせて約100万物体を使いました。

LRMの意義は、「データとパラメータを増やすほど良くなる」というスケーリングの発想を3Dに持ち込んだことです。 ここで3D生成は、言語モデルや画像モデルと同じ土俵に乗りました。

第4世代: 3Dネイティブ潜在 — 3Dのまま拡散する

第4世代は、画像生成でおなじみの「潜在空間で拡散モデルを動かす」方式を、3Dの潜在表現に対して直接行います。 2D画像を経由しないので、視点間の食い違いが原理的に起きにくい方式です。2026年時点の主力はこの世代です。

TRELLIS: SLATと2段のrectified flow

Microsoftが2024年12月に発表したTRELLISの中心は、SLAT(Structured LATent)という潜在表現です。 SLATは、64³の疎な3Dグリッドのうち物体の表面付近にあるボクセル(平均約2万個)だけに特徴ベクトルを載せたものです。 特徴の作り方に工夫があります。物体をランダムな視点からレンダリングし、画像の視覚基盤モデルDINOv2で特徴を抽出します。 各ボクセルが投影される画像の特徴を平均すれば、専用の3Dエンコーダを一から学習しなくても、見た目と形の情報を持つ3D特徴が手に入ります。

生成は2段階で行います。まず1段目のrectified flow Transformerが「どのボクセルに物体があるか」という粗い占有構造を作ります。 次に2段目のTransformerが、そのアクティブなボクセルそれぞれに潜在ベクトルを生成します。 rectified flowは、ノイズからデータへの経路をまっすぐにする拡散モデルの一種と考えてください。

もう一つの特徴がデコーダを3種類持つことです。同じSLATから、radiance field、3D Gaussians、メッシュのいずれにもデコードできます。 章の冒頭で見た「出力表現が決まらない」という問題に、「潜在は共通にして、出口だけ用途に応じて替える」という形で答えたわけです。 学習データはObjaverse-XLなどから精選した約50万アセット、モデルは最大20億パラメータです。

TRELLIS.2: O-VoxelとPBR出力

2025年12月のTRELLIS.2は、パラメータを約40億に増やし、表現をO-Voxelに置き換えました。 O-Voxelは「field-free」な疎ボクセル構造で、SDFのような等値面フィールドを経由しません。 等値面方式は「内側と外側」を前提にするため、葉っぱの板ポリゴンのような開いた面や、非多様体、内部構造を苦手とします。 O-Voxelはこれらと鋭いエッジ、PBRマテリアル(base color、roughness、metallic、opacity)を直接表せると主張しています。

解像度は512³から1536³まで選べ、H100で512³なら約3秒、1024³で約17秒、1536³で約60秒です。 出力はPBR付きのGLBですが、既定ではOPAQUEで書き出されるので、半透明を使うにはalphaを手動でつなぐ必要があります。 ライセンスはモデル・コードともMITです。

Hunyuan3D 2.0: 形と質感を分ける2段構成

Tencentが2025年1月に公開したHunyuan3D 2.0は、形状とテクスチャを別々のモデルで作ります。

  1. Hunyuan3D-ShapeVAE: メッシュ表面から点をサンプルし(辺や角に多めに取る重要度サンプリング)、最大3072個の潜在トークン列に圧縮します。デコーダはSDFを予測し、marching cubesでメッシュにします
  2. Hunyuan3D-DiT: 入力画像をDINOv2 Giantで符号化し、flow matchingの拡散TransformerでShapeVAEの潜在を生成します
  3. Hunyuan3D-Paint: 入力画像から影やハイライトを取り除く「Delighting」をかけたうえで、法線マップなどを条件に多視点画像を生成し、UVへベイクします。見えない部分は補間で埋めます

形とテクスチャの難しさを分けたことで、手作りのメッシュにPaintだけを使ってテクスチャを付ける使い方もできます。 2025年6月の2.1ではPBRテクスチャに対応し、学習コードも公開されました。 形状・テクスチャ生成の本体としては、2.1がオープン重みで公開された最後の版です。 2025年9月発表の3.0以降はTencentのプラットフォームやAPIを通じたサービスとして提供されています(制御付き生成のOmniとパーツ分割のPartは2025年9月にオープン重みで出ています)。

別系統: 自己回帰メッシュ生成

ここまでの世代は、最終的にSDFなどからmarching cubesでメッシュを取り出すものが中心でした。 この方法で作ったメッシュは、細かい三角形がびっしり並んだ「三角形スープ」になりがちです。 第3章で見たように、人が作るメッシュは形に沿ったエッジループを持ち、面数も少なく整っています。この差を埋めようとするのが自己回帰メッシュ生成です。

  • MeshGPT(2023): メッシュを「三角形の列」とみなし、decoder-only Transformerで次の三角形を1つずつ予測します。LLMが次のトークンを予測するのと同じ発想です。アーティスト製メッシュらしいコンパクトさと鋭いエッジが出ます
  • MeshAnything(2024): 既存の3D形状を入力に、それに合う「アーティストが作ったようなメッシュ」を生成します。密な抽出法に比べて面数を数百分の一に減らし、精度は同等に保つと報告しています
  • BPT(2024): 座標をブロック単位のインデックスに変え、周辺の面をパッチにまとめることで、トークン列を約75%短くしました。これで8,000面を超えるメッシュを扱えるようになりました

この系統の課題は、トークン列の長さが面数に比例することです。LLMでトークナイザの設計が性能を左右するのと同じで、メッシュをどう短く符号化するかが上限を決めます。 そのため「形は拡散モデルで作り、整ったトポロジーへの作り直しは自己回帰モデルに任せる」という分業が現実的な落としどころになりつつあります。

4世代+1系統の比較

方式代表速度の目安強み弱み
SDS(最適化型)DreamFusion物体ごとに長い最適化3D学習データが不要遅い、Janus問題、色の過飽和
マルチビュー拡散+再構成Zero123++ → InstantMesh10秒以内2D拡散の豊富な知識を使える視点間の食い違いが3Dの崩れになる
LRM(feed-forward)LRM約5秒最適化ループ不要、スケールするtriplaneの解像度に上限
3Dネイティブ潜在TRELLIS.2、Hunyuan3D 2.1数秒〜1分視点間で整合、PBRまで出せる大きなGPUが必要
自己回帰メッシュMeshGPT、BPT面数に比例人が作ったようなトポロジー扱える面数に上限

商用サービスとオープンモデル

商用サービス: 「形が出る」から「現場で使える」へ

2026年の商用サービスは、形が出るかどうかではなく、出てきたモデルをそのまま現場で使えるかどうかで競っています。

  • Meshy: 2026年8月にMeshy 7、9月にMeshy 7.1を投入しました。7.1のUltra 4Kモードは4096³ボクセルで、簡略化前で最大8,000万三角形まで出し、縫い目や鱗までメッシュの形状として表現します。2026年9月末にはARR(年間経常収益)1億ドル突破を発表しました(自社発表の数字です)
  • Tripo(VAST): 2026年9月のTripo P2.0で「業界初のネイティブ・クアッドメッシュ生成」をうたいました。クアッドは最大2.5万面で、一部領域だけ作り直すMesh Editも備えます。ただ、実装の詳細は公開されておらず、「四角形を含むファイルを出す」ことと「クアッドのトポロジーをネイティブに生成する」ことは別だ、という専門誌の指摘もあります
  • Rodin(Hyper3D): 2026年3月のRodin Gen-2 Editで、手持ちの3Dモデルをアップロードし、範囲をボックスで選んでテキストで部分編集できるようにしました。1月の更新ではパーツの自動分解「BANG」も加えています

Webエンジニアにとって一番手軽なのは、こうしたサービスのAPIです。Meshyの場合、まず形状だけのPreviewを作り、そのタスクIDを渡してテクスチャを付けるRefineを呼ぶ2段階になっています。

# 1) Preview(形状のみ)。返ってくる result がタスクID
curl -X POST https://api.meshy.ai/openapi/v2/text-to-3d \
  -H "Authorization: Bearer $MESHY_API_KEY" -H "Content-Type: application/json" \
  -d '{"mode":"preview","prompt":"a wooden treasure chest","should_remesh":true,"target_polycount":30000,"target_formats":["glb"]}'

# 2) Refine(PBRテクスチャを付与)
curl -X POST https://api.meshy.ai/openapi/v2/text-to-3d \
  -H "Authorization: Bearer $MESHY_API_KEY" -H "Content-Type: application/json" \
  -d '{"mode":"refine","preview_task_id":"<task_id>","enable_pbr":true}'

# 3) 状態をポーリングし、SUCCEEDED になったら model_urls.glb を取得
curl https://api.meshy.ai/openapi/v2/text-to-3d/<task_id> \
  -H "Authorization: Bearer $MESHY_API_KEY"

生成は非同期なので、ジョブを投げてポーリングする(またはストリームで待つ)形になります。 取得したGLBは、第8章で扱ったThree.jsのGLTFLoaderやmodel-viewerでそのまま表示できます。 TripoもAPIのv3を公開しており、ベースURLが変わり、v2で1つだったタスク用エンドポイントが機能ごとに分かれました。v2とv3は並行して使えますが、ネット上のサンプルは古いv2形式が多く、モデル指定のパラメータ名も資料によって表記が揺れているので、公式の最新リファレンスで確認してください。

オープンモデルとGPU要件

オープンモデルは手元で動かせますが、必要なGPUメモリが大きい点に注意が必要です。

モデル規模GPU要件速度ライセンス
TRELLIS.2(Microsoft)4BパラメータNVIDIA 24GB以上、LinuxでのみテストH100で512³約3秒、1536³約60秒MIT
Hunyuan3D 2.1(Tencent)形状3.3B+Paint 2B形状約10GB、テクスチャ約21GB、両方で約29GB—Tencent Hunyuan Community(地域・MAU制限)
Stable Fast 3D(Stability AI)——約0.5秒Community License(年商100万ドル以下は商用可)

24GB以上のGPUは、Macや一般的なゲーミングPCではまず手が届きません。 試すだけなら、Hugging Face SpacesにあるTRELLIS.2やHunyuan3D-2.1のデモか、商用APIを使うのが現実的です。

生成3Dをどう評価するか

3D生成の評価は、画像生成の評価以上に難しい問題です。よく使われる指標は、大きく3種類に分かれます。

  • 形の正確さ: Chamfer Distanceは、2つの点群の各点から相手側の最も近い点までの距離を平均し、双方向で足したものです。F-scoreは、しきい値d以内に正解の点がある生成点の割合(適合率)と、しきい値d以内に生成点がある正解点の割合(再現率)の調和平均です。どちらも正解の3Dモデルが必要です
  • プロンプトとの整合: CLIP scoreは、生成物をレンダリングした画像とプロンプト(テキストや入力画像)をCLIPで埋め込み、どれだけ近いかを測ります。正解の3Dがなくても使えるので、TRELLISやHunyuan3D 2.0の論文でも使われています
  • 人間の好み: Hugging Faceの3D Arenaは、2つのモデルの出力を並べて人に投票してもらい、チェスのようなEloレーティングで順位を付けます

生成物を実務で使うときの課題

生成された3Dモデルは、ブラウザで眺めるだけなら十分きれいです。ところがゲームや映像の制作パイプラインに入れようとすると、第3〜5章で見た「中身」の問題が一気に表に出ます。

課題何が起きるか対策の方向
三角形スープ・面数過多marching cubes由来の密な三角形で、エッジが形に沿わない。編集も軽量化も難しいリメッシュ、自己回帰メッシュ生成、Tripo P2.0などのクアッド生成
UV多視点画像をUVへベイクするため、隠れた部分は補間頼み。自動UVは断片的になりがち生成後にUVを展開し直してテクスチャを再ベイク
ベイクされた照明入力画像の影やハイライトが色として焼き込まれ、別の照明下で不自然になるHunyuan3D-PaintのDelighting、PBRマテリアル出力
リトポアニメーションさせるには関節まわりのエッジループが必要手作業のリトポ、Smart Meshなどの自動リトポ
リギング骨やウェイトがない「1つの塊」として出てくるMeshy・Tripoの自動リギング、パーツ分割(Rodin BANG)

2026年時点では、背景の小物やプロトタイプのような「静止物」なら生成物をほぼそのまま使えます。 一方、主役キャラクターのように動かして近くで見せるアセットは、人の手での仕上げが前提です。 商用サービスが局所編集やクアッド生成、自動リギングに力を入れているのは、まさにこの仕上げの工程を縮めるためです。

ライセンス: モデル・出力・学習データは別の層

3D生成AIを製品に組み込むときは、技術よりライセンスで選択肢が絞られることが少なくありません。

モデル / サービスライセンス注意点
TRELLIS / TRELLIS.2MIT寛容。ただしnvdiffrastなど依存ライブラリは各自のライセンス
Hunyuan3D 2.0 / 2.1Tencent Hunyuan 3D Community LicenseEU・英国・韓国は適用地域外。前月MAU100万超は別途許諾。出力を他のAIモデルの改善に使うことは禁止
Stable Fast 3DStability AI Community License年商100万ドル以下は商用可。超えるとEnterprise契約が必要
Meshyプラン別の利用規約無料プランの出力はCC BY 4.0(クレジット表記で商用可)。Proは非公開・フル商用

日本はHunyuan3D 2.xの適用地域に含まれますが、EUや英国のユーザーにも提供するサービスでは使えません。 さらに見落としやすいのが学習データの層です。Objaverse-XLはデータセット全体としてはODC-Byですが、個々の物体は元のライセンスに従います。 Objaverse 1.0にはCC BY-NC(非商用)やCC BY-SAの物体が混ざっており、Polycam由来のデータは学術・非商用に限られます。

まとめと次章への橋渡し

3D生成AIは、データの少なさと表現の不定さという二つの制約から出発しました。 SDSは2D拡散の知識を借りて、マルチビュー拡散は多視点画像を経由して、LRMはfeed-forward化で、3Dネイティブ潜在は3Dのまま拡散することで、それぞれ制約に答えてきました。 2026年の焦点は「形が出るか」から、トポロジー、UV、PBR、リギングといった、この連載の第3〜5章で扱った「中身」の品質へ移っています。

最終章の第11章では、EC・ゲーム・映画・デジタルツインでの活用事例に加え、物体単体ではなく世界全体を生成するワールドモデルや、MCPでBlenderを操作するAIなど、2026年の最前線を見ていきます。

主な参考資料

理解度チェック

問題 0 / 50%
Q1

3D生成AIの4つの世代を、登場した順に並べてください。

矢印ボタンで正しい順序に並べ替えてください

1LRM: 1枚画像からtriplaneをfeed-forwardで出力
2マルチビュー拡散+再構成(Zero-1-to-3、Zero123++)
3SDS(DreamFusion): 2D拡散モデルを先生にNeRFを最適化
43Dネイティブ潜在(TRELLIS、Hunyuan3D 2.0)