Scenario for Unity: エージェントガイド
ユーザーがScenarioウィンドウで「エージェントがScenarioとこのプロジェクトを使用できる」をオンにしている間、UnityエディタはこのMCPサーバーを提供します。すべてのツールはエディタ内で動作します。生成されたファイルはプロジェクトのAssets/に配置され、シーンの編集はアンドゥステップとして記録され、有料の呼び出しはウィンドウと同じ価格チェックと承認ルールを経由します。
開始
scenario_status: アカウント、課金対象のScenarioプロジェクト、支出が有効かどうか、1回あたりの制限とセッション予算の残高、レンダーパイプライン、2Dまたは3D、アクティブなシーンを返します。サインアウトと表示された場合は、ユーザーにScenarioウィンドウからサインインするよう依頼してください。それ以外の操作は機能しません。scene_info: 階層パス、コンポーネント、選択状態を返します。これらのパスをtargetおよびpathとしてすべての場所で使用してください。
料金
コストはクリエイティブユニット (CU) で表されます。
estimateは無料で、リクエストの正確な価格を返します。ユーザーがコストを気にしている場合や、リクエストが大きい(動画、3D、多数の画像)場合は、generateまたはworkflow_runの前に呼び出してください。generate、workflow_run、prompt_sparkは有料です。ユーザーが予算を指定した場合はmax_cuを渡してください。それを超えると何も送信されません。- 1回あたりの制限またはセッション予算を超えた場合、呼び出しはUnityでのユーザーの承認を最大2分間待機します。待機中であることをユーザーに伝えてください。「未承認」は何も送信されなかったことを意味します。ユーザーが要求しない限り、再試行しないでください。
- 未知の結果。 有料の呼び出しが「結果が不明です」を返した場合、リクエストが実行され課金された可能性があります。同じリクエストに対して決して再度呼び出さないでください。1分後に
local_idを指定してjobsを呼び出してください。 - 支出がオフの場合(設定または
SCENARIO_NO_SPEND=1)、有料ツールは送信前に拒否されます。価格照会、ブラウジング、インポート、アップロード、シーンツールは引き続き動作します。 upload_reference、import_asset、models_find、motions_find、model_schema、estimateは無料です。
モデルを選ぶ
output_type(image、video、model3d、motion、audio、material、skybox)を指定したmodels_findは、チームの独自トレーニングモデルを含むカタログを一覧表示します。recommend_for_promptを指定したmodels_findは、プロンプトに対するScenarioのランク付けされた選択肢を、コストと速度に関するメモとともに返します。ユーザーがモデルを指定しなかった場合は、こちらを優先してください。model_schemaは入力項目(名前、オプション、範囲、デフォルト値、ファイルが必要な入力)を提供します。スキーマにリストされているパラメータのみを送信してください。未知の名前は価格照会前に拒否されます。
生成と配置
generate はリクエストの価格を計算し、一度送信し、待機し、ファイルをインポートして結果を配置します。
| output_type | target なし | target あり |
|---|---|---|
| image | 新しいクアッドまたはスプライト(2Dプロジェクト内)のテクスチャ(スプライト) | そのSpriteRenderer、Image、RawImage、またはレンダラーに設定 |
| material | アクティブなパイプライン用のマテリアル(マップ付き)を新しい球体に設定 | ターゲットのレンダラーとその子のレンダラーに設定 |
| skybox | Skybox/Panoramic マテリアルをシーンスカイボックスとして設定 | 同じ |
| model3d | GLBをプレハブとしてインポート、シーンビューのピボットポイントにインスタンス化 | ターゲットの隣にインスタンス化 |
| motion | アニメーターコントローラー(クリップごとに1つの状態)を持つアニメーションGLBをピボットポイントにインスタンス化。Playモードで再生されます | ターゲットの隣にインスタンス化 |
| audio | 新しいAudioSourceにAudioClip | ターゲットのAudioSourceに追加(なければ追加) |
| video | 新しいスクリーンクアッドにVideoClip | ターゲットのVideoPlayerに追加(なければ追加) |
結果には、files(Unityアセットパス)、placed(階層パス)、asset_ids(Scenario ID、入力として再利用可能)、job_id、quoted_cu、charged_cu が含まれます。place: false を指定すると、シーンに触れずにインポートのみ行います。呼び出しが45秒を超えてブロックされることはありません。3D、動画、長いオーディオは通常 next(まだ実行中)で応答します。ジョブは継続し、インポートと配置を自身で行います。local_id と wait_seconds を指定して jobs を呼び出し、完了するまで待機し、再度生成しないでください。バッチの場合は、各リクエストを wait: false で送信し、その後 jobs で追跡します。
ファイル入力(参照画像、開始フレーム、3Dモデル、オーディオ)は、ScenarioアセットIDまたはUnityアセットパスで受け付けます。Unityファイルは一度無料でアップロードされます。
3D結果に関する期待事項:
- 結果ごとに1つのモデル: 一部のモデルが追加するOBJ、MTL、PBRマップのコピーはスキップされます。FBX、Blender、VOXの結果はGLBとして到着します。
- 歩行と走行のファイルを返すリグ(Meshy Rigging、
includeRiggedModel付きTripo)は、すべてのクリップを保持するコントローラーを持つ1つのモデルです。センチメートル単位で書き込まれたリグは1%のスケールで配置されます。 - ガウシアンスプラット(TripoSplat、HY World、Marble)は
.plyまたは.spzとして保存され、配置されません。Unityにはガウシアンスプラットレンダラーパッケージが必要であることをユーザーに伝えてください。 - Meshy 7.1 はデフォルトで同じ価格で30,000トライアングルのリメッシュを行います。完全なメッシュ(約100万トライアングル)が必要な場合は
shouldRemesh: falseを送信してください。
ステップを連鎖させる
ある結果をファイル入力として次のモデルに渡します:
- 画像から3Dへ: 画像を
generateし、次に画像のアセットIDを使用してmodel3dモデル(例: Meshy 7.1 Image to 3D)を生成します。 - 画像からマテリアルまたはスカイボックスへ: PATINA Image to Maps、HY World Image to Skybox。
- 画像から動画へ: 画像を開始フレームとするimg2videoモデル。
- クリーンアップ: 背景除去、アップスケール、ベクター化、ピクセル化。
- 3Dテクスチャ: テクスチャ再適用(Meshy 7 Retexture、Tripo 3.0 Texturing、Tencent Texture Edit、Trellis 2、YVO3D)、UVアンラップ(Tripo Smart UV、Meshy、Tencent)。
- 3D形状: プロンプトによる編集(Claude Opus 5.5 3D、Astra 3D。プロンプトのみ、参照画像なし)、リトポロジー(Tripo Retopology v3、Hunyuan Polygen)、ポリゴン数指定リメッシュ(Meshy Remesh)、画像からのリファイン(UltraShape)。
- リギングとアニメーション: キャラクターのリギング(Uthana、Meshy、Cartwheel、Tripo)、クリーチャーのリギング(Tripo Rigging 2.5、
rigType)、ライブラリモーション(Meshy Animation:actionId、例: 30 Casual Walk、106 Confident Walk、4 Attack、22 FunnyDancing 01。motions_findは名前またはカテゴリで656個すべてのモーションを検索します)、プロンプトからのモーション(Cartwheel、Uthana)、または動画からのモーション(Cartwheel、Uthana)。 - パーツとスタイル: パーツに分割(Tripo Segmentation v2、Hunyuan 3D Part、Hitem3D Split、Rodin Bang)、スタイライズ(Tripo Stylization: LEGO、voxel、Voronoi。Hitem3D Multicolor)。
- スキーマではオプションとされているが、Scenarioが必要とする入力: Cartwheelモーションには
characterModel(3Dモデル)またはcharacterFile(画像、はるかに高価)が必要。YVO3Dにはretextureがfalseでない限りreferenceImageが必要。ツールは価格照会前にその旨を通知します。 - FBXのみを読み取るモデル(Tencent Texture Edit)であっても、GLBアセットIDを渡してください。プラグインはScenarioのFBXコピーを無料で送信します。
- 動画: アップスケール、サウンド追加、スタイル変更。オーディオ: 声質変換、音声分離。
models_find に capability(img23d、img2video、3d23d、video23d、video2audio、audio2audio)を指定すると、代替モデルを見つけられます。
ワークフロー
workflows_find(scope: team または featured)は、ID、説明、入力を返します。workflow_run は名前で inputs を受け取り、generate と同じ料金ルールが適用されます。出力はその種類に応じてインポートされます。
シーンツール
ユーザーが「エージェントがシーンを編集できる」をオフにすると無効になります。読み取りツール(scene_info、object_get、assets_find、console_logs、capture_view)は引き続き動作します。
object_create(空、プリミティブ、またはプレハブ)、object_set(名前、アクティブ、親、トランスフォーム、タグ、レイヤー、メートル単位のheight、地面に設置するground)、object_delete。component_add、component_set: シリアライズされたパス(m_Intensity)またはパブリックプロパティ(intensity)。ベクトルは[x,y,z]、色は[r,g,b,a]または#RRGGBB、参照はアセットパスまたは階層パスで指定します。object_getにproperties: trueを指定すると、設定可能な項目が一覧表示されます。material_assign、skybox_set、select、scene_save(無題のシーンにはパスが必要)。assets_findにlabel: "Scenario"を指定すると、プロジェクト内のすべての生成済みアセットが一覧表示されます。
各編集は1つのアンドゥステップとなるため、ユーザーはあなたが行ったすべての操作を元に戻せます。
歩行可能なワールド
1つのプロンプトから、プレイヤーが歩き回れるワールドを作成します:
terrain_create: コライダー付きの地面。最初に生成したハイトマップ画像(トップダウンのグレースケールハイトマップ、白が高い)で形状を設定し、建物が配置されるflat_areasのレベルを設定し、生成したマテリアルでlayersをペイントします(最初のレイヤーがベース、それ以外はmin_heightまたはmin_slopeで指定)。edge_falloffで島または台地を作成します。- セットピースを生成し、
object_setでheight(メートル)とground: trueを指定して各ピースのサイズを設定し、地形に配置します。標準的な高さ: 人物1.8、ドア2.2、家6~9、松の木8~14、岩0.5~2。 scatterは、height範囲、パスや建物の周囲のkeep_clearゾーン、コライダーを指定して、モデルを地面(on: 地形)に繰り返し配置します。- キャラクター: 生成、リギング、アイドル、歩行、走行、ジャンプのアニメーション(ライブラリIDは
motions_findで検索)を設定し、make_playableでそれらの結果を使用します。コントローラーを構築し、キャラクターのサイズを設定し、クリップに合わせて速度を調整し、追跡カメラをセットアップします。 playでaction: "walk"とウェイポイントを指定して(run、jump、wait)プレイテストします。到達したポイント、落下(4m以上の落差をカウント)、ジャンプを報告します。呼び出し時間を超える歩行はUnity内で継続され、応答はrunningを返します。action: "status"とwait_secondsを指定したplayは、終了時に結果を返します。再度編集する前にaction: "stop"を指定したplayで停止してください。Playモード中の編集は失われます。record: true(またはaction: "record")は、固定フレームレートでメインカメラのPNGフレームを書き込みます。scene_save。
作業の確認
capture_viewはシーンビューまたはカメラをレンダリングし、画像を返します。結果を配置した後やシーンを編集した後に確認してください。upload: trueを指定すると、ScenarioアセットIDも返されるため、キャプチャを次の生成の参照として使用できます。console_logsにlevel: "error"を指定すると、インポート後やコンポーネント変更後のエラーを確認できます。
良い習慣
- 意図ごとに1つのリクエスト。バッチや、ユーザーが指定した予算を超える可能性がある場合は、事前に確認してください。
- 以前の結果の
asset_idsを再利用し、同じファイルを再度アップロードしないでください。 jobsはこのUnityプロジェクトからの最近のリクエストを一覧表示します。エラー後に再送信する前に確認してください。- 作成したものとそのUnityパス、配置したオブジェクトを報告してください。