SuperAPI AI 工具集

webots-proto

通用与其它

查看项目

更新于 10-15 20:08

技能介绍

用途:在 Webots 中编写与使用 PROTO 文件,把场景树节点封装成可复用的参数化模板(类似类),一次定义、多次实例化,用于机器人、物体或环境。

主要能力:支持 PROTO 定义语法与接口设计;字段类型涵盖 SFBool、SFInt32、SFFloat、SFString、SFVec2f、SFVec3f、SFRotation、SFColor、SFNode 及对应 MF 多值类型;用 IS 关键字把外部接口字段绑定到内部节点字段,可绑定在任意深度并复用同一字段;支持用 JavaScript 模板块做过程化生成,%< ... >% 写控制流,%<= ... >% 输出表达式,通过 fields.<name>.value 读取接口值;支持封装、作用域、隐藏字段、搜索路径与远程加载。

使用方式:按 PROTO Name [ field <Type> <fieldName> <defaultValue> ] { 节点树 } 结构定义,内部用 translation IS translation 等方式绑定;实例化时像内置节点一样写 MyRobot { translation 1 0 0 },只覆盖需要的字段。项目 PROTO 文件放在 protos/ 目录以便通过标准搜索路径发现,也可在场景树 Add 按钮的 PROTO nodes 列表中按名称搜索添加,或通过 URL 声明使用远程 PROTO。

适用场景:需要复用参数化机器人、物体或环境模板,或需要过程化批量生成节点内容时。

限制:不覆盖基础世界搭建流程(由 webots-world-building 处理),也不涉及控制器编程与运行时机器人行为逻辑。PROTO 接口字段是唯一公开契约,内部字段与节点在实例外不可直接访问,PROTO 内 DEF 名称仅限该实例,嵌套 PROTO 不会隐式访问外层字段,需通过接口显式传值。过程化生成应保持确定性、校验尺寸并只输出合法 VRML 节点文本。字段级语法、关键字、搜索路径与过程化细节见 references/proto_reference.md。