ml-agentsのpythonAPIを使用し強化学習をやっているのですが
OnCollisionStay(オブジェクトが触ったら発動するやつだったはず)
OnActionReceived(AIの行動を受け取るやつ)
でタイミングが合いません
OnActionReceivedはapiを通じてpythonのほうと連動して動くようになってます
pythonのほうが止まるとunityのほうも時間が止まるのでOnCollisionStayも
合わせて動いているのかと思っていましたが違うようです
OnCollisionStayはOnActionReceivedが発動された時に
どのオブジェクトに触れているかをを確かめるために使っています
OnCollisionStayでは
Debug.Log("b");
OnActionReceivedのほうでは
Debug.Log("c");
で動いたことを表示するようにすると
環境をリセットした直後(定期的に発動する関数 これもpythonのほうで制御している)はcばかりが表示され
20かいぐらいcが表示されたのち
b,b,c,b,b,c,b.b.....という感じで bが二回 cが一回
というペースで表示されます
これではAIの学習に悪影響が出るため c,b,c,b,c,b,c,b,c,b,c....
という感じに交互に表示されるようにしたいです
OnCollisionStayのタイミングを制御する方法はないですか?
あなたの回答
tips
プレビュー