从基础到进阶:深入探索模仿学习
1. 启发式控制添加
在生成训练行为时,我们需要直接移动球,这可以通过启发式控制实现。具体步骤如下:
1. 打开 Roller.cs 文件。
2. 在类中添加以下方法:
public override void Heuristic(in ActionBuffers actionsOut)
{
var continuousActionsOut = actionsOut.ContinuousActions;
continuousActionsOut[0] = Input.GetAxis("Horizontal");
continuousActionsOut[1] = Input.GetAxis("Vertical");
}
此方法在智能体需要采取行动时被 ML - Agents 调用,我们通过默认的 Unity 输入系统获取 0 - 1 归一化的水平和垂直值来控制球,默认对应游戏中的 WASD 或方向键控制方案。
3. 继续在类中添加以下方法:
public override void OnEpisodeBegin()
{
victory = false;
body.angularVelocity = Vector3.zero;
body.velocity = Vector3.zero;
this.transform.position = new Vector3(0, 0.25f
超级会员免费看
订阅专栏 解锁全文
1009

被折叠的 条评论
为什么被折叠?



