SuperAPI AI 工具集

hz-unity-meta-quest-ui

编程与开发

查看项目

更新于 10-16 00:29

技能介绍

用途:在 Unity 中为 Meta VR 与 Horizon OS 项目搭建 VR UI,包括世界空间 Canvas、TextMesh Pro 文本、按钮、滑块等交互元素,并解决文字变粉、按钮不可点、尺寸异常等问题。

主要能力:通过 unity-cli 驱动编辑器构建 UI,而非手改场景 YAML。多组件构建写入 run_script 的 .cs 文件(放在 Assets/ 之外,路径相对项目根)。可用 --dry_run true 先编译检查,但需从 data.result.success 读取结果,编译失败仍可能返回外层 success: true 与退出码 0,错误在 data.result.diagnostics。单属性读写用直接命令更省,如 unity command get_component_properties --target MenuUI --type Canvas --format json、unity command set_transform --target MenuUI --position "[0,1.5,2]" --format json。数组参数需一个 JSON 数组参数,空格或逗号分隔会被拒绝。

必要用法:创建任何 VR UI 前先确认 TMP Essential Resources 已导入,用 unity command find_assets --name "LiberationSans SDF" --format json,count 为 0 表示缺失,需先用 tmp-resources 技能。Canvas 规则:渲染模式必须 World Space;缩放 0.001;移除 CanvasScaler;距用户 1.5-3m,不近于 0.5m,最远 5m。子元素 localScale 保持 [1,1,1],localPosition.z 为 0,尺寸用 sizeDelta 与锚点控制。交互 UI 用 ISDK Quick Actions,如 QuickActionsAPI.AddRayCanvasInteraction(target) 或 AddPokeCanvasInteraction,参数为 Canvas 的 GameObject。验证用 get_component_properties 检查 PointableCanvas,并确认场景存在 Pointable Canvas Module。设备上按钮无效时调用 OVRQuickActionsAPI.AddOVRInteractionRig()。

适用场景:VR 菜单、设置面板、HUD、分数标签、虚拟键盘、道具上的 diegetic UI 等。

限制:仅显示型 UI 无需交互组件;不要用自动字号与旧版 Text;文字至少 48pt;非交互元素关闭 raycastTarget;静态与动态内容分 Canvas 以降低重建开销。具体收费、平台与效果资料暂未提供。