UAbstractBrain
class UAbstractBrain : public UObject一个 AbstractBaseClass,用于表示同步策略、观察和操作的不同方式的子类。
依赖项
此类型依赖于
继承自: public UObject
公共接口
构造函数
UAbstractBrain
UAbstractBrain()来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 35 行,第 1 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 5-7 行)
公共函数
IncrementStep
void IncrementStep()递增当前代理器的步数。
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 60 行,第 6 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 9-12 行)
SetStep
void SetStep(int NewStep)设置当前代理器的步数。
参数
NewStep(int) – 要将步数更新到的值
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 66 行,第 6 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 14-17 行)
ResetStep
void ResetStep()将代理器的步数重置为 0。
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 71 行,第 6 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 19-22 行)
IsActive
bool IsActive()检查此 Brain 是否处于活动状态(例如。
未关闭或没有出错)
返回: 如果此 Brain 功能正常(例如,未关闭或没有出错),则为 true
返回: bool
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 77 行,第 6 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 24-27 行)
Reset
inline virtual void Reset()重置此 Brain。
属性: inline, virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 82 行,第 14 列)
IsDecisionStep
virtual bool IsDecisionStep(int StepToCheck)检查特定步数是否需要大脑决策。
返回:如果代理应该请求决策,则为 true
参数
StepToCheck(int) – 要检查的时间步
返回: bool
属性: virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 89 行,第 14 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 29-32 行)
IsDecisionStep
virtual bool IsDecisionStep()如果当前步是决策步,由步频定义。
返回:如果当前步是决策步,则为 true
返回: bool
属性: virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 95 行,第 14 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 34-37 行)
初始化
void Init(UAbstractPolicy *InjectedPolicy)通过提供策略来初始化此 Brain。
注意:这样可以避免在打开 Agent 时在编辑器中出现大量嵌套结构
参数
InjectedPolicy(UAbstractPolicy *) – [输入/输出] 此 Brain 将用于做出决策的策略
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 102 行,第 6 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 39-42 行)
HasAction
inline virtual bool HasAction()检查此大脑是否已准备好动作。
返回:如果此大脑已准备好动作(例如,本次调用的 GetAction() 将成功),则为 true
返回: bool
属性: inline, virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 108 行,第 14 列)
获取动作
inline virtual FAction * GetAction()从该大脑获取一个动作
返回:指向当前动作的指针
返回: FAction *
属性: inline, virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 114 行,第 17 列)
RequestDecision
inline virtual bool RequestDecision(const FDictPoint &Observations)请求大脑确定新动作。
返回:如果决策请求成功则为 True,否则为 False
参数
Observations(const FDictPoint &) – [in] 用于告知大脑动作选择的当前代理状态
返回: bool
属性: inline, virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 120 行,第 14 列)
GetAbstractSettingsVisibility
virtual bool GetAbstractSettingsVisibility() const const供子类使用,用于设置设置是否可见。
返回: 如果此类中的设置在编辑器中可见,则为 true。
返回: bool
属性: const, virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 125 行,第 14 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 44-47 行)
GetStatus
virtual EBrainStatus GetStatus()获取 Brain 的最后一个状态。
返回: 最后一个状态
返回: EBrainStatus
属性: virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 131 行,第 22 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 49-52 行)
SetStatus
virtual void SetStatus(EBrainStatus NewStatus)更新 Brain 的状态。
参数
NewStatus(EBrainStatus) – [输入] 要设置的新状态
属性: virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 137 行,第 14 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 54-57 行)
UpdateStatusFromDecision
virtual void UpdateStatusFromDecision(const FPolicyDecision &Decision)根据 PolicyDecision 更新 Brain 的状态。
参数
Decision(const FPolicyDecision &) – [输入] 用于解包和使用该 PolicyDecision 来更新状态
属性: virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 143 行,第 14 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 59-71 行)
ResolveDecision
inline virtual void ResolveDecision()告知策略您即将需要一个响应决策,因此它应该解析开放的决策并相应地更新其状态。
属性: inline, virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 148 行,第 14 列)
IsActionStep
virtual bool IsActionStep()检查 Brain 是否有操作,并且它是一个操作步骤。
返回: 如果 Brain 有操作并且是操作步骤,则为 true
返回: bool
属性: virtual
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 154 行,第 14 列)
实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 73-76 行)
公共成员
UAbstractPolicy * Policy
UAbstractPolicy * Policy此 Brain 封装的底层策略。
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 33 行,第 17 列)
bool bTakeActionBetweenDecisions
bool bTakeActionBetweenDecisions = = true如果为 true,则代理器将在每次请求新操作的决策之间重复其最后一个操作。
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 39 行,第 6 列)
int Step
int Step = = 0模拟的当前步数。
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 43 行,第 5 列)
int DecisionRequestFrequency
int DecisionRequestFrequency = = 5请求新操作之间的步数。
如果不同代理器之间的此值不同,则可能导致某些框架(例如 Stable Baselines 3)中的训练出现问题。
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 47 行,第 5 列)
bool bAbstractSettingsVisibility
bool bAbstractSettingsVisibility = = true切换用户是否可以看到此类设置。
如果子类中的设置不相关,则用于在子类中隐藏
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 51 行,第 6 列)
EBrainStatus Status
EBrainStatus Status = = EBrainStatus::RunningBrain 的状态。
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 55 行,第 14 列)
使用于
此类型由以下部分使用
- AInferenceController
- AInferencePawn
- IInferenceAgent
- UAsyncBrain
- UBTTask_AgentStep
- UDiscreteBrain
- UInferenceComponent
- USynchronousBrain
来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 26 行,第 1 列)