InitializeRewardFunction() { base.InitializeRewardFunction(); // create reward functions if (RewardScheme == RewardSchemes.IS) { if (IsRewardDistanceToTarget) { RewardFunctionDistanceToTarget = new RewardFunctionGeneratorDistanceToTarget( Player, Target ); } if (IsRewardFacingTarget) { RewardFunctionFacingTarget = new RewardFunctionGeneratorFacingTarget( Player, Target, RewardFunctionGeneratorFacingTarget.Types.Dot ); } if (IsRewardTimePenalty) { RewardFunctionTimePenalty = new RewardFunctionGeneratorTimePenalty( ); } } }
InitializeRewardFunction() { base.InitializeRewardFunction(); // create reward functions if (RewardScheme == RewardSchemes.IS) { if (IsRewardDistanceToTarget) { RewardFunctionDistanceToTarget = new RewardFunctionGeneratorDistanceToTarget( BodyCore, Target ); } if (IsRewardVelocityToTarget) { RewardFunctionVelocityToTarget = new RewardFunctionGeneratorVelocityToTarget( BodyCore, Target ); } if (IsRewardFacingTarget) { RewardFunctionFacingTarget = new RewardFunctionGeneratorFacingTarget( BodyCore, Target, RewardFunctionGeneratorFacingTarget.Types.Dot ); } if (IsRewardCoreUp) { RewardFunctionCoreUp = new RewardFunctionGeneratorKeepTowards( BodyCore, Vector3.up ); } if (IsRewardHeadUp) { RewardFunctionHeadUp = new RewardFunctionGeneratorFacing( Vector3.up, RewardHeadUpType, 0f, 0f ); } if (IsRewardTimePenalty) { RewardFunctionTimePenalty = new RewardFunctionGeneratorTimePenalty( ); } } } // InitializeRewardFunction