GGua 日本語リファレンスEnglishGitHub ↗
英語版が正式な参照です。内容に差異がある場合は、英語版を優先してください。
GUIDE / GAME INPUT

ゲームのアクションとキーボード・マウス入力を公開する

Semantic UIが画面上のbuttonやinput fieldを操作するのに対し、ゲーム入力は「ジャンプ」「移動」といったゲーム内のactionや、キーボード・マウス・gamepadの入力を操作します。AIやテストから、UIの外にあるキャラクター操作やカメラ操作を再現できます。

Semantic UI入力との違い

Semantic UI

「Start buttonを押す」「名前欄へ入力する」のように、画面上のUI部品をIDやroleで指定して操作します。

ゲーム入力

「ジャンプする」「右へ移動する」「Wキーを押す」「マウスを動かす」のように、ゲームプレイそのものを操作します。

必要な操作だけを選んで公開する

Semantic Game Action

jumpmovechatなど、ゲーム側が名前と意味を決めたactionを公開します。AIはキー配置を知らなくても「ジャンプする」という目的で操作できます。

Raw Input

キーボード、マウス、Standard Gamepad、text入力をdeviceに近い形で公開します。実際のキー割り当てや押しっぱなしの挙動を検証するときだけ有効にします。

押しっぱなしの入力を安全に解除する

たとえばAIが「Wキーを押し続ける」と指示したまま停止しても、キャラクターが永遠に歩き続けない仕組みになっています。押しっぱなしの入力は、入力を始めた接続ごとに分けて管理し、別の接続の操作には影響させません。解除命令を送れなかった場合も既定で5秒後に自動解除され、長く指定しても最大60秒です。接続切断、session終了、reset、adapter終了、Replay失敗でも、押されているキーやbuttonを元の状態へ戻します。さらに、ゲーム側が実際に入力を処理したという完了通知を受け取るまで、操作成功とは扱いません。

Engine設定

Unity 6000.5+

GuaGameInputMapへ意図したactionだけを登録し、Input System pumpが準備できた場合だけraw inputを有効化します。com.unity.inputsystem@1.20.0の仮想Keyboard、Mouse、Standard Gamepadを使います。

Godot 4.7

GuaAutoAdapterへAction Mapを設定します。Raw requestはmain threadでInput.parse_input_eventへ注入されます。

Toolと確認操作

gui-mcpは固定のgame-input tool群を公開し、hostが未対応の操作は呼び出し時に拒否します。WebMCPはpage tool登録時に読み取ったcapabilityで有効な入力toolだけを登録します。Inspectorの直接操作panelが提供するのは、Semantic Game Action、単発のphysical key入力、保持状態の確認、Release all(すべて解除)です。Release allは、現在のInspector接続が押し続けているキーやbutton、移動actionなど、保持中のゲーム入力をまとめて離し、キャラクターの移動やdevice状態をニュートラルへ戻すcleanup操作です。他の接続が所有する入力には影響しません。pointer、gamepad、text inputはInspectorから直接操作できません。requiresConfirmation付きactionにはconfirmed: trueが必要です。Player/Public Agent入力は、hostがPlayer向けSemanticまたはRaw capabilityを個別許可するまで拒否されます。