public bool assign(RollerAgent agent) { //print("Agente counter :"+ agentCount.ToString()); //print("agent_assigned"); agentlist.Add(agent); return(true); }
// Start is called before the first frame update void Start() { rollerAgent = rollerAgentObject.GetComponent <RollerAgent>(); rollerAgent.arenaPosition = transform.position; rollerAgent.target1 = target1Object; rollerAgent.target2 = target2Object; rollerAgent.target3 = target3Object; }
void Start() { var playerObj = GameObject.FindGameObjectWithTag("Player"); player = playerObj.GetComponent <RollerAgent>(); agent = GetComponent <NavMeshAgent>(); enemyScore = 0; SetEnemyScoreText(); }
private void Start() { rollerAgentObject = Instantiate(rollerAgentPrefab, new Vector3(0, transform.position.y + 0.5f, 0), Quaternion.identity); rollerAgent = rollerAgentObject.GetComponent <RollerAgent>(); rollerAgent.arenaPosition = transform.position; target1Object = Instantiate(target1Prefab); target2Object = Instantiate(target2Prefab); target3Object = Instantiate(target3Prefab); rollerAgent.target1 = target1Object; rollerAgent.target2 = target2Object; rollerAgent.target3 = target3Object; }
private void GetConfigParams() { string configString = Resources.Load <TextAsset>(configFileName).ToString(); // string configString = System.IO.File.ReadAllText(Application.dataPath + "/Config/" + configFileName + ".json"); ConfigJson obj = JsonUtility.FromJson <ConfigJson>(configString); // Read config associated with executed mode if (RollerAgent.IsSimulationMode()) { numObstaclesArray = obj.simulation.numObstacles; Debug.Log("simulation"); } else { numObstaclesArray = obj.training.numObstacles; Debug.Log("taining"); } }
public override void OnActionReceived(float[] vectorAction) { //base.OnActionReceived(vectorAction); dist_score = Vector3.Distance(transform.localPosition, target.transform.localPosition) / 142f; AddReward(-(1.0f / MaxStep)); //health -= 0.01f; MoveAgent(vectorAction); if (isCollidingWithWall) { //AddReward(-0.5f ); } float distanceToTarget = Vector3.Distance(this.transform.localPosition, target.localPosition); // Todo: Make this more scalable (e.g. use colliders) if (distanceToTarget < (1.42f * transform.localScale.x)) { if (target.gameObject.tag == "Species1") { RollerAgent targetAgent = target.gameObject.GetComponent <RollerAgent>(); if (targetAgent != null) { targetAgent.Eaten(); } } health = 100; AddReward(1.0f); EndEpisode(); } // Fell off platform or starved if (this.transform.localPosition.y < 0) { AddReward(-1.0f); EndEpisode(); } }
void Start() { rb = GetComponent <Rigidbody>(); agent = GetComponent <RollerAgent>(); waypoints = GetComponent <Waypoints>(); distancesVector = new float[n_scans + 4]; distancesToWallsVector = new float[5]; for (int i = 0; i < distancesVector.Length; i++) { distancesVector[0] = float.MaxValue; } tagLabels = new List <int>(); hitPoints = new List <RaycastHit>(); //prepare rotation matrices Quaternion q = Quaternion.AngleAxis(-FOV, Vector3.up); Quaternion q2 = Quaternion.AngleAxis(FOV, Vector3.up); rotateM = Matrix4x4.Rotate(q); rotateM2 = Matrix4x4.Rotate(q2); targetWaypoint = GameObject.Find("S").transform; dieingWaypoint = GameObject.Find("S").transform; }
void OnCollisionEnter(Collision obj) { if (obj.gameObject.CompareTag("Player")) { player = obj.gameObject.GetComponent <RollerAgent>(); var forceVec = -obj.gameObject.GetComponent <Rigidbody>().velocity.normalized * 250f; if (player.getScore() > getScore()) { obj.gameObject.GetComponent <Rigidbody>().AddForce(-forceVec, ForceMode.Force); enemyScore++; } else { agent.enabled = false; var rigidbody = GetComponent <Rigidbody>(); rigidbody.isKinematic = false; rigidbody.AddForce(forceVec, ForceMode.Force); Invoke("EnableNavMesh", 1F); enemyScore--; } SetEnemyScoreText(); } }
// Update is called once per frame void Update() { bool allBelow = true; var pickUpsArray = GameObject.FindGameObjectsWithTag("Pick Up"); foreach (GameObject pickUp in pickUpsArray) { if (pickUp.transform.position.y > 0) { allBelow = false; } } if (allBelow) { RollerAgent player = GameObject.FindObjectOfType <RollerAgent>(); EnemyController enemy = GameObject.FindObjectOfType <EnemyController>(); if (player.getScore() > enemy.getScore()) { gameOverText.text = "You Win!"; } else if (player.getScore() == enemy.getScore()) { gameOverText.text = "It's a Draw!"; } else { gameOverText.text = "You lost..."; } //Time.timeScale = 0; } else { gameOverText.text = ""; } }
void Start() { rg = GetComponent <RollerAgent>(); }