繁体   English   中英

Unity ML Agents Ray Perception Sensor 2D 未显示碰撞

[英]Unity ML Agents Ray Perception Sensor 2D not showing collisions

我对 Unity 环境还比较陌生,目前正在使用强化学习和 ML 代理。 为此,我想在 2D 平台游戏中添加一个代理。

我已将两个射线感知传感器连接到我的代理。 不幸的是,我无法使用这些传感器获得任何命中,至少它们没有像往常一样在小玩意中显示为球体。

带小玩意的场景视图

传感器正在投射光线,但就像您在图像中看到的那样,它们没有发生碰撞。

射线感知传感器是代理的子代,在其预制件中定义。 我将传感器定义为与 4 个标签碰撞:未标记、地面、敌人和硬币

我将硬币标签分配给令牌,将敌人标签分配给敌人,将地面标签分配给形成地面的瓷砖地图。 令牌有一个圆形对撞机,而敌人有一个胶囊对撞机。 在 tilemap 上有一个 tilmap collider。

我现在希望传感器与令牌、敌人和地面发生碰撞,并在球体中显示这些命中,但事实并非如此。
那么,我做错了什么?

RayPerceptionSensor2D的定义

经过更多调查后,我自己发现了问题:

正确配置的标签,但我对 Ray Layer Mask 有误解。

光线图层蒙版

以前我已将其配置为“Everything”/“Default”,这导致传感器本身发生碰撞并且似乎不正确(尽管玩家标签不在 detagtable 标签中)。

在我创建了更多层并将我的目标分配给这些层之后,一切都开始按预期工作。

工作成果

也许这个答案会对遇到类似问题的人有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM