SuperAPI AI 工具集

create-2d-physics

编程与开发

查看项目

更新于 10-16 06:06

技能介绍

用途\n该技能面向 Unity 2D 物理的创建与修复任务,覆盖两套互不共享代码、互不交互的系统:2D Physics Core(核心组件,需要 com.unity.2d.physics 与 Unity 6000.7+;脚本侧为 Unity.U2D.Physics 或 UnityEngine.LowLevelPhysics2D API)与旧版 Rigidbody 2D/Collider 2D/Joint 2D/Effector 2D 系统。它明确不评估 3D 物理选项;如果有证据表明用户实际指 3D,应说明并停止。\n\n主要能力\n先判定物理系统:通过请求措辞、场景与既有脚本中的组件、脚本类型进行判断。核心组件的信号包括 Physics Pose、Area、Constraint、Simulation 组件,以及 Unity.U2D.Physics、UnityEngine.LowLevelPhysics2D 类型;旧版信号包括 Rigidbody 2D、Collider 2D、Joint 2D、Effector 2D、Rigidbody2D、Collider2D、Physics2D 类型。两者同时出现则视为分开的模拟,需分别处理;无信号时停止并询问,提供三条路线而不替用户选择。必要时可运行探测(eval)来确定已安装的系统,探测返回旧版是否存在、Core 是否以 Unity.U2D.Physics 或 UnityEngine.LowLevelPhysics2D 形式存在、以及 Core 组件是否存在。\n\n使用方式\n确定路线后,先阅读对应参考:2D Physics Core 参考(组件、配置、脚本创建刚体、所有权、完整主题地图)或旧版 2D 物理参考(旧版手册主题地图)。示例优先顺序为:所用类型或成员页上的 C# 示例、项目现有脚本(匹配其风格)、示例项目 https://github.com/Unity-Technologies/PhysicsExamples2D。文档获取优先用 WebFetch 而非 WebSearch,抓取 docs.unity.com 时把 <VERSION> 替换为 Unity 版本(如 6000.7),页面为 markdown,URL 以 .md 结尾;抓取 docs.unity3d.com 上的包时替换为包版本(如 @1.1),不确定时查看 Packages/manifest.json。各步骤使用 unity cli(unity command --format json)以及 unity-cli、unity-pipeline 技能。eval 代码片段中不要使用 using 指令或未限定类型,编译器会读取 using UnityEngine,裸写 AssetDatabase、Volume、Object 会引发 CS0246/CS0103/CS0104 错误;应 return 需要读取的内容,结果出现在 data.result.result。操作前创建可回滚的还原点;只做被要求的事,不改动无关资源与文件;避免冗长解释;不要通过反射发现 API,应抓取成员页面,系统探测是唯一例外。\n\n最终步骤与报告\n检查项目控制台是否为零错误,用 console_status 获取计数。除非用户要求证明其可用或已怀疑存在特定故障,否则到此为止。若进入 Play 模式,仅针对已怀疑的故障执行一次,并通过 eval 读取世界状态而非添加日志,也不要截图。检查失败时回到对应参考重读文档页面,找出遗漏。最终报告为简短清单:改了什么及原因、使用了哪套物理系统、留待用户决定或执行的事项。\n\n限制\n不处理 3D 物理;不在用户脚本中保留验证代码,不构建用户未要求的日志或稳定检测;无明确系统信号时须停下询问,不得替用户选择;不要在 eval 片段中使用 using 指令或未限定类型。