バッチ3Dアセット生成:チームのためのAIワークフロー

batch 3d asset generation workflow

TL;DR

  • バッチ3Dアセット生成とは、1つずつ作成するのではなく、1つのオーケストレーションされたバッチワークフローで多数の3Dモデルを作成することです。
  • 3つの方法があります:手動バッチ(UI)、API/プログラマティックバッチ(スクリプト+プロンプトリスト)、そして手続き型生成です。
  • 本当の作業は生成を取り巻くパイプラインにあります:QA、リトポロジー、フォーマット/命名の正規化、そしてバージョン管理です。
  • チームにとっては、API+共有ワークスペース+明確な命名規則が、属人的な単発生成よりも優れています。
  • クレジット/サブスクリプションで予算を管理し、自動化は生成を担当するものの最終承認は人間が行うようにしましょう。

バッチ3Dアセット生成とは、1つずつ作成するのではなく、1回の自動実行で多数の3Dモデルを生成することを意味します。チームにとって最速の方法は、プロンプトや画像のリストをAI 3D生成APIに渡すスクリプトを用意し、各結果をQA、リトポロジー、エクスポートの工程に通すことです。このガイドでは、3つのバッチ方式と再現可能な6ステップのパイプラインについて説明します。

バッチ3Dアセット生成とは?

バッチ3Dアセット生成とは、各アセットを手作業で1つずつ制作するのではなく、1つの自動化されたワークフローで複数の3Dモデルを作成するプロセスです。従来の3Dモデリングではアーティストがすべてのオブジェクトを個別に構築する必要がありますが、バッチ生成を使えば、AIツール、手続き型ワークフロー、または自動化パイプラインを使って数十、数百、あるいは数千ものアセットをまとめて処理できます。

考え方はシンプルです:画像、テキストの説明、CADリファレンス、製品データなどの入力をまとめて提供すると、システムが1回の実行で複数の3Dアセットを生成します。このアプローチは、**「3Dアセット作成の自動化」「3Dモデルの一括生成」**といった関連用語でも表現されますが、目的は同じです:反復的なモデリング作業を削減し、制作規模を拡大することです。

バッチ生成は、プロジェクトで多数の類似モデルやユニークなモデルが必要な場合に特に有効です。たとえば、ゲームスタジオはすべてのアイテムをゼロからモデリングする代わりに、環境プロップ、武器、キャラクター、レベルアセットを素早く作成できます。eコマース企業はオンラインカタログ用に何千もの製品モデルを生成でき、ARおよびVRチームはより効率的にインタラクティブアセットの大規模ライブラリを構築できます。

3Dプリントにおいても、バッチワークフローはメーカーやクリエイターが複数のデザインをスケールで印刷可能なモデルに変換するのに役立ち、アイデア作成から物理的な制作までの時間を短縮します。

単一モデルの生成と比較して、バッチ3Dアセット生成はスピード、一貫性、スケーラビリティに重点を置いています。アーティストやデザイナーを完全に置き換えるものではなく、複雑なアセットには依然として手作業による調整が必要な場合がありますが、初期作成ステージを大幅に加速します。

要約すると、バッチ3Dアセット生成は3D制作を1つずつのプロセスからスケーラブルな制作パイプラインへと変換し、大量のモデルを迅速に必要とする業界にとって現実的な選択肢となります。

batch 3d assets inputs to outputs

3Dアセットを一括生成する3つの方法

3Dアセットの一括生成は、必要なモデルの数、求めるコントロールの度合い、開発リソースの有無によって、いくつかのアプローチから選択できます。最も一般的な3つの方法は、手動バッチワークフロー、APIベースの自動化、プロシージャル生成です。AI 3DジェネレーターやTripo APIなどのプラットフォームを活用することで、チームは単発の制作からスケーラブルなアセットパイプラインへと移行できます。

手動バッチ生成(UI、コード不要)

最もシンプルな方法は、3D生成ツールのインターフェースを使い、キューを通じて複数のアセットを作成することです。モデルを1つずつ生成するのではなく、複数のプロンプトや画像をあらかじめ用意してまとめてアップロードし、コードを書かずに順番に処理していきます。

この方法は、小規模なバッチ処理、素早い実験、開発者がいないチームに適しています。たとえばデザイナーなら、用意したリファレンスをもとに、製品バリエーション、ゲームの小道具、コンセプトモデルなどを複数生成できます。

最適な用途: 一度に約20点未満のアセットを生成するデザイナー、クリエイター、小規模チーム。

選び方: 完全に自動化されたパイプラインは不要だが、スピードと柔軟性が求められる場合は手動バッチ生成を使用してください。

API/プログラムによるバッチ生成

大規模なプロジェクトでは、APIベースのワークフローにより、開発者が生成プロセス全体を自動化できます。スクリプトがプロンプトや画像リファレンスを含むスプレッドシート、データベース、またはファイルを読み込み、3D生成APIにリクエストを自動送信して結果を収集します。

このアプローチは、スケールでの繰り返し生産が必要なビジネスに最適です。たとえば、eコマース企業なら数百点の商品画像を処理でき、ゲームスタジオなら同じワークフローで大規模なアセットライブラリを生成できます。

APIワークフローを使えば、チームは3D生成を既存のツール、ウェブサイト、または社内パイプラインに直接統合できます。

最適な用途: 数百〜数千点のアセットを定期的に制作する開発者、スタジオ、企業。

選び方: 一貫性、自動化、再現性のある出力が手動コントロールよりも重要な場合はAPIを使用してください。

プロシージャル生成

プロシージャル生成は、モデルを1つずつ生成するのではなく、ルール、パラメーター、アルゴリズムを使って3Dアセットを作成します。HoudiniBlenderスクリプティングなどのツールは、サイズ、形状、マテリアル、配置ルールといった値を変更することで、バリエーションを自動的に生成できます。

学習済みパターンからアセットを生成するジェネレーティブAIとは異なり、プロシージャルワークフローは事前に定義されたシステムに基づいています。そのため、建物、環境、地形、武器、ゲームオブジェクトなど、類似アセットの大規模なファミリーを生成する際に非常に強力です。

最適な用途: 類似アセットの数千通りのコントロールされたバリエーションが必要なテクニカルアーティストやスタジオ。

選び方: 予測可能なバリエーションとアセットルールへの精密なコントロールが必要な場合はプロシージャル生成を使用してください。

どのバッチワークフローを選ぶべきか?

  • 少数のアセットをすぐに必要としている? → 手動バッチ生成。
  • 大規模な自動生産が必要? → API/プログラムによるワークフロー。
  • 同じアセットタイプのバリエーションを無数に必要としている? → プロシージャル生成。

実際には、多くのプロフェッショナルなパイプラインがこれらのアプローチを組み合わせています。高速な制作にはAI生成、自動化にはAPI、大規模なカスタマイズにはプロシージャルツールを活用します。最適な選択は、スピード、スケール、コントロールのどれを優先するかによって異なります。

three batch 3d generation methods

6ステップのバッチパイプライン(チームワークフロー)

3Dのバッチ生成が難しいのは、生成ステップ自体ではありません。本当の課題は、その前後にあるすべての工程です。プロフェッショナルなバッチワークフローには、入力の準備、生成ジョブの送信、進捗のトラッキング、結果の検証、バージョンの整理、そして最終的な制作環境へのアセット納品を繰り返し実行できるシステムが必要です。

スケーラブルなパイプラインは、通常以下のフローに従います:

インプットマニフェスト → バッチ送信 → タスクトラッキング → 品質管理 → 最適化&エクスポート → 制作納品

ステップ 1 — プロンプト/画像マニフェストを準備する

何かを生成する前に、すべてのアセットリクエストを構造化されたマニフェストファイルに整理してください。プロンプトを一つひとつ手動で入力する代わりに、チームはCSVまたはスプレッドシートを唯一の情報源として管理すべきです。

assets_manifest.csv の例:

Plain
asset_id,source,type,target_poly,format,style,status
A001,medieval_house.jpg,image,10000,GLB,fantasy,ready
A002,wooden_barrel.png,image,5000,FBX,stylized,ready
A003,stone_pillar.txt,text,8000,GLB,realistic,ready
A004,treasure_chest.jpg,image,12000,FBX,game_asset,ready

推奨フィールド:

  • Asset ID — トラッキング用の一意の識別子
  • Source — プロンプトテキスト、画像パス、または参照ファイル
  • Target polygon count — 期待される最適化レベル
  • Output format — GLB、FBX、STL、3MF など
  • Style requirements — ビジュアルの一貫性に関するルール
  • Status — 生成状態とレビューの進捗

整理されたマニフェストを用意することで、アセットの抜け漏れを防ぎ、スクリプトや自動化ツールで数百件のアセットを一貫して処理できるようになります。

ステップ 2 — バッチ生成ジョブを送信する

マニフェストの準備が完了したら、次のステップは生成リクエストの送信です。

本番ワークフローでは、プロンプトを送信するだけでなく、送信したすべてのタスクを記録しておく必要があります。

送信レコードの例:

Plain
asset_id,source,task_id,submitted_time,status
A001,medieval_house.jpg,task_x8f92a,2026-07-20T10:00,submitted
A002,wooden_barrel.png,task_b72k31,2026-07-20T10:01,submitted

各生成リクエストで保存すべき情報:

  • ソース入力
  • 送信時刻
  • APIが返すタスクID
  • リクエストした設定
  • 現在のステータス

APIベースのワークフローでは、スクリプトが以下を実行できます:

  1. マニフェストから各行を読み取る
  2. 生成リクエストを送信する
  3. タスクIDを受け取る
  4. タスクIDをトラッキングファイルに書き戻す

擬似コードの例:

Python
for asset in manifest:
    task = submit_generation(
        source=asset.source,
        format=asset.format,
        settings=asset.settings
    )

    save_task_id(
        asset_id=asset.id,
        task_id=task.id
    )

正確なリクエスト形式、認証方法、および使用制限については、最新のAPIドキュメントに従ってください。同時実行数を固定値と仮定せず、APIのドキュメントに記載されているレート制限とアカウント設定に基づいて、リクエスト頻度と並列ジョブ数を設定してください。

ステップ 3 — ステータスの監視、失敗時のリトライ、自動QAの実行

ジョブの送信はあくまでも始まりに過ぎません。大規模なバッチワークフローには、すべてのタスクが完了するまで監視するトラッキングシステムが必要です。

典型的なステータスワークフロー:

Plain
Submitted
Processing
Completed
QA Check
Approved / Needs Review

ワーカースクリプトは、タスクのステータスを定期的に確認することができます:

Python
while tasks_remaining:

    for task in active_tasks:

        status = check_status(task.task_id)

        if status == "completed":
            download_asset(task)

        elif status == "failed":
            retry_or_flag(task)

        elif timeout_exceeded(task):
            mark_for_review(task)

重要な処理ルール:

ステータスのポーリング

  • 未完了タスクを定期的に確認する
  • 完了済みタスクのポーリングを停止する
  • ステータス変化をすべて記録する

タイムアウト処理

想定される処理時間を超えてもタスクが完了しない場合:

  • 遅延としてマークする
  • 利用可能であれば失敗理由を記録する
  • ワークフロールールに従ってリトライする
  • 繰り返し失敗する場合は手動レビューに送る

リトライ処理

よくあるリトライのケース:

  • 一時的な生成エラー
  • ネットワーク障害
  • エクスポートの失敗

無限リトライは避けること。リトライ回数を保存し、注意が必要なアセットにフラグを立てる。

例:

Plain
asset_id,task_id,status,retry_count
A001,task_x8f92a,completed,0
A002,task_b72k31,failed,2
A003,task_p91kd2,review_required,3

自動化されたQAは以下を確認する必要があります:

  • ジオメトリの破損
  • テクスチャの欠落
  • スケールの誤り
  • 向きの誤り
  • 過剰なポリゴン数
  • エクスポートの失敗

プレビューサムネイルも自動生成できるため、レビュー担当者が大量のアセットを素早く確認できます。

ステップ4 — リトポロジーとフォーマットの標準化

生成されたアセットは通常、本番環境に組み込む前に最適化が必要です。

目標はポリゴン数を削減するだけでなく、アセットライブラリ全体の一貫性を確保することです。

一般的な処理手順:

  • 不要なジオメトリの除去
  • トポロジーのクリーンアップ
  • 統一されたスケールの適用
  • マテリアルの検証
  • 必要なフォーマットへのエクスポート

フォーマットの選択は用途によって異なります:

フォーマット主な用途
GLB / glTFWeb、AR、リアルタイムビューワー
FBXUnity、Unreal Engine、アニメーションワークフロー
STL / 3MF3Dプリント

リアルタイムプロジェクトでは、Smart Meshやリトポロジーワークフローなどの最適化手法を活用することで、よりクリーンなトポロジーを持つ軽量なアセットを作成できます。

ステップ5 — 命名規則、バージョン管理、アセットトラッキング

数百のアセットが生成されると、ファイル管理がパイプラインの一部となります。

一貫した命名規則により、ファイルの上書きや不明確なリビジョンを防ぐことができます。

例:

Plain
asset-name_version_date_format

入力されたテキストが空です。翻訳する原文を貼り付けてください。

Plain
castle_wall_v02_20260720.glb

重要なすべての段階を記録します:

  • 元の生成出力
  • 最適化済みバージョン
  • 最終プロダクションエクスポート
  • 更新済みリビジョン

プロダクションマニフェストは完全な履歴を保持する必要があります。

例:

Plain
asset_id,source,task_id,version,qa_status,final_path
A001,medieval_house.jpg,task_x8f92a,v02,approved,/game/assets/castle.glb
A002,barrel.png,task_b72k31,v01,approved,/web/assets/barrel.glb
A003,pillar.txt,task_p91kd2,v01,review,/archive/pillar.glb

この最終マニフェストが、生成・レビュー・制作をつなぐ橋渡しとなります。

ステップ6 — エンジンまたは制作パイプラインへのインポート

最終段階では、承認済みアセットを目的の環境に移行します。

プロジェクトによって、移行先には以下が含まれる場合があります:

  • Unity
  • Unreal Engine
  • Blender
  • Eコマースプラットフォーム
  • ARエクスペリエンス
  • 3Dプリントワークフロー

大規模なライブラリでは、自動インポートスクリプトにより以下が可能になります:

  • 正しいフォルダへのファイル配置
  • マテリアルの割り当て
  • 命名規則の適用
  • アセットデータベースの更新
  • 追加の最適化ステップのトリガー

完全な制作ワークフローでは、常に以下を把握している必要があります:

  • アセットの出所
  • どの生成タスクによって作成されたか
  • どのバージョンが承認済みか
  • 最終ファイルの保存場所

完全なバッチパイプラインの例

実際のチームワークフローは次のようになります:

Plain
1. Create assets_manifest.csv


2. Submit generation jobs


3. Save returned task IDs


4. Poll task status


5. Retry failed jobs or review errors


6. Run automated QA


7. Optimize and export formats


8. Generate final production manifest

入力テキストが空のため、翻訳する内容がありません。翻訳したい抜粋をご提供ください。

Plain
source,task_id,version,qa_status,final_path
castle_prompt.txt,task_a82jd1,v03,approved,/unity/assets/castle.glb
barrel_image.png,task_b91kx2,v01,approved,/web/assets/barrel.glb
robot_reference.jpg,task_c73mz8,v02,needs_review,/review/robot.fbx

プロのバッチパイプラインは、AI 3D生成をその場限りの実験から、繰り返し使える本番システムへと昇華させます。構造化されたマニフェスト、タスク追跡、ステータス監視、品質チェック、最適化、そしてバージョン管理を組み合わせることで、チームは品質と整合性を保ちながら、数十のアセットから数千のアセットへとスケールアップできます。

six step batch 3d pipeline

チームでバッチ生成を運用する

3Dのバッチ生成は、一人で行うタスクではなくチームのワークフローとして捉えることで、はるかに効果的になります。数百のアセットを作成するには、モデルを生成するだけでなく、明確な担当範囲、一貫した基準、そしてコストを管理するための予測可能な仕組みが必要です。

役割と共有ワークスペース

バッチパイプラインを成功させるには、まず各フェーズの担当者を明確にすることが大切です。役割が曖昧なままでは、重複したアセットや統一感のないスタイル、追跡が困難な未完成ファイルが生まれやすくなります。

一般的なワークフローには次のような役割が含まれます。

  • プロンプト作成者 — テキストプロンプト、参考画像、アセット要件を準備する。
  • レビュアー — 生成されたモデルの品質、正確性、修正が必要な問題を確認する。
  • アセットマネージャー — 最終ファイル、バージョン、タグ、エクスポートを整理する。

共有ワークスペースを活用することで、すべてを一箇所にまとめられます。ファイルを複数のツールやメッセージでやり取りする代わりに、アセット、フィードバック、進捗管理を一元化できます。たとえば、Tripo Teamサブスクリプションは共有ワークスペースと一元化された請求管理を提供しており、チームがコラボレーティブな3Dプロダクションを管理しやすくなります。

適している用途: インディーゲーム開発者、eコマースストア、アセットを共同制作するクリエイティブチーム。

大規模における一貫性の維持

多くのモデルを素早く生成することは、結果が見た目にも機能的にも一貫している場合にのみ意味を持ちます。バッチワークフローでは、制作を開始する前に基準を定義しておく必要があります。

固定すべき重要な設定には以下が含まれます。

  • ビジュアルスタイルと参考資料
  • モデルのスケールと比率
  • 命名規則
  • ポリゴン数の目標値
  • エクスポートフォーマット

たとえば、数百の環境プロップを作成するゲームスタジオでは、すべてのアセットが同じビジュアルの方向性に従う必要があります。商品モデルを生成するeコマースストアでは、カタログ全体にわたって一貫したサイズ、マテリアル、プレゼンテーション品質が求められます。

共通の基準を設けることで、チームメンバーそれぞれが異なる見た目のアセットを作成してしまうという典型的な問題を防ぐことができます。

適している用途: 予測可能な品質で大規模なモデルライブラリを必要とするチーム。

クレジットとサブスクリプションの予算管理

バッチ生成のコストは、モデルの複雑さ、生成設定、出力フォーマット、作成するアセット数などの要素によって異なります。大規模なバッチを実行する前に、想定される使用量を見積もり、少数のサンプルでテストすることをお勧めします。

実践的なアプローチは次のとおりです。

  1. まず小規模なバッチを生成する。
  2. 品質とクレジット使用量を確認する。
  3. 必要に応じて設定を調整する。
  4. 段階的に制作規模を拡大する。

クレジットとサブスクリプションプランは、無制限の生成リソースではなく、制作リソースとして扱うべきです。使用量を追跡することで、予期しないコストを避け、自分たちの作業量に合ったプランを選択できます。

たとえば、小規模なデザインチームは不定期なバッチのみを必要とするかもしれませんが、何千もの商品を抱えるeコマース企業には、共有アクセスと一元管理を備えたチームプランが適している場合があります。

適している用途: 試験的なバッチから定期的な制作へとスケールアップを図る企業。

バッチ生成ワークフローを成功させるには、人・プロセス・テクノロジーの組み合わせが不可欠です。明確な役割、一貫した基準、そして慎重なコスト計画によって、チームはAIによる3D生成をゲーム、eコマース、AR/VR、その他の大規模3Dプロジェクトのための再現可能な制作システムへと変えることができます。

team batch 3d generation workflow

バッチ生成が最適でないケース(制限事項)

バッチ3D生成は強力ですが、すべてのプロジェクトに最適なソリューションというわけではありません。自動化はアセット作成を大幅に高速化できますが、一部のモデルには依然として詳細な人間によるコントロール、手動の調整、および専門家によるレビューが必要です。

精度が求められるヒーローアセットにはより細かい制御が必要

正確な寸法、完璧なフィット感、または機械的な精度が求められる製品やアセットに対しては、完全自動化されたバッチ生成では十分でない場合があります。具体的には、エンジニアリングパーツ、組み立て部品、プレミアム製品、またはユーザーが細部まで確認するヒーローアセットなどが挙げられます。

これらのモデルは多くの場合、製品レベルの精度を達成するために、従来のCADワークフロー、手動モデリング、または3Dアーティストによる追加のクリーンアップが必要です。

最善のアプローチ: バッチ生成でスピードを確保しつつ、精度が最も重要な重要アセットは手動で調整する。

高度にカスタマイズされたアセットはスケールしにくい場合がある

バッチワークフローは、繰り返し可能な要件で多数の類似アセットを作成する場合に最も効果を発揮します。しかし、唯一無二の高価値モデルを1つ作成するだけのために、自動化パイプラインを構築することは割に合わない場合があります。

唯一無二のキャラクター、高級品のビジュアライゼーション、またはシネマティックなアセットは、プロセス全体にわたってクリエイティブな判断を下せる専任アーティストによる制作が適していることが多いです。

最善のアプローチ: バッチ生成は大量生産向けに留め、最大限の注意が必要な特別なアセットにはカスタムワークフローを使用する。

自動化においても品質チェックは不可欠

よくある誤解として、自動化は完全にノータッチのプロセスを意味するというものがあります。実際には、バッチ生成は作成段階を自動化するにすぎず、生成された結果は依然としてレビューとポストプロセッシングが必要です。

生成されたモデルには、次のような問題が含まれる場合があります:

  • 不正確なプロポーション
  • 破損したジオメトリ
  • 細部の欠落
  • 一貫性のないスタイル
  • 粗いトポロジーやマテリアル

信頼性の高いワークフローには、アセットが本番環境に入る前に、自動チェックと人間によるQAの両方を組み込む必要があります。

最善のアプローチ: AI生成とレビューステップ、最適化、および最終承認を組み合わせる。

バッチ生成は制作を加速するツールであり、アーティストやデザイナーの代替ではありません。最良の結果は、いつ自動化し、いつ人間の専門知識を活用するかを理解することから生まれます。規模が必要な場合はバッチワークフローを活用しつつ、品質・精度・独自性が重要なアセットには手動コントロールを維持してください。

batch 3d generation limitations

よくある質問

3Dアセット生成とは何ですか?

3Dアセット生成とは、テキスト、画像、スキャン、デザインデータなどの入力から3Dモデルを作成するプロセスです。AI、プロシージャルツール、または従来のモデリング手法を活用し、ゲーム、eコマース、AR/VR、アニメーション、3Dプリントに使用するアセットを制作できます。

1つのプロンプトリストで3Dモデルをまとめて生成できますか?

はい。多くのAI 3D生成ワークフローでは、バッチキューまたはAPIベースのパイプラインを通じて、プロンプトや画像のリストを使用した一括作成をサポートしています。これにより、スタイル・フォーマット・品質などの設定を統一したまま、複数のアセットを同時に生成できます。

ChatGPTは3Dモデルを作成できますか?

ChatGPTはモデリング手順、スクリプト、デザインアイデア、ワークフローの生成を通じて3Dモデルの作成を補助できますが、単体では完全な3Dモデリングツールとして機能しません。完成した3Dアセットを得るには、テキストや画像からダウンロード可能な3Dモデルを生成できる専用のAI 3Dジェネレーターを使用してください。

Blenderで3Dアセット作成を自動化するにはどうすればよいですか?

BlenderではPythonスクリプト、ジオメトリノード、またはプロシージャルワークフローを使用することで、モデルの生成・編集・エクスポートを自動化できます。大量のバッチ処理では、スクリプトによってプロンプトやパラメーターの読み込み、アセットの作成、マテリアルの適用、メッシュの最適化、ファイルのエクスポートを手動作業なしに実行できます。

バッチ3Dエクスポートに最適なファイル形式は何ですか?

最適な形式は最終的な用途によって異なります。GLB/glTFはウェブ・AR・リアルタイムアプリケーションに最適で、FBXはゲームエンジンやアニメーションに適しており、STL/3MFは3Dプリントワークフローに向いています。バッチエクスポートでは、パイプラインに合った形式を選び、スケール・マテリアル・メタデータを一貫して保持できるものを使用してください。

バッチ3D生成にかかるコストはどのくらいですか?

バッチ3D生成のコストは、アセット数、モデルの複雑さ、ツールの価格体系、そしてAI・API・手動クリーンアップのどれを使用するかによって異なります。小規模なバッチであれば少数のクレジットやサブスクリプション料金で済む場合もありますが、大規模なプロダクションパイプラインでは上位の利用プランと追加の処理リソースが必要になります。

まとめ

バッチ3Dアセット生成は、時間のかかる1つずつのモデリング作業を、繰り返し実行可能なプロダクションパイプラインへと変えます。アセットリストを準備し、モデルを一括生成して、品質チェックを実施し、フォーマットを最適化することで、完成したアセットをワークフローへより迅速に組み込むことができます。

AIを活用したツールでスケーラブルな3D制作パイプラインの構築を始め、Tripo Studioでその可能性を探ってみましょう。

記事をシェア

3Dであらゆるものを生成

下のボタンをクリックして、数百万の3Dクリエイターに加わりましょう。超高精細なモデル生成と業界トップクラスのPBRテクスチャをお試しください。