/// <summary> /// Collects the vector observations of the agent. /// The agent observation describes the current environment from the /// perspective of the agent. /// </summary> /// <param name="sensor"> /// The vector observations for the agent. /// </param> /// <remarks> /// An agents observation is any environment information that helps /// the Agent achieve its goal. For example, for a fighting Agent, its /// observation could include distances to friends or enemies, or the /// current level of ammunition at its disposal. /// Recall that an Agent may attach vector or visual observations. /// Vector observations are added by calling the provided helper methods /// on the VectorSensor input: /// - <see cref="VectorSensor.AddObservation(int)"/> /// - <see cref="VectorSensor.AddObservation(float)"/> /// - <see cref="VectorSensor.AddObservation(Vector3)"/> /// - <see cref="VectorSensor.AddObservation(Vector2)"/> /// - <see cref="VectorSensor.AddObservation(Quaternion)"/> /// - <see cref="VectorSensor.AddObservation(bool)"/> /// - <see cref="VectorSensor.AddObservation(IEnumerable{float})"/> /// - <see cref="VectorSensor.AddOneHotObservation(int, int)"/> /// Depending on your environment, any combination of these helpers can /// be used. They just need to be used in the exact same order each time /// this method is called and the resulting size of the vector observation /// needs to match the vectorObservationSize attribute of the linked Brain. /// Visual observations are implicitly added from the cameras attached to /// the Agent. /// </remarks> public virtual void CollectObservations(VectorSensor sensor) { }
/// <summary> /// Collects the vector observations of the agent. /// The agent observation describes the current environment from the /// perspective of the agent. /// </summary> /// <remarks> /// An agents observation is any environment information that helps /// the Agent achieve its goal. For example, for a fighting Agent, its /// observation could include distances to friends or enemies, or the /// current level of ammunition at its disposal. /// Recall that an Agent may attach vector or visual observations. /// Vector observations are added by calling the provided helper methods /// on the VectorSensor input: /// - <see cref="AddObservation(int)"/> /// - <see cref="AddObservation(float)"/> /// - <see cref="AddObservation(Vector3)"/> /// - <see cref="AddObservation(Vector2)"/> /// - <see cref="AddObservation(Quaternion)"/> /// - <see cref="AddObservation(bool)"/> /// - <see cref="AddOneHotObservation(int, int)"/> /// Depending on your environment, any combination of these helpers can /// be used. They just need to be used in the exact same order each time /// this method is called and the resulting size of the vector observation /// needs to match the vectorObservationSize attribute of the linked Brain. /// Visual observations are implicitly added from the cameras attached to /// the Agent. /// When using Discrete Control, you can prevent the Agent from using a certain /// action by masking it. You can call the following method on the ActionMasker /// input : /// - <see cref="SetActionMask(int branch, IEnumerable<int> actionIndices)"/> /// - <see cref="SetActionMask(int branch, int actionIndex)"/> /// - <see cref="SetActionMask(IEnumerable<int> actionIndices)"/> /// - <see cref="SetActionMask(int branch, int actionIndex)"/> /// The branch input is the index of the action, actionIndices are the indices of the /// invalid options for that action. /// </remarks> public virtual void CollectObservations(VectorSensor sensor, ActionMasker actionMasker) { CollectObservations(sensor); }