Fixed nan exception

This commit is contained in:
2022-05-18 01:37:06 +07:00
parent 4132787ef8
commit 7db8dbcfcf
8 changed files with 336 additions and 15 deletions

View File

@ -132,9 +132,7 @@ public class NPC : Agent, ICharacter
//state sensors
sensor.AddObservation((int)NpcState.State);
sensor.AddObservation((int)NpcBodyState.State);
sensor.AddObservation(GameManager.IsEnemyNearby(gameObject.transform.position, GetCharacter.Team));
//sensor.AddObservation(_navPointIdDict[_moveController.PointStartID].DeathAttr);
//sensor.AddObservation(_navPointIdDict[_moveController.PointEndID].DeathAttr);
sensor.AddObservation(GameManager.IsEnemyNearby(gameObject.transform.position, GetCharacter.Team));
sensor.AddObservation(_moveController.FlagDistance);
//point sensors
@ -142,13 +140,9 @@ public class NPC : Agent, ICharacter
{
var position = transform.position;
_bufferSensor.AppendObservation(new float[] {
point.DeathAttr,
(int)point.navType,
//4 flagEnemyDistance
GameManager.IsCloserToFlagFromNextNavPoint(point, position).ToInt(),
//5 EnemyVsNavPointDistance
GameManager.IsCloserToEnemyThanToNextNavPoint(point, position, GetCharacter.Team.GetOppositeTeam()).ToInt(),
//6 Have been seen by enemy in this point
GameManager.IsHaveSeenByEnemy(GetCharacter.Team.GetOppositeTeam(),
point.Position).ToInt()
});