Download com.unity.ml-agents/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs from ashish2244/ppo-SnowballTarget: direct link, hf CLI and curl.
- Browser
- Download file 1.69 kB
-
https://huggingface.co/ashish2244/ppo-SnowballTarget/resolve/main/com.unity.ml-agents/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs
- Command line
-
hf download hf://ashish2244/ppo-SnowballTarget/com.unity.ml-agents/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs
-
curl -L -o Vector2InputActionAdaptor.cs https://huggingface.co/ashish2244/ppo-SnowballTarget/resolve/main/com.unity.ml-agents/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs
1.69 kB
| using Unity.MLAgents.Actuators; | |
| using UnityEngine; | |
| using UnityEngine.InputSystem; | |
| using UnityEngine.InputSystem.LowLevel; | |
| namespace Unity.MLAgents.Input | |
| { | |
| /// <summary> | |
| /// Translates data from any control that extends from <see cref="InputControl{Vector2}"/>. | |
| /// </summary> | |
| [] | |
| public class Vector2InputActionAdaptor : IRLActionInputAdaptor | |
| { | |
| /// <inheritdoc cref="IRLActionInputAdaptor.GetActionSpecForInputAction"/> | |
| public ActionSpec GetActionSpecForInputAction(InputAction action) | |
| { | |
| // TODO create the action spec based on what controls back the action | |
| return ActionSpec.MakeContinuous(2); | |
| } | |
| /// <inheritdoc cref="IRLActionInputAdaptor.WriteToInputEventForAction"/> | |
| public void WriteToInputEventForAction(InputEventPtr eventPtr, InputAction action, | |
| InputControl control, | |
| ActionSpec actionSpec, | |
| in ActionBuffers actionBuffers) | |
| { | |
| var x = actionBuffers.ContinuousActions[0]; | |
| var y = actionBuffers.ContinuousActions[1]; | |
| control.WriteValueIntoEvent(new Vector2(x, y), eventPtr); | |
| } | |
| /// <inheritdoc cref="IRLActionInputAdaptor.WriteToHeuristic"/> | |
| public void WriteToHeuristic(InputAction action, in ActionBuffers actionBuffers) | |
| { | |
| var value = action.ReadValue<Vector2>(); | |
| var continuousActions = actionBuffers.ContinuousActions; | |
| continuousActions[0] = value.x; | |
| continuousActions[1] = value.y; | |
| } | |
| } | |
| } | |