Unity 机器学习代理工具包 (ML-Agents) 是一个开源项目,它使游戏和模拟能够作为训练智能代理的环境。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

36 行
1.4 KiB

#if MLA_INPUT_SYSTEM && UNITY_2019_4_OR_NEWER
using Unity.MLAgents.Actuators;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.LowLevel;
namespace Unity.MLAgents.Extensions.Input
{
/// <summary>
/// Translates data from a <see cref="UnityEngine.InputSystem.Controls.IntegerControl"/>.
/// </summary>
public class IntegerInputActionAdaptor : IRLActionInputAdaptor
{
// TODO need to figure out how we can infer the branch size from here.
/// <inheritdoc cref="IRLActionInputAdaptor.GetActionSpecForInputAction"/>
public ActionSpec GetActionSpecForInputAction(InputAction action)
{
return ActionSpec.MakeDiscrete(2);
}
/// <inheritdoc cref="IRLActionInputAdaptor.QueueInputEventForAction"/>
public void QueueInputEventForAction(InputAction action, InputControl control, ActionSpec actionSpec, in ActionBuffers actionBuffers)
{
var val = actionBuffers.DiscreteActions[0];
InputSystem.QueueDeltaStateEvent(control, val);
}
/// <inheritdoc cref="IRLActionInputAdaptor.WriteToHeuristic"/>
public void WriteToHeuristic(InputAction action, in ActionBuffers actionBuffers)
{
var actions = actionBuffers.DiscreteActions;
var val = action.ReadValue<int>();
actions[0] = val;
}
}
}
#endif // MLA_INPUT_SYSTEM && UNITY_2019_4_OR_NEWER