我们如何根据状态图更改 3D 动画对象(代理表示)颜色?

How can we change 3D animation object (agents representation) color based on statechart?

我有一个代理人,他有一个人的 3D 表示(来自 anylogic 的人的默认 3D 图片)。我们可以根据状态更改 3D 人物代理的表示颜色吗?例如,当代理从状态 A 移动到 B 时,它会将颜色从黄色变为红色。怎么做? 我尝试使用 shapeFillColor,但 anylogic 未将 3D 人体表示检测为形状(如多边形、三角形),状态图未接受我的命令。如果代理是用一些多边形手动绘制的,我们是否只能更改代理的颜色?将不胜感激任何反馈。谢谢,

agent's 3D representation

你可以按照下面的方式来做,不是100%直观:

  1. 检查您的 3D 模型属性并记下 material 名称(例如 "Material__6__Surf" --> 注意:数字前后有 2 个下划线!!)
  2. 在运行时,只需调用 worker.setColor("Material__6__Surf", red); 相应的颜色就会改变(在本例中是裤子)