InitializeRewardFunction() { base.InitializeRewardFunction(); // create reward functions if (IsRewardDistanceToTarget) { RewardFunctionDistanceToTarget = new RewardFunctionDistance( Player, Target, -1f ); } if (IsRewardFacingTarget) { RewardFunctionFacingTarget = new RewardFunctionGeneratorFacingTarget( Player, Target, RewardFunctionGeneratorFacingTarget.Types.Dot ); } if (IsRewardTimePenalty) { RewardFunctionTimePenalty = new RewardFunctionGeneratorTimePenalty( ); } }
InitializeRewardFunction() { base.InitializeRewardFunction(); // create reward functions if (IsRewardDistanceToTarget) { RewardFunctionDistanceToTarget = new RewardFunctionDistance( BodyCore, Target, -1f ); } 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