Agentから値が0しか返ってきていないと思い、Agentの動作を確認するためにDebug.Logを配置しましたが表示されませんでした。RequestDecisionが動いていないのでしょうか。
別のスクリプトから呼び出しています。コード自体のエラーなどは見られませんでした。
初心者なので些細なことでも言っていただけるとありがたいです。
ML-Agents release12 です。
C#
1//呼び出し方法 2 public void Update() 3 { 4 if (Turn % 2 == 1) 5 { 6 AgentRed.GetComponent<GameAgent>().RequestDecision(); 7 Turn++; 8 } 9 10 if (Turn % 2 == 0) 11 { 12 AgentGreen.GetComponent<GameAgent>().RequestDecision(); 13 Turn++; 14 } 15 16 }
C#
1//Agent 2 public class GameAgent2 : Agent 3 { 4 EnvironmentParameters m_ResetParams; 5 private BehaviorParameters Parameters => _parameters ?? (_parameters = gameObject.GetComponent<BehaviorParameters>()); 6 private BehaviorParameters _parameters; 7 public int TeamId => Parameters.TeamId; 8 9 public GameObject Game; 10 public override void Initialize() 11 { 12 m_ResetParams = Academy.Instance.EnvironmentParameters; 13 } 14 15 public override void OnEpisodeBegin() 16 { 17 } 18 public override void OnActionReceived(Unity.MLAgents.Actuators.ActionBuffers actionBuffers) 19 { 20 GetComponent<GameAI2>().AgentData = actionBuffers.DiscreteActions[ 0 ]; 21 Debug.Log("AAA"); 22 } 23 }
あなたの回答
tips
プレビュー