我使用 Drake 的 MultiBodyPlant 在场景中添加了一个“桌子”。
plant.RegisterVisualGeometry(
plant.world_body(), RigidTransform(p=table_position),
table, "TableVisualGeometry",
table_color)
你可以看到它在meshcat中显得非常闪亮。
RegisterVisualGeometry的文档显示我可以指定IllustrationProperty。这似乎是一个简单的键值容器,但我看不出应该指定哪些键和值来控制 meshcat 表示。在其他地方,我发现了一些对 MakePhongIllustrationProperties 的引用,但看起来输入是漫反射颜色,无法控制实际的 Phong 常量(镜面反射、漫反射和环境反射常量)。
有没有办法让我的桌子不那么闪亮?
Meshcat 去年更新了它的 Three.js 版本。三个 js 将他们的光照模型迁移到基于物理的光照模型。这会影响您如何表达模型的外观。
此外,在 meshcat 中,您可以考虑调整照明(减少填充光、环境光和点光源的强度),使其更符合您指定插图几何图形的方式。
MeshcatParams
能够设置 initial_properties
,您可以在其中枚举,例如,初始光强度值和/或阴影来控制场景渲染方式。
我们目前正处于一个粗略的过渡阶段,基元和简单颜色的规范不如使用 glTF 文件那么好。我们可能会在困难地区待一段时间。