当前提交
bd2a492b
共有 11 个文件被更改,包括 104 次插入 和 71 次删除
-
64UnitySDK/Assets/ML-Agents/Scripts/Agent.cs
-
13UnitySDK/Assets/ML-Agents/Scripts/RewardProvider/BaseRewardProviderComponent.cs
-
21UnitySDK/Assets/ML-Agents/Scripts/RewardProvider/IRewardProvider.cs
-
15UnitySDK/Assets/ML-Agents/Scripts/RewardProvider/LowLevelRewardProvider.cs
-
29UnitySDK/Assets/ML-Agents/Scripts/RewardProvider/LowLevelRewardProviderComponent.cs
-
7UnitySDK/Assets/ML-Agents/Scripts/RewardProvider/LegacyRewardProviderComponent.cs
-
23UnitySDK/Assets/ML-Agents/Scripts/RewardProvider/TypedRewardProviderComponent.cs
-
3UnitySDK/Assets/ML-Agents/Scripts/RewardProvider/TypedRewardProviderComponent.cs.meta
-
0/UnitySDK/Assets/ML-Agents/Scripts/RewardProvider/LowLevelRewardProvider.cs.meta
-
0/UnitySDK/Assets/ML-Agents/Scripts/RewardProvider/LowLevelRewardProviderComponent.cs.meta
-
0/UnitySDK/Assets/ML-Agents/Scripts/RewardProvider/LowLevelRewardProvider.cs
|
|||
using System; |
|||
public class BaseRewardProviderComponent: MonoBehaviour |
|||
/// <summary>
|
|||
/// A typed reward provider that provides easy, typed access to RewardProvider implementations.
|
|||
/// Subclasses should
|
|||
/// </summary>
|
|||
/// <typeparam name="T"></typeparam>
|
|||
public abstract class BaseRewardProviderComponent<T> : MonoBehaviour |
|||
where T : IRewardProvider, new() |
|||
IRewardProvider m_RewardProvider; |
|||
T m_RewardProvider = new T(); |
|||
public virtual IRewardProvider GetRewardProvider() |
|||
public T GetRewardProvider() |
|||
{ |
|||
return m_RewardProvider; |
|||
} |
|
|||
using System; |
|||
using UnityEditor; |
|||
using UnityEngine; |
|||
|
|||
namespace MLAgents.RewardProvider |
|||
{ |
|||
public class LowLevelRewardProviderComponent : BaseRewardProviderComponent<LowLevelRewardProvider> |
|||
{ |
|||
public AnimationCurve rewardCurve = new AnimationCurve(); |
|||
public virtual void Start() |
|||
{ |
|||
GetRewardProvider().OnRewardProviderReset += RewardReset; |
|||
} |
|||
|
|||
void RewardReset(float reward) |
|||
{ |
|||
var keyframe = new Keyframe |
|||
{ |
|||
time = Time.realtimeSinceStartup, |
|||
value = reward, |
|||
inTangent = 0.0f, |
|||
outTangent = 0.0f |
|||
}; |
|||
var index = rewardCurve.AddKey(keyframe); |
|||
AnimationUtility.SetKeyLeftTangentMode(rewardCurve, index, AnimationUtility.TangentMode.Linear); |
|||
AnimationUtility.SetKeyRightTangentMode(rewardCurve, index, AnimationUtility.TangentMode.Linear); |
|||
} |
|||
} |
|||
} |
|
|||
namespace MLAgents.RewardProvider |
|||
{ |
|||
public class LegacyRewardProviderComponent : TypedRewardProviderComponent<LegacyRewardProvider> |
|||
{ |
|||
|
|||
} |
|||
} |
|
|||
namespace MLAgents.RewardProvider |
|||
{ |
|||
/// <summary>
|
|||
/// A typed reward provider that provides easy, typed access to RewardProvider implementations.
|
|||
/// Subclasses should
|
|||
/// </summary>
|
|||
/// <typeparam name="T"></typeparam>
|
|||
public class TypedRewardProviderComponent<T> : BaseRewardProviderComponent |
|||
where T : IRewardProvider, new() |
|||
{ |
|||
T m_TypedRewardProvider = new T(); |
|||
|
|||
public T GetTypedRewardProvider() |
|||
{ |
|||
return m_TypedRewardProvider; |
|||
} |
|||
|
|||
public override IRewardProvider GetRewardProvider() |
|||
{ |
|||
return m_TypedRewardProvider; |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: d5d464dcbd314f68a335a1b9b37c6c6e |
|||
timeCreated: 1576019945 |
撰写
预览
正在加载...
取消
保存
Reference in new issue