5

我刚开始使用 webbots 并面临以下问题:

Webots 全局坐标系定义其 y 轴向上显示(具有负 y 分量的重力矢量)。但是,我想围绕 z 轴向上显示的坐标系构建一个世界。

是否有可能在全球范围内改变这种情况?

谢谢您的回复。

4

2 回答 2

3

是的,这可以按照以下步骤进行:

  • 对象(Webots PROTO 或“0 级”变换)应旋转,使其底部指向 Z 轴(负)。您可以在选择对象后使用 3D 视图的小工具来执行此操作。
  • WorldInfo.gravity字段应更改为0 0 -9.81。除了改变重力,这个参数还影响视点使用鼠标移动的方式。
  • WorldInfo.north如果您计划在模拟中使用 Compass 传感器,则应进行修改。
  • 在 Webots 中为背景天空立方体发布的立方体纹理沿 y 轴定向。旋转它们不是直截了当的。删除Background.cubmap是一个快速的解决方案,但它会避免呈现好看的渲染(如果没有纹理背景,PBR 材质将无法正常工作)。为了更进一步,您必须为您的世界创建一组自定义纹理 ($YOUR_PROJECT/worlds/textures/cubic/*.png)。可能切换/旋转/重命名纹理就足够了。

请注意,在 Webots 中,由于 VRML 和 X3D 遗留问题,全局 y 轴向上。许多 X3D 导出​​器(如 Blender)允许在导出期间更改下轴。=>向下使用y轴不是一个坏主意:-)

于 2019-02-07T08:11:16.480 回答
1

自 Webots R2020b 以来,重力不再是矢量。相反,您可以在节点中将coordinateSystem字段的值设置为: https ://cyberbotics.com/doc/reference/worldinfoENUWorldInfo

但是请注意,该coordinateSystem字段不会影响对象的轴系。如果要将对象的轴系更改为例如 FLU (x- F orward, y- Left , z- U p),则必须手动修改对象。

于 2021-09-06T13:09:20.150 回答