コンテンツにスキップ

AI にゲームをテストさせる

シーンを変えた AI には、結果も確かめてほしい。nanora-unity-mcp には、そのための Playwright 風のツールがあります。どれも #ScoreText や .Enemy[tag=Boss] のような U-Selector で対象を指します。

手順 ツール
Play モードに入る・出る manage_playmode
オブジェクトが現れる・見える・押せるまで待つ wait_for_selector
キーを押す・クリック・ドラッグ・UI の要素を押す simulate_input
文字・表示・色・値などを判定する assert_ui_state
結果を見る capture_screenshot

キー入力のシミュレートには Input System パッケージが要ります(旧 Input Manager だけだとキーは届きません)。Input System 1.4 以降なら、Unity が裏にあってもキーが届きます。

run_e2e_test は手順の並びを Play モードで実行し、手順ごとの合否を返します。手順の種類は wait_for_selector・simulate_input・assert・screenshot・wait・execute_csharp。Play モードへの出入りは自動で、失敗した手順ではスクリーンショットを撮ります。

{
"name": "run_e2e_test",
"arguments": {
"name": "start and score",
"steps": [
{ "action": "wait_for_selector", "selector": "#StartButton" },
{ "action": "simulate_input", "input_action": "ui_click", "selector": "#StartButton" },
{ "action": "simulate_input", "input_action": "key_tap", "key": "Space" },
{ "action": "wait", "ms": 500 },
{ "action": "assert", "selector": "#ScoreText", "property": "text", "comparison": "not_equals", "expected": "0" },
{ "action": "screenshot", "label": "after-shot" }
]
}
}

オブジェクトの名前は例です。自分のシーンの名前に置き換えてください。

スクリーンショットに UI が写らない

Section titled “スクリーンショットに UI が写らない”

game ビューの撮影はカメラの描画だけを撮るので、Screen Space - Overlay の Canvas は写りません。AI に見せたい UI は Screen Space - Camera にしてください。