虽然我是干软件编程的,但工作中总会遇到一些"计划外技能点":
机械、仿真、建模、视觉、甚至一点点工业设计。
Webots 对我来说就是一个非常友好的妥协方案。
-
买不起的设备,可以先在电脑里跑
-
不用等硬件、不用装、不用修
-
不会因为"线接反了"或者"电机坏了"浪费一天
当然,它也有一个相当危险的点:
功能太多,但你并不知道从哪开始用。
这篇文章就记录一个非常基础、但几乎每个人都会遇到的问题 :
👉 如何把自己建的静态模型,正确地放进 Webots 世界中。
一、模型从哪里来?
如果你只是想在 Webots 里摆点桌子、凳子、机台外壳、围栏之类的东西,其实不需要高精度建模。
我个人推荐两条路:
-
SolidWorks
-
Fusion 360
我这次用的是 Fusion 360 (没错,快到期了😂)。
目标很简单
我只做了一个非常朴素的工作台:
-
实际尺寸:1600 × 700 × 750 mm
-
本质就是:一张桌子 + 四条腿
-
细节肯定有瑕疵,但先能用最重要

Webots 里 80% 的静态模型,本质都是"占位 + 参考",不是产品级建模。
二、导出模型,准备进 Webots
建好之后,直接从 Fusion 导出即可。
常用格式:
-
.stl(最常用,也最稳) -
.dae(Collada,带材质,但容易踩坑)
我这里直接用 STL。
三、把 STL 丢进 Webots
现在进入 Webots。
1️⃣ 新建一个 World
我先简单建了一个地板,准备把工作台放进去,看看比例和效果。

2️⃣ 导入 STL 文件
直接:
-
找到 STL
-
拖进 Webots
然后你会看到一个非常经典的画面👇
模型大得离谱

真的大到让人想笑。
四、为什么会"超级大"?
这是几乎所有新手都会遇到的问题,原因只有一个:
👉 单位不一致
-
CAD(Fusion / SolidWorks):毫米
-
Webots(VRML):米
也就是说:
1600 mm = 1.6 m
但 Webots 并不知道你这个 STL 是毫米单位,
它会默认当成"米"来用。
于是:
一个 1.6 米的桌子
变成了 1600 米的怪物
五、正确的做法:不要直接用导入的 Shape
这是一个非常重要的工程经验点。
❌ 不推荐
-
直接用 Webots 自动生成的 Shape
-
在原始节点上乱改
✅ 正确流程
-
新建一个 Solid
-
把 STL 放进这个 Solid 里
-
用
scale控制尺寸 -
顺便统一材质和颜色
六、缩放比例到底该怎么设?
我这里是一步步试出来的。
第一次尝试
scale 0.01

👉 小了一点,但还是不对。
第二次尝试
scale 0.001

👉 基本和真实工作台比例一致。
原因很简单:
毫米 → 米 = ÷1000
七、加一点材质,模型就"活了"
在 Solid 里:
-
给 Shape 加一个材质
-
设个浅灰 / 银白
-
roughness 稍微高一点
哪怕模型很简单,一有材质,工业感马上就出来了。

八、最终的文件结构(推荐习惯)
Solid
├─ Transform
│ └─ Shape
│ ├─ geometry (Mesh / STL)
│ └─ appearance
好处:
-
后期可以整体移动
-
可以加物理属性(质量 / 碰撞)
-
不会被 Webots 自动生成的结构绑死
我的文件路径截图:
第一张是没有缩放功能:

第二张有缩放功能:


九、这一小步,其实非常关键
看起来这只是:
"把一个桌子放进 Webots"
但它解决的是后面一整条路径:
-
工厂场景搭建
-
机台布局
-
机器人可达性验证
-
视觉 / 相机位姿规划
而且最爽的一点是:
没有硬件质量问题
没有装配问题
没有"今天不想配线了"的问题
结尾
Webots 的功能确实很多,也确实容易让人迷路。
但只要你从最基础的"把东西放进去"开始,后面每一步都会自然展开。