簡體   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