我们如何根据状态图更改 3D 动画对象(代理表示)颜色?
Posted
技术标签:
【中文标题】我们如何根据状态图更改 3D 动画对象(代理表示)颜色?【英文标题】:How can we change 3D animation object (agents representation) color based on statechart? 【发布时间】:2020-09-06 06:34:44 【问题描述】:我有一个人代理,他有一个人的 3D 表示(来自 anylogic 的人的默认 3D 图片)。我们可以根据状态改变那个 3D 人物代理的颜色吗?例如,当一个代理从状态 A 移动到 B 时,它会将颜色从黄色变为红色。怎么做? 我尝试使用 shapeFillColor,但 anylogic 没有检测到 3D 人体表示为形状(如多边形、三角形),状态图没有接受我的命令。如果代理是用一些多边形手动绘制的,我们是否只能更改代理的颜色?将不胜感激任何反馈。谢谢,
agent's 3D representation
【问题讨论】:
【参考方案1】:你可以这样做,它不是 100% 直观的:
-
检查您的 3D 模型属性并记下材料名称(例如“Material__6__Surf”--> 注意:数字前后有 2 个下划线!!)
在运行时,只需调用
worker.setColor("Material__6__Surf", red);
,相应的颜色就会改变(在这种情况下是裤子)
【讨论】:
哇!!那太棒了!你是一个真正的问题解决者。谢谢本杰明! 哈哈,其实我自己也得想办法,但我很好奇,因为我以前也遇到过类似的问题。所以双赢:)以上是关于我们如何根据状态图更改 3D 动画对象(代理表示)颜色?的主要内容,如果未能解决你的问题,请参考以下文章
如何将固定颜色条添加到 3D 散点动画图并相应地对点进行颜色映射?
关于动画的几种状态表示的含义以及能够使用2d动画表述为什么要使用3d动画表述