AAbstractScholaEnvironment
class AAbstractScholaEnvironment : public AActor一个表示环境的抽象类。
依赖项
此类型依赖于
- AAbstractTrainer
- FEnvStep
- FEnvironmentDefinition
- FSharedEnvironmentState
- FTrainerAgentPair
- UAbstractEnvironmentUtilityComponent
继承自: public AActor
子类: ADynamicScholaEnvironment, AStaticScholaEnvironment
公共接口
公共函数
InternalRegisterAgents
inline virtual void InternalRegisterAgents(TArray<FTrainerAgentPair> &OutAgentTrainerPairs)注册一组代理到环境中,来自具有关联代理的 Pawn 列表。
在环境初始化后调用。
参数
OutAgentTrainerPairs(TArray<FTrainerAgentPair> &) – [输出] 一个包含 Trainer 及其控制的 Pawn 的数组,代表环境中的所有代理。
属性: inline, virtual
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 90, column 14)
Initialize
void Initialize()从 Pawn 收集所有 AgentObject,然后初始化它们。
注意:必须在游戏开始后调用。调用 InitializeEnvironment 和 RegisterAgents。
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 101, column 6)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 5-40)
RetrieveUtilityComponents
void RetrieveUtilityComponents()检索环境中的所有实用组件。
在环境初始化后调用。
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 106, column 6)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 42-45)
PopulateAgentStatePointers
void PopulateAgentStatePointers(FSharedEnvironmentState &OutAgentStatePointers)在初始化时用于使用 AgentState 指针填充 AgentStateMapping。
参数
OutAgentStatePointers(FSharedEnvironmentState &) – [输出] 一个将用代理状态指针填充的共享状态结构。
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 112, column 6)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 47-53)
PopulateAgentDefinitionPointers
void PopulateAgentDefinitionPointers(FEnvironmentDefinition &OutEnvDefn)在初始化时用于使用 AgentDefinition 指针填充 AgentDefinitionMapping。
参数
OutEnvDefn(FEnvironmentDefinition &) – [输出] 一个将用代理定义指针填充的共享环境定义结构。
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 118, column 6)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 55-62)
GetNumAgents
int GetNumAgents()获取注册到此环境的代理数量。
返回:注册到此环境的代理数量
返回: int
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 124, column 5)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 64-67)
GetEnvironmentCenterPoint
FVector GetEnvironmentCenterPoint()用于重置代理的环境中心点的便捷函数。
返回:此环境中心的 FVector 表示
返回: FVector
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 131, column 9)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 69-72)
ResetEnvironment
inline virtual void ResetEnvironment()重置环境。
请注意,这不会重置代理状态。
注意:子类应实现此方法以添加在环境重置时运行的逻辑
属性: inline, virtual
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 137, column 14)
InitializeEnvironment
inline virtual void InitializeEnvironment()执行任何环境设置,例如初始化变量或绑定委托。
在注册代理之前发生。
属性: inline, virtual
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 142, column 14)
Reset
void Reset()重置环境以及其中的所有代理。
注意:不会将状态设置为运行。
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 147, column 6)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 74-108)
MarkCompleted
void MarkCompleted()将 EnvironmentState 设置为 Resetting。
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 152, column 6)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 110-113)
AllAgentsThink
void AllAgentsThink()为环境中的所有代理执行一次思考步骤。
收集观察结果并将其发送给代理。
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 157, column 6)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 115-141)
AllAgentsAct
void AllAgentsAct(const FEnvStep &EnvUpdate)为环境中的所有代理执行一次行动步骤。
根据大脑的决定采取行动
参数
EnvUpdate(const FEnvStep &) – [输入] 要采取行动的环境更新
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 163, column 6)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 143-154)
SetEnvId
void SetEnvId(int EnvironmentId)设置此环境的 Id。
在注册到子系统时调用。
参数
EnvironmentId(int) – [输入] 环境的 Id
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 169, column 6)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 156-159)
UpdateStatus
void UpdateStatus(EEnvironmentStatus NewStatus)将此环境的状态设置为给定的状态。
参数
NewStatus(EEnvironmentStatus) – [输入] 环境的新状态
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 176, column 6)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 161-164)
GetStatus
EEnvironmentStatus GetStatus()获取此环境的当前状态。
返回:环境的状态
返回: EEnvironmentStatus
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 182, column 20)
实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 166-169)
SetEnvironmentOptions
inline virtual void SetEnvironmentOptions(const TMap<FString, FString> &Options)根据 GymConnector 的任意 Options 配置此环境。
在环境重置之前立即调用,如果 gym connector 有 Options。
参数
Options(const TMap<FString, FString> &) – [输入] 一个用于配置环境的选项映射
属性: inline, virtual
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 188, column 14)
SeedEnvironment
inline virtual void SeedEnvironment(int Seed)根据 Seed 配置此环境。
在环境重置之前立即调用,如果 gym connector 提供了新种子。
参数
Seed(int) – [输入] 用于配置环境的种子
属性: inline, virtual
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 194, column 14)
公共成员
FSharedEnvironmentState * State
FSharedEnvironmentState * State来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 84, column 25)
TArray<UAbstractEnvironmentUtilityComponent *> UtilityComponents
TArray<UAbstractEnvironmentUtilityComponent *> UtilityComponents可用于添加额外行为(如日志记录或数据收集)的实用组件列表。
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 95, column 8)
Protected Interface
受保护的成员
TMap<int, AAbstractTrainer *> Trainers
TMap<int, AAbstractTrainer *> Trainers = = TMap<int, AAbstractTrainer*>()一个从代理 ID 到 AgentObject 的映射。
属性: protected
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 68, column 6)
int MaxId
int MaxId = = 0当前最大的 ID。
用于在运行时注册新代理。
属性: protected
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 72, column 5)
int EnvId
int EnvId环境的 ID。
在运行时设置。
属性: protected
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 76, column 5)
EEnvironmentStatus EnvironmentStatus
EEnvironmentStatus EnvironmentStatus = = EEnvironmentStatus::Running环境的状态。
属性: protected
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 80, column 20)
使用于
此类型由以下部分使用
- ABlueprintScholaEnvironment
- ADynamicScholaEnvironment
- AStaticScholaEnvironment
- UAbstractGymConnector
来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 61, column 1)