Ejemplo n.º 1
0
 DiscreteContinuousStep()
 {
     base.DiscreteContinuousStep();
     // step reward functions
     if (RewardScheme == RewardSchemes.IS)
     {
         if (IsRewardDistanceToTarget)
         {
             AddReward(
                 RewardFunctionDistanceToTarget.StepGetReward() * RewardDistanceCoefficient
                 * RewardSchemeScale);
         }
         if (IsRewardFacingTarget)
         {
             AddReward(
                 RewardFunctionFacingTarget.StepGetReward(
                     Player.transform.forward) * RewardDirectionCoefficient * RewardSchemeScale);
         }
         if (IsRewardTimePenalty)
         {
             AddReward(
                 RewardFunctionTimePenalty.StepGetReward() * RewardTimeCoefficient * RewardSchemeScale);
         }
     }
 } // DiscreteContinuousStep
 DiscreteContinuousStep()
 {
     base.DiscreteContinuousStep();
     if (IsRewardDistanceToTarget)
     {
         AddReward(
             RewardFunctionDistanceToTarget.StepGetReward() * globalManager.RewardDistanceCoefficient
             * RewardSchemeScale);
     }
     if (IsRewardVelocityToTarget)
     {
         AddReward(
             RewardFunctionVelocityToTarget.StepGetReward() * globalManager.RewardVelocityCoefficient
             * RewardSchemeScale);
     }
     if (IsRewardFacingTarget)
     {
         AddReward(
             RewardFunctionFacingTarget.StepGetReward(
                 BodyCore.transform.forward) * globalManager.RewardDirectionCoefficient * RewardSchemeScale);
     }
     if (IsRewardCoreUp)
     {
         AddReward(
             RewardFunctionCoreUp.StepGetReward() * globalManager.RewardDistanceCoefficient * RewardSchemeScale);
     }
     if (IsRewardHeadUp)
     {
         AddReward(
             RewardFunctionHeadUp.StepGetReward(
                 BodyCore.transform.up) * globalManager.RewardDirectionCoefficient * RewardSchemeScale);
     }
     if (IsRewardTimePenalty)
     {
         AddReward(
             RewardFunctionTimePenalty.StepGetReward() * globalManager.RewardTimeCoefficient
             * RewardSchemeScale);
     }
 } // DiscreteContinuousStep