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

ゲーム世界を意味情報として公開する

World Object Treeは、扉、敵、目的地、アイテム、チェックポイントなど、UIではないゲーム世界の状態を、テストやAIが理解できる名前・種類・状態として公開する仕組みです。

World Object Treeとは?

Semantic UI Treeがbutton、label、input fieldなどのUI情報を表すのに対し、World Object TreeはUIの外側にあるゲーム世界を表します。たとえば「原子炉の扉は施錠中」「敵Aは活動中」「チェックポイントBは利用可能」といった状態を、安定したIDと意味情報で観測できるようにします。engine内部のscene treeをそのまま公開する仕組みではありません。

Objectが持つ情報

World Object Tree v1は安定したid、意味上のkind、任意のlabel・parent、2D/3D position、active・player visibility、tag、flatなprimitive stateを持ちます。state値はstring、有限number、boolean、nullに限定されます。

Godot: Node2Dを明示公開gdscript
$Door.add_to_group(&"gua_world_object")
$Door.set_meta(&"gua_world_id", "door-a")
$Door.set_meta(&"gua_world_kind", "door")
$Door.set_meta(&"gua_world_label", "Reactor door")
$Door.set_meta(&"gua_world_visible_to_player", true)
$Door.set_meta(&"gua_world_state", {"locked": true})

GodotとUnity

Godot

Node2DまたはNode3Dgua_world_object groupへ追加し、gua_world_* metadataを設定します。IDは一意で、parentは同じ公開frame内に存在する必要があります。

Unity

activeなGameObjectへGuaWorldObjectを追加し、ID、kind、visibility、tag、stateを設定します。adapterは登録componentだけを公開します。

検索と待機

MCPはget_world_object_treefind_world_objectswait_for_world_objectを提供します。ID、kind、label、tag、state、ancestor、active、visibilityで検索でき、Inspectorは独立したWorld Object Tree panelへ表示します。

Player向けの安全な投影

bridgeの既定はDebugです。Player向けhostではGUA_OBSERVATION_PROFILE=playerを設定し、transportへ渡す前にUIとWorldを投影します。clientからDebugへ昇格できません。続いてエージェント公開ポリシー編を参照してください。