public override void Initialize() { base.Initialize(); tetrisGame.Init(this); behaviorParameters = GetComponent <BehaviorParameters>(); }
/// <summary> /// Initialize the agent's parameters when it is invoked. /// </summary> public override void Initialize() { m_BehaviorParameters = gameObject.GetComponent <BehaviorParameters>(); if (m_BehaviorParameters.TeamId == (int)Team.Red) { team = Team.Red; } else { team = Team.Blue; } agentVirtualCam.enabled = false; // Register the agent to the Team Manager's activeAgents list. var activeAgent = new ActiveAgents { agentScript = this, agentCam = agentVirtualCam, checkpoint = 0 }; teamManager.activeAgents.Add(activeAgent); m_AgentIndex = teamManager.activeAgents.IndexOf(activeAgent); TryGetComponent(out engine.RB); lastPosition = this.transform.position; }
internal void CleanupActionAsset() { InputSystem.RemoveLayout(mlAgentsLayoutName); if (!ReferenceEquals(m_Device, null)) { InputSystem.RemoveDevice(m_Device); } if (!ReferenceEquals(m_InputAsset, null) && m_InputAsset.FindControlSchemeIndex(mlAgentsControlSchemeName) != -1) { m_InputAsset.RemoveControlScheme(mlAgentsControlSchemeName); } if (m_Actuators != null) { Array.Clear(m_Actuators, 0, m_Actuators.Length); } if (!ReferenceEquals(m_BehaviorParameters, null)) { m_BehaviorParameters.OnPolicyUpdated -= UpdateDeviceBinding; } m_InputAsset = null; m_PlayerInput = null; m_BehaviorParameters = null; m_Device = null; }
public void SetPlayerType() { if (!playerAgent) { playerData.Type = PlayerType.Human; return; } BehaviorParameters behavior = playerAgent.GetComponent <BehaviorParameters>(); switch (behavior.BehaviorType) { case BehaviorType.HeuristicOnly: playerData.Type = PlayerType.Human; break; case BehaviorType.InferenceOnly: playerData.Type = PlayerType.AI; break; case BehaviorType.Default: if (behavior.Model != null) { playerData.Type = PlayerType.AI; } else { playerData.Type = PlayerType.AI; } break; } }
// ------------------------------------------------------------------------------------------------------------ // Unity Lifecycle calls // ------------------------------------------------------------------------------------------------------------ private void Awake() { rocketRb = GetComponent <Rigidbody>(); rocketControl = GetComponent <Rocket>(); simulationState = GetComponent <SimulationState>(); behavourParameters = GetComponent <BehaviorParameters>(); }
public override void Initialize() { m_BehaviorParameters = gameObject.GetComponent <BehaviorParameters>(); team = Team.Blue; m_Transform = new Vector3(transform.position.x + 0f, transform.position.y + 0f, transform.position.z + 0f); m_Rigidbody = GetComponent <Rigidbody>(); m_Ball = Ball.GetComponent <Rigidbody>(); m_Rigidbody = GetComponent <Rigidbody>(); m_Ball = Ball.GetComponent <Rigidbody>(); var ps = new PlayStates { CarAgent = m_Rigidbody, startingPosition = transform.position, CarAgentScript = this, }; area.playStates.Add(ps); m_PlayerIndex = area.playStates.IndexOf(ps); ps.playerIndx = m_PlayerIndex; areaBounds = Stadium.GetComponent <Collider>().bounds; }
void Awake() { gameManager = GetComponentInParent <GameManager>(); myStats = GetComponent <CharacterStats>(); baseAttacks = new Dictionary <int, BaseAttack>(); target = gameManager.player; targetStats = target.GetComponent <CharacterStats>(); actionManager = gameManager.bossActionManager; PopulateAttackDictionary(actionManager.availableAttacks); arenaName = transform.parent.name.Replace(" ", ""); timeOnAttackSelected = -1; attackSelected = null; timeForNextAttack = 0; vulnerabilityTime = 0; distance = Vector3.Distance(target.transform.localPosition, transform.localPosition); lightAttackDone = 0; heavyAttackDoneMiss = 0; heavyAttackDoneHit = 0; poisonAttackDone = 0; stunAttackDoneMiss = 0; stunAttackDoneHit = 0; gustAttackDone = 0; behaviorParameters = GetComponent <BehaviorParameters>(); counter = 1; }
public override void InitializeAgent() { m_BehaviorParameters = gameObject.GetComponent <BehaviorParameters>(); //outlet したteam idから、初期ポジションを場合分け if (m_BehaviorParameters.m_TeamID == (int)Team.Blue) { team = Team.Blue; m_Transform = new Vector3(transform.localPosition.x - 4f, .5f, transform.localPosition.z); } else { team = Team.Purple; m_Transform = new Vector3(transform.localPosition.x + 4f, .5f, transform.localPosition.z); } agentRb = GetComponent <Rigidbody>(); agentRb.maxAngularVelocity = 500; this.privateCanMoveCubeRb = GameObject.Find("canMoveObject").GetComponent <Rigidbody>(); var playerState = new PlayerState { agentRb = agentRb, startingPos = transform.localPosition, agentScript = this, }; area.playerStates.Add(playerState); m_PlayerIndex = area.playerStates.IndexOf(playerState); playerState.playerIndex = m_PlayerIndex; }
public override void InitializeAgent() { base.InitializeAgent(); m_BehaviorParameters = gameObject.GetComponent <BehaviorParameters>(); if (m_BehaviorParameters.m_TeamID == (int)Team.Blue) { team = Team.Blue; m_Transform = new Vector3(transform.position.x - 4f, .5f, transform.position.z); } else { team = Team.Purple; m_Transform = new Vector3(transform.position.x + 4f, .5f, transform.position.z); } m_SoccerSettings = FindObjectOfType <SoccerSettings>(); agentRb = GetComponent <Rigidbody>(); agentRb.maxAngularVelocity = 500; var playerState = new PlayerState { agentRb = agentRb, startingPos = transform.position, agentScript = this, }; area.playerStates.Add(playerState); m_PlayerIndex = area.playerStates.IndexOf(playerState); playerState.playerIndex = m_PlayerIndex; }
public override void Initialize() { m_BehaviorParameters = gameObject.GetComponent <BehaviorParameters>(); if (blueTeamfull == false) { team = Team.Blue; m_Transform = new Vector3(transform.position.x + 0f, transform.position.y + 0f, transform.position.z + 0f); } else if (blueTeamfull == true) { team = Team.Orange; m_Transform = new Vector3(transform.position.x + 0f, transform.position.y + 0f, transform.position.z + 0f); } agentRb = GetComponent <Rigidbody>(); m_Ball = Ball.GetComponent <Rigidbody>(); var ps = new PlayerState { agentRb = agentRb, startingPos = transform.position, agentScript = this, }; area.playerState.Add(ps); m_PlayerIndex = area.playerState.IndexOf(ps); ps.playerIndex = m_PlayerIndex; }
internal static IActuator[] CreateActuatorsFromMap(InputActionMap inputActionMap, BehaviorParameters behaviorParameters, InputDevice inputDevice, InputActuatorEventContext context) { var actuators = new IActuator[inputActionMap.actions.Count]; for (var i = 0; i < inputActionMap.actions.Count; i++) { var action = inputActionMap.actions[i]; var actionLayout = InputSystem.LoadLayout(action.expectedControlType); var adaptor = (IRLActionInputAdaptor)Activator.CreateInstance(controlTypeToAdaptorType[actionLayout.type]); actuators[i] = new InputActionActuator(inputDevice, behaviorParameters, action, adaptor, context); // Reasonably, the input system starts adding numbers after the first none numbered name // is added. So for device ID of 0, we use the empty string in the path. var path = $"{inputDevice?.path}{InputControlPath.Separator}{action.name}"; action.AddBinding(path, action.interactions, action.processors, mlAgentsControlSchemeName); action.bindingMask = InputBinding.MaskByGroup(mlAgentsControlSchemeName); } return(actuators); }
public override void Initialize() { originalPosition = transform.localPosition; behaviorParameters = GetComponent <BehaviorParameters>(); carController = GetComponent <CarController>(); carControllerRigidBody = carController.GetComponent <Rigidbody>(); carSpots = transform.parent.GetComponentInChildren <CarSpots>(); ResetParkingLotArea(); }
public void Setup() { var go = new GameObject(); m_BehaviorParameters = go.AddComponent <BehaviorParameters>(); var action = new InputAction("action"); m_Adaptor = new TestAdaptor(); m_Actuator = new InputActionActuator(null, m_BehaviorParameters, action, m_Adaptor, new InputActuatorEventContext(1, InputSystem.AddDevice <Gamepad>())); }
public void Setup() { var go = new GameObject(); m_BehaviorParameters = go.AddComponent <BehaviorParameters>(); var action = new InputAction("action"); m_Adaptor = new TestAdaptor(); m_Actuator = new InputActionActuator(null, m_BehaviorParameters, action, m_Adaptor); }
public override void InitializeAgent() { if (behaviorParams == null) { behaviorParams = GetComponent <BehaviorParameters>(); } if (behaviorParams == null) { Debug.LogError("Behavior params missing"); } }
public override void Initialize() { MaxStep = 10000; rb = GetComponent <Rigidbody>(); bps = GetComponent <BehaviorParameters>(); rb.maxAngularVelocity = 500.0f; //Team ID 추출 team = (TEAM)bps.TeamId; InitPlayers(); }
public void Start() { List <Transform> transforms = FindRecursive(root); for (int i = 0; i < transforms.Count; i++) { Transform transform = transforms[i]; if (transform.gameObject.name.Contains("Tongue") || transform.gameObject.name.Contains("Teeth")) { continue; } BehaviorParameters bp = transform.GetComponent <BehaviorParameters>(); if (bp == null) { bp = transform.gameObject.AddComponent <BehaviorParameters>(); } bp.BehaviorName = "SnapperController"; bp.BrainParameters.VectorObservationSize = 55; // bp.BrainParameters.NumStackedVectorObservations = 4; bp.BrainParameters.VectorActionSpaceType = SpaceType.Continuous; bp.BrainParameters.VectorActionSize = new int[] { 3, 3, 3 }; bp.Model = nnModel; RigTransformAgent rta = transform.GetComponent <RigTransformAgent>(); if (rta == null) { rta = transform.gameObject.AddComponent <RigTransformAgent>(); } rta.Index = i; rta.IndexRange = transforms.Count; rta.MaxStep = MaxStep; DecisionRequester dr = transform.GetComponent <DecisionRequester>(); if (dr == null) { dr = transform.gameObject.AddComponent <DecisionRequester>(); } dr.DecisionPeriod = 2; dr.TakeActionsBetweenDecisions = true; RenderTextureSensorComponent rts = transform.GetComponent <RenderTextureSensorComponent>(); if (rts == null) { rts = transform.gameObject.AddComponent <RenderTextureSensorComponent>(); } rts.RenderTexture = camTexture; rts.Grayscale = true; } }
public override void InitializeAgent() { base.InitializeAgent(); perception = GetComponent <RayPerception>(); behaviorParameters = GetComponent <BehaviorParameters>(); parentTransform = transform.parent; parentBody = GetComponentInParent <Rigidbody>(); totalFoodEaten = 0; movement = GetComponent <MovementBehaviour>(); eating = GetComponent <EatingBehaviour>(); }
/// <summary> /// Construct an <see cref="InputActionActuator"/> with the <see cref="BehaviorParameters"/> of the /// <see cref="Agent"/> component, the relevant <see cref="InputAction"/>, and the relevant /// <see cref="IRLActionInputAdaptor"/> to convert between ml-agents <--> <see cref="InputSystem"/>. /// </summary> /// <param name="inputDevice">The input device this action is bound to.</param> /// <param name="behaviorParameters">Used to determine if the <see cref="Agent"/> is running in /// heuristic mode.</param> /// <param name="action">The <see cref="InputAction"/> this <see cref="IActuator"/> we read/write data to/from /// via the <see cref="IRLActionInputAdaptor"/>.</param> /// <param name="adaptor">The <see cref="IRLActionInputAdaptor"/> that will convert data between ML-Agents /// and the <see cref="InputSystem"/>.</param> public InputActionActuator(InputDevice inputDevice, BehaviorParameters behaviorParameters, InputAction action, IRLActionInputAdaptor adaptor) { m_BehaviorParameters = behaviorParameters; Name = $"InputActionActuator-{action.name}"; m_Action = action; m_InputAdaptor = adaptor; ActionSpec = adaptor.GetActionSpecForInputAction(m_Action); m_Device = inputDevice; m_Control = m_Device?.GetChildControl(m_Action.name); }
public override void Initialize() { float xPos = UnityEngine.Random.Range(-3, 3); float zPos = UnityEngine.Random.Range(-3, 3); m_Existential = 1f / MaxStep; m_BehaviorParameters = gameObject.GetComponent <BehaviorParameters>(); if (m_BehaviorParameters.TeamId == (int)Team.Blue) { team = Team.Blue; m_Transform = new Vector3(transform.position.x - xPos, .5f, transform.position.z - zPos); //m_Transform = new Vector3(transform.position.x - 4f, .5f, transform.position.z); } else { team = Team.Purple; m_Transform = new Vector3(transform.position.x - xPos, .5f, transform.position.z - zPos); //_Transform = new Vector3(transform.position.x + 4f, .5f, transform.position.z); } if (position == Position.Goalie) { m_LateralSpeed = 1.0f; m_ForwardSpeed = 1.0f; } else if (position == Position.Striker) { m_LateralSpeed = 0.3f; m_ForwardSpeed = 1.3f; } else { m_LateralSpeed = 0.3f; m_ForwardSpeed = 1.0f; } m_SoccerSettings = FindObjectOfType <SoccerSettings>(); agentRb = GetComponent <Rigidbody>(); agentRb.maxAngularVelocity = 500; var playerState = new PlayerState { agentRb = agentRb, startingPos = transform.position, agentScript = this, }; area.playerStates.Add(playerState); m_PlayerIndex = area.playerStates.IndexOf(playerState); playerState.playerIndex = m_PlayerIndex; m_ResetParams = Academy.Instance.EnvironmentParameters; }
// private AgentAgentHelper AgentHelper = new AgentAgentHelper(); public override void Initialize() { Time.timeScale = 1; // Debug.Log(Thread.CurrentThread.ManagedThreadId); //Random.seed = Thread.CurrentThread.ManagedThreadId; team = this.gameObject.tag; initial_position = this.transform.position; initial_rotation = this.transform.rotation; parent = this.transform.parent; ball = parent.Find("Soccer Ball").gameObject; m_BehaviorParameters = gameObject.GetComponent <BehaviorParameters>(); car_controller = GetComponent <CarController>(); self_rBody = GetComponent <Rigidbody>(); ball_rBody = ball.GetComponent <Rigidbody>(); goalCheck = ball.GetComponent <GoalCheck_1v1>(); GameObject car_sphere = this.transform.Find("Sphere").gameObject; if (team == "Blue") { car_sphere.GetComponent <Renderer>().material.SetColor("_Color", Color.blue); own_goal = parent.Find("Blue_goal").gameObject; other_goal = parent.Find("Red_goal").gameObject; friends = new List <GameObject>(); foreach (GameObject go in AgentHelper.FindGameObjectInChildWithTag(parent, team)) { if (go.Equals(this.gameObject)) // I do this to exclude itself (not sure if its a good idea yet) { continue; } friends.Add(go); } enemies = new List <GameObject>(AgentHelper.FindGameObjectInChildWithTag(parent, "Red")); } else if (team == "Red") { car_sphere.GetComponent <Renderer>().material.SetColor("_Color", Color.red); own_goal = parent.Find("Red_goal").gameObject; other_goal = parent.Find("Blue_goal").gameObject; friends = new List <GameObject>(); foreach (GameObject go in AgentHelper.FindGameObjectInChildWithTag(parent, team)) { if (go.Equals(this.gameObject)) // I do this to exclude itself (not sure if its a good idea yet) { continue; } friends.Add(go); } enemies = new List <GameObject>(AgentHelper.FindGameObjectInChildWithTag(parent, "Blue")); } }
// Start is called before the first frame update void Start() { // check behaviour sizes BehaviorParameters behaviorParameters = this.gameObject.GetComponent <BehaviorParameters>(); Debug.Log("size of continuous observation vector = " + behaviorParameters.BrainParameters.VectorObservationSize); Debug.Log("size of continuous action vector = " + behaviorParameters.BrainParameters.ActionSpec.NumContinuousActions); // check policy type _heuristic = behaviorParameters.BehaviorType == BehaviorType.HeuristicOnly; /* Env setup */ _rAgent = this.GetComponent <Rigidbody>(); // get rigid body attached to Agent gameobject }
public override void Initialize()//reset vars { behaviorParameters = GetComponent <BehaviorParameters>(); GameObject environment = gameObject.transform.parent.gameObject; ballRgd = ball.GetComponent <Rigidbody>(); //basket = environment.transform.GetChild(right == 1 ? 3 : 4).GetChild(4); ballRgd.angularVelocity = Vector3.zero; ballRgd.velocity = Vector3.zero; manager = transform.GetComponentInParent <ShootingPlayerScript>(); counter = 0; //un-comment if using inference only shooting //transform.localPosition = new Vector3(Random.Range(3f, 18f), 1f, Random.Range(-9f, 9f)); //ball.transform.localPosition = new Vector3(transform.localPosition.x + right * 1.1f, transform.localPosition.y + 0.75f, transform.localPosition.z); }
public override void Setup() { base.Setup(); m_Actions = new TestPushBlockActions(); m_Asset = m_Actions.asset; m_GameObject = new GameObject(); m_PlayerInput = m_GameObject.AddComponent <PlayerInput>(); m_Provider = m_GameObject.AddComponent <TestProvider>(); m_Provider.asset = m_Asset; m_Provider.collection = m_Actions; m_ActuatorComponent = m_GameObject.AddComponent <InputActuatorComponent>(); m_BehaviorParameters = m_GameObject.AddComponent <BehaviorParameters>(); m_BehaviorParameters.BehaviorName = "InputTest"; m_BehaviorParameters.BehaviorType = BehaviorType.Default; }
private void Awake() { healthController = GetComponent <HealthController>(); rb = GetComponent <Rigidbody>(); environment = this.transform.parent; gameController = environment.GetComponentInChildren <GameController>(); behaviorParameters = GetComponent <BehaviorParameters>(); for (int i = 0; i < rateFire; i++) { GameObject newShell = Instantiate <GameObject>(shellPrefab, this.transform.parent); newShell.SetActive(false); shells.Add(newShell); } }
public override void Initialize()//reset vals { behaviorParameters = GetComponent <BehaviorParameters>(); right = 1; parent.GetComponent <Rigidbody>().useGravity = true; GameObject environment = gameObject.transform.parent.gameObject.transform.parent.gameObject; //ballRgd = environment.transform.GetChild(1).GetComponent<Rigidbody>(); ballRgd = ball.GetComponent <Rigidbody>();//environment.transform.GetChild(1).transform; ballRgd.angularVelocity = Vector3.zero; ballRgd.velocity = Vector3.zero; counter = 0; //ResetLocations(); manager = transform.GetComponentInParent <ShootingPlayerScript>(); manager.hasBall = false; }
public override void Initialize() { SoccerEnvController envController = GetComponentInParent <SoccerEnvController>(); if (envController != null) { m_Existential = 1f / envController.MaxEnvironmentSteps; } else { m_Existential = 1f / MaxStep; } m_BehaviorParameters = gameObject.GetComponent <BehaviorParameters>(); if (m_BehaviorParameters.TeamId == (int)Team.Blue) { team = Team.Blue; initialPos = new Vector3(transform.position.x - 5f, .5f, transform.position.z); rotSign = 1f; } else { team = Team.Purple; initialPos = new Vector3(transform.position.x + 5f, .5f, transform.position.z); rotSign = -1f; } if (position == Position.Goalie) { m_LateralSpeed = 1.0f; m_ForwardSpeed = 1.0f; } else if (position == Position.Striker) { m_LateralSpeed = 0.3f; m_ForwardSpeed = 1.3f; } else { m_LateralSpeed = 0.3f; m_ForwardSpeed = 1.0f; } m_SoccerSettings = FindObjectOfType <SoccerSettings>(); agentRb = GetComponent <Rigidbody>(); agentRb.maxAngularVelocity = 500; m_ResetParams = Academy.Instance.EnvironmentParameters; }
void Start() { _rBody = GetComponent <Rigidbody>(); _fJoint = GetComponent <FixedJoint>(); _viewField = GetComponent <ViewField>(); _bufferSensor = GetComponent <BufferSensorComponent>(); _behaviorParameters = GetComponent <BehaviorParameters>(); var parent = transform.parent; _manager = parent.GetComponent <ObjectsManager>(); _config = parent.GetComponent <Config>(); _spawnHelper = parent.GetComponent <SpawnHelper>(); _seenHolder = parent.GetComponent <SeenHolder>(); team = _behaviorParameters.TeamId == (int)Team.Hider ? Team.Hider : Team.Seeker; MaxStep = _config.episodeLength; }
public override void Initialize() { behaviorParameters = gameObject.GetComponent <BehaviorParameters>(); if (behaviorParameters.TeamId == (int)Team.Red) { team = Team.Red; iniPos = new Vector3(transform.position.x - 3f, 1.1f, transform.position.z); } else { team = Team.Blue; iniPos = new Vector3(transform.position.x + 3f, 1.1f, transform.position.z); } HorizontalSpeed = 0.4f; VerticalSpeed = 1.1f; rb = GetComponent <Rigidbody>(); rb.maxAngularVelocity = 500; }
public override void Initialize() { // f**k you mlagents team m_ExistentialReward = 1f / 1000000f; m_OutOfBoundsReward = 1f / 10000f; totalHitReward = 0f; m_HitReward = 0.05f; m_BehaviorParameters = gameObject.GetComponent <BehaviorParameters>(); if (m_BehaviorParameters.TeamId == (int)RectTeam.Blue) { team = RectTeam.Blue; m_Transform = new Vector3(transform.position.x, 1f, transform.position.z); } else { team = RectTeam.Yellow; m_Transform = new Vector3(transform.position.x, 1f, transform.position.z); } m_LateralSpeed = 2.0f; m_ForwardSpeed = 2.0f; m_Settings = FindObjectOfType <RectSettings>(); agentRb = GetComponent <Rigidbody>(); agentRb.maxAngularVelocity = 500; var playerState = new RectState { agentRb = agentRb, startingPos = transform.position, agentScript = this, }; area.playerStates.Add(playerState); m_PlayerIndex = area.playerStates.IndexOf(playerState); playerState.playerIndex = m_PlayerIndex; m_ResetParams = Academy.Instance.EnvironmentParameters; }