diff --git a/Project/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerFieldTwos.prefab b/Project/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerFieldTwos.prefab index f6865ab300..74cae23e07 100644 --- a/Project/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerFieldTwos.prefab +++ b/Project/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerFieldTwos.prefab @@ -188,6 +188,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -199,6 +200,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -265,6 +267,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -276,6 +279,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -359,6 +363,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -370,6 +375,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -584,6 +590,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -595,6 +602,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -705,6 +713,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -716,6 +725,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -827,6 +837,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -838,6 +849,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -917,6 +929,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -928,6 +941,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -994,6 +1008,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1005,6 +1020,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1116,6 +1132,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1127,6 +1144,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1243,6 +1261,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1255,6 +1274,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1406,6 +1426,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1417,6 +1438,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1487,6 +1509,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1499,6 +1522,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1617,6 +1641,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1628,6 +1653,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1694,6 +1720,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1705,6 +1732,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1760,9 +1788,10 @@ Camera: m_ClearFlags: 2 m_BackGroundColor: {r: 0.46666667, g: 0.5647059, b: 0.60784316, a: 1} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_GateFitMode: 2 m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 @@ -1849,6 +1878,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1860,6 +1890,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1962,7 +1993,7 @@ MonoBehaviour: VectorActionDescriptions: [] VectorActionSpaceType: 0 hasUpgradedBrainParametersWithActionSpec: 1 - m_Model: {fileID: 11400000, guid: b0a629580a0ab48a5a774f90ff1fb48b, type: 3} + m_Model: {fileID: 5022602860645237092, guid: 8cd4584c2f2cb4c5fb51675d364e10ec, type: 3} m_InferenceDevice: 2 m_BehaviorType: 0 m_BehaviorName: SoccerTwos @@ -1987,10 +2018,10 @@ MonoBehaviour: hasUpgradedFromAgentParameters: 1 MaxStep: 3000 team: 0 - area: {fileID: 114559182131992928} position: 2 - timePenalty: 0 agentRb: {fileID: 0} + initialPos: {x: 0, y: 0, z: 0} + rotSign: 0 --- !u!114 &114320493772006642 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2093,9 +2124,10 @@ Camera: m_ClearFlags: 2 m_BackGroundColor: {r: 0.46666667, g: 0.5647059, b: 0.60784316, a: 1} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_GateFitMode: 2 m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 @@ -2213,7 +2245,7 @@ MonoBehaviour: VectorActionDescriptions: [] VectorActionSpaceType: 0 hasUpgradedBrainParametersWithActionSpec: 1 - m_Model: {fileID: 11400000, guid: b0a629580a0ab48a5a774f90ff1fb48b, type: 3} + m_Model: {fileID: 5022602860645237092, guid: 8cd4584c2f2cb4c5fb51675d364e10ec, type: 3} m_InferenceDevice: 2 m_BehaviorType: 0 m_BehaviorName: SoccerTwos @@ -2238,10 +2270,10 @@ MonoBehaviour: hasUpgradedFromAgentParameters: 1 MaxStep: 3000 team: 1 - area: {fileID: 114559182131992928} position: 2 - timePenalty: 0 agentRb: {fileID: 0} + initialPos: {x: 0, y: 0, z: 0} + rotSign: 0 --- !u!114 &114516244030127556 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2310,7 +2342,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4558743310993102} - - component: {fileID: 114559182131992928} + - component: {fileID: 8122248192225965164} m_Layer: 0 m_Name: SoccerFieldTwos m_TagString: Untagged @@ -2339,7 +2371,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &114559182131992928 +--- !u!114 &8122248192225965164 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2348,17 +2380,29 @@ MonoBehaviour: m_GameObject: {fileID: 1141134673700168} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: efd705d0a5b1e405eb1869b7cbe47dda, type: 3} + m_Script: {fileID: 11500000, guid: 4e397bc3ae78c466a8d44400f5b68e38, type: 3} m_Name: m_EditorClassIdentifier: + MaxEnvironmentSteps: 5000 ball: {fileID: 1682753582128710} ballRb: {fileID: 0} - ground: {fileID: 0} - centerPitch: {fileID: 0} - playerStates: [] - ballStartingPos: {x: 0, y: 0, z: 0} - goalTextUI: {fileID: 0} - canResetBall: 0 + AgentsList: + - Agent: {fileID: 114850431417842684} + StartingPos: {x: 0, y: 0, z: 0} + StartingRot: {x: 0, y: 0, z: 0, w: 0} + Rb: {fileID: 0} + - Agent: {fileID: 114492261207303438} + StartingPos: {x: 0, y: 0, z: 0} + StartingRot: {x: 0, y: 0, z: 0, w: 0} + Rb: {fileID: 0} + - Agent: {fileID: 5379409612883756837} + StartingPos: {x: 0, y: 0, z: 0} + StartingRot: {x: 0, y: 0, z: 0, w: 0} + Rb: {fileID: 0} + - Agent: {fileID: 5320024511406682322} + StartingPos: {x: 0, y: 0, z: 0} + StartingRot: {x: 0, y: 0, z: 0, w: 0} + Rb: {fileID: 0} --- !u!1 &1366507812774098 GameObject: m_ObjectHideFlags: 0 @@ -2413,6 +2457,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2424,6 +2469,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2520,6 +2566,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2531,6 +2578,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2597,6 +2645,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2608,6 +2657,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2677,6 +2727,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2688,6 +2739,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2725,7 +2777,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 93558b952b37a4b0ebaca3ca6711bcc4, type: 3} m_Name: m_EditorClassIdentifier: - area: {fileID: 0} + area: {fileID: 1141134673700168} + envController: {fileID: 0} purpleGoalTag: purpleGoal blueGoalTag: blueGoal --- !u!54 &54100138833592438 @@ -2798,6 +2851,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2809,6 +2863,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2880,6 +2935,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2891,6 +2947,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2957,6 +3014,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2968,6 +3026,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3034,6 +3093,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3045,6 +3105,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3111,6 +3172,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3122,6 +3184,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3188,6 +3251,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3199,6 +3263,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3317,9 +3382,10 @@ Camera: m_ClearFlags: 2 m_BackGroundColor: {r: 0.46666667, g: 0.5647059, b: 0.60784316, a: 1} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_GateFitMode: 2 m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 @@ -3453,9 +3519,10 @@ Camera: m_ClearFlags: 2 m_BackGroundColor: {r: 0.46666667, g: 0.5647059, b: 0.60784316, a: 1} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_GateFitMode: 2 m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 @@ -3537,6 +3604,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3548,6 +3616,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3614,6 +3683,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3625,6 +3695,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3754,6 +3825,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3765,6 +3837,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3836,6 +3909,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3847,6 +3921,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3949,7 +4024,7 @@ MonoBehaviour: VectorActionDescriptions: [] VectorActionSpaceType: 0 hasUpgradedBrainParametersWithActionSpec: 1 - m_Model: {fileID: 11400000, guid: b0a629580a0ab48a5a774f90ff1fb48b, type: 3} + m_Model: {fileID: 5022602860645237092, guid: 8cd4584c2f2cb4c5fb51675d364e10ec, type: 3} m_InferenceDevice: 2 m_BehaviorType: 0 m_BehaviorName: SoccerTwos @@ -3974,10 +4049,10 @@ MonoBehaviour: hasUpgradedFromAgentParameters: 1 MaxStep: 3000 team: 0 - area: {fileID: 114559182131992928} position: 2 - timePenalty: 0 agentRb: {fileID: 0} + initialPos: {x: 0, y: 0, z: 0} + rotSign: 0 --- !u!114 &1023485123796557062 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4096,6 +4171,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4107,6 +4183,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4173,6 +4250,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4184,6 +4262,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4250,6 +4329,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4261,6 +4341,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4327,6 +4408,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4338,6 +4420,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4440,7 +4523,7 @@ MonoBehaviour: VectorActionDescriptions: [] VectorActionSpaceType: 0 hasUpgradedBrainParametersWithActionSpec: 1 - m_Model: {fileID: 11400000, guid: b0a629580a0ab48a5a774f90ff1fb48b, type: 3} + m_Model: {fileID: 5022602860645237092, guid: 8cd4584c2f2cb4c5fb51675d364e10ec, type: 3} m_InferenceDevice: 2 m_BehaviorType: 0 m_BehaviorName: SoccerTwos @@ -4465,10 +4548,10 @@ MonoBehaviour: hasUpgradedFromAgentParameters: 1 MaxStep: 3000 team: 1 - area: {fileID: 114559182131992928} position: 2 - timePenalty: 0 agentRb: {fileID: 0} + initialPos: {x: 0, y: 0, z: 0} + rotSign: 0 --- !u!114 &2562571719799803906 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4582,6 +4665,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4593,6 +4677,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4659,6 +4744,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4670,6 +4756,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 diff --git a/Project/Assets/ML-Agents/Examples/Soccer/Prefabs/StrikersVsGoalieField.prefab b/Project/Assets/ML-Agents/Examples/Soccer/Prefabs/StrikersVsGoalieField.prefab index 92fa04e05c..bc32804cdd 100644 --- a/Project/Assets/ML-Agents/Examples/Soccer/Prefabs/StrikersVsGoalieField.prefab +++ b/Project/Assets/ML-Agents/Examples/Soccer/Prefabs/StrikersVsGoalieField.prefab @@ -30,7 +30,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 11 + m_RootOrder: 12 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &253232880 MeshFilter: @@ -54,6 +54,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -65,6 +66,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -107,7 +109,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 1 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &444114137 MeshFilter: @@ -131,6 +133,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -142,6 +145,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -216,7 +220,7 @@ Transform: m_LocalScale: {x: 100, y: 100, z: 100} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 14 + m_RootOrder: 15 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &474940251 BoxCollider: @@ -265,7 +269,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 6 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &615018297 MeshFilter: @@ -289,6 +293,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -301,6 +306,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -395,7 +401,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &654598890 MeshFilter: @@ -419,6 +425,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -430,6 +437,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -476,7 +484,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 8 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &738577478 MeshFilter: @@ -500,6 +508,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -512,6 +521,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -606,7 +616,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 9 + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &922552527 MeshFilter: @@ -630,6 +640,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -641,6 +652,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -893,7 +905,7 @@ Transform: m_LocalScale: {x: 300, y: 10, z: 1200} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 12 + m_RootOrder: 13 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1358559440 MeshFilter: @@ -930,6 +942,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -941,6 +954,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -984,7 +998,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 5 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1411349256 MeshFilter: @@ -1008,6 +1022,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1019,6 +1034,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1075,6 +1091,7 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} m_Children: + - {fileID: 5380420931288637108} - {fileID: 1838648424} - {fileID: 444114135} - {fileID: 1905370727} @@ -1115,6 +1132,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1126,6 +1144,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1214,7 +1233,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 7 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1641907513 MeshFilter: @@ -1238,6 +1257,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1249,6 +1269,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1336,7 +1357,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 4 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1685058926 MeshFilter: @@ -1360,6 +1381,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1371,6 +1393,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1426,7 +1449,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 10 + m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1728133460 MeshFilter: @@ -1450,6 +1473,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1461,6 +1485,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1504,7 +1529,7 @@ Transform: m_LocalScale: {x: 300, y: 10, z: 1200} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 13 + m_RootOrder: 14 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1790209497 MeshFilter: @@ -1541,6 +1566,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1552,6 +1578,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1594,7 +1621,7 @@ Transform: - {fileID: 1280034523} - {fileID: 473053728} m_Father: {fileID: 1590368733} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1905370726 GameObject: @@ -1626,7 +1653,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1590368733} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1905370729 MeshFilter: @@ -1650,6 +1677,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1661,6 +1689,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1760,9 +1789,10 @@ Camera: m_ClearFlags: 2 m_BackGroundColor: {r: 0.46666667, g: 0.5647059, b: 0.60784316, a: 1} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_GateFitMode: 2 m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 @@ -1849,6 +1879,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1860,6 +1891,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1903,7 +1935,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1095606497496374} m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 8, y: 0.5, z: 0} + m_LocalPosition: {x: 4, y: 0.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 4540034559941056} @@ -1986,10 +2018,10 @@ MonoBehaviour: hasUpgradedFromAgentParameters: 1 MaxStep: 3000 team: 0 - area: {fileID: 114559182131992928} position: 1 - timePenalty: 0 agentRb: {fileID: 0} + initialPos: {x: 0, y: 0, z: 0} + rotSign: 0 --- !u!114 &114320493772006642 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2090,9 +2122,10 @@ Camera: m_ClearFlags: 2 m_BackGroundColor: {r: 0.46666667, g: 0.5647059, b: 0.60784316, a: 1} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_GateFitMode: 2 m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 @@ -2235,10 +2268,10 @@ MonoBehaviour: hasUpgradedFromAgentParameters: 1 MaxStep: 3000 team: 1 - area: {fileID: 114559182131992928} position: 0 - timePenalty: 0 agentRb: {fileID: 0} + initialPos: {x: 0, y: 0, z: 0} + rotSign: 0 --- !u!114 &114516244030127556 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2306,7 +2339,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4558743310993102} - - component: {fileID: 114559182131992928} + - component: {fileID: 5003424191498964318} m_Layer: 0 m_Name: StrikersVsGoalieField m_TagString: Untagged @@ -2334,7 +2367,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &114559182131992928 +--- !u!114 &5003424191498964318 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2343,17 +2376,25 @@ MonoBehaviour: m_GameObject: {fileID: 1141134673700168} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: efd705d0a5b1e405eb1869b7cbe47dda, type: 3} + m_Script: {fileID: 11500000, guid: 4e397bc3ae78c466a8d44400f5b68e38, type: 3} m_Name: m_EditorClassIdentifier: + MaxEnvironmentSteps: 5000 ball: {fileID: 1682753582128710} ballRb: {fileID: 0} - ground: {fileID: 0} - centerPitch: {fileID: 0} - playerStates: [] - ballStartingPos: {x: 0, y: 0, z: 0} - goalTextUI: {fileID: 0} - canResetBall: 0 + AgentsList: + - Agent: {fileID: 114850431417842684} + StartingPos: {x: 0, y: 0, z: 0} + StartingRot: {x: 0, y: 0, z: 0, w: 0} + Rb: {fileID: 0} + - Agent: {fileID: 5379409612883756837} + StartingPos: {x: 0, y: 0, z: 0} + StartingRot: {x: 0, y: 0, z: 0, w: 0} + Rb: {fileID: 0} + - Agent: {fileID: 114492261207303438} + StartingPos: {x: 0, y: 0, z: 0} + StartingRot: {x: 0, y: 0, z: 0, w: 0} + Rb: {fileID: 0} --- !u!1 &1366507812774098 GameObject: m_ObjectHideFlags: 0 @@ -2408,6 +2449,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2419,6 +2461,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2515,6 +2558,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2526,6 +2570,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2592,6 +2637,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2603,6 +2649,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2672,6 +2719,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2683,6 +2731,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2720,7 +2769,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 93558b952b37a4b0ebaca3ca6711bcc4, type: 3} m_Name: m_EditorClassIdentifier: - area: {fileID: 0} + area: {fileID: 1141134673700168} + envController: {fileID: 0} purpleGoalTag: purpleGoal blueGoalTag: blueGoal --- !u!54 &54100138833592438 @@ -2793,6 +2843,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2804,6 +2855,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2875,6 +2927,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2886,6 +2939,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2952,6 +3006,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2963,6 +3018,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3029,6 +3085,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3040,6 +3097,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3106,6 +3164,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3117,6 +3176,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3183,6 +3243,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3194,6 +3255,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3311,9 +3373,10 @@ Camera: m_ClearFlags: 2 m_BackGroundColor: {r: 0.46666667, g: 0.5647059, b: 0.60784316, a: 1} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_GateFitMode: 2 m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 @@ -3395,6 +3458,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3406,6 +3470,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3472,6 +3537,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3483,6 +3549,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3611,6 +3678,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3622,6 +3690,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3693,6 +3762,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3704,6 +3774,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3770,6 +3841,7 @@ MeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3781,6 +3853,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3908,10 +3981,10 @@ MonoBehaviour: hasUpgradedFromAgentParameters: 1 MaxStep: 3000 team: 1 - area: {fileID: 114559182131992928} position: 0 - timePenalty: 0 agentRb: {fileID: 0} + initialPos: {x: 0, y: 0, z: 0} + rotSign: 0 --- !u!114 &2562571719799803906 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3970,3 +4043,96 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: debugCommandLineOverride: +--- !u!1 &9012161277676694912 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5380420931288637108} + - component: {fileID: 9218808494928946219} + - component: {fileID: 751017937587398034} + - component: {fileID: 5544574640864840267} + m_Layer: 0 + m_Name: BlueGoalBlocker + m_TagString: wall + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5380420931288637108 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9012161277676694912} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1551, y: 155, z: 0} + m_LocalScale: {x: 100, y: 395.9755, z: 791.466} + m_Children: [] + m_Father: {fileID: 1590368733} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &9218808494928946219 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9012161277676694912} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &751017937587398034 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9012161277676694912} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 66163cf35956a4be08e801b750c26f33, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &5544574640864840267 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9012161277676694912} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Project/Assets/ML-Agents/Examples/Soccer/Scripts/AgentSoccer.cs b/Project/Assets/ML-Agents/Examples/Soccer/Scripts/AgentSoccer.cs index 684ac0a3e4..abddb5485f 100644 --- a/Project/Assets/ML-Agents/Examples/Soccer/Scripts/AgentSoccer.cs +++ b/Project/Assets/ML-Agents/Examples/Soccer/Scripts/AgentSoccer.cs @@ -3,6 +3,12 @@ using Unity.MLAgents.Actuators; using Unity.MLAgents.Policies; +public enum Team +{ + Blue = 0, + Purple = 1 +} + public class AgentSoccer : Agent { // Note that that the detectable tags are different for the blue and purple teams. The order is @@ -12,11 +18,6 @@ public class AgentSoccer : Agent // * wall // * own teammate // * opposing player - public enum Team - { - Blue = 0, - Purple = 1 - } public enum Position { @@ -28,8 +29,6 @@ public enum Position [HideInInspector] public Team team; float m_KickPower; - int m_PlayerIndex; - public SoccerFieldArea area; // The coefficient for the reward for colliding with a ball. Set using curriculum. float m_BallTouch; public Position position; @@ -39,14 +38,13 @@ public enum Position float m_LateralSpeed; float m_ForwardSpeed; - [HideInInspector] - public float timePenalty; [HideInInspector] public Rigidbody agentRb; SoccerSettings m_SoccerSettings; BehaviorParameters m_BehaviorParameters; - Vector3 m_Transform; + public Vector3 initialPos; + public float rotSign; EnvironmentParameters m_ResetParams; @@ -57,12 +55,14 @@ public override void Initialize() if (m_BehaviorParameters.TeamId == (int)Team.Blue) { team = Team.Blue; - m_Transform = new Vector3(transform.position.x - 4f, .5f, transform.position.z); + initialPos = new Vector3(transform.position.x - 5f, .5f, transform.position.z); + rotSign = 1f; } else { team = Team.Purple; - m_Transform = new Vector3(transform.position.x + 4f, .5f, transform.position.z); + initialPos = new Vector3(transform.position.x + 5f, .5f, transform.position.z); + rotSign = -1f; } if (position == Position.Goalie) { @@ -83,16 +83,6 @@ public override void Initialize() agentRb = GetComponent(); 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; } @@ -157,11 +147,6 @@ public override void OnActionReceived(ActionBuffers actionBuffers) // Existential penalty for Strikers AddReward(-m_Existential); } - else - { - // Existential penalty cumulant for Generic - timePenalty -= m_Existential; - } MoveAgent(actionBuffers.DiscreteActions); } @@ -218,25 +203,7 @@ void OnCollisionEnter(Collision c) public override void OnEpisodeBegin() { - - timePenalty = 0; m_BallTouch = m_ResetParams.GetWithDefault("ball_touch", 0); - if (team == Team.Purple) - { - transform.rotation = Quaternion.Euler(0f, -90f, 0f); - } - else - { - transform.rotation = Quaternion.Euler(0f, 90f, 0f); - } - transform.position = m_Transform; - agentRb.velocity = Vector3.zero; - agentRb.angularVelocity = Vector3.zero; - SetResetParameters(); } - public void SetResetParameters() - { - area.ResetBall(); - } } diff --git a/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerBallController.cs b/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerBallController.cs index 13a5e171a2..a1847ba27f 100644 --- a/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerBallController.cs +++ b/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerBallController.cs @@ -2,20 +2,26 @@ public class SoccerBallController : MonoBehaviour { + public GameObject area; [HideInInspector] - public SoccerFieldArea area; + public SoccerEnvController envController; public string purpleGoalTag; //will be used to check if collided with purple goal public string blueGoalTag; //will be used to check if collided with blue goal + void Start() + { + envController = area.GetComponent(); + } + void OnCollisionEnter(Collision col) { if (col.gameObject.CompareTag(purpleGoalTag)) //ball touched purple goal { - area.GoalTouched(AgentSoccer.Team.Blue); + envController.GoalTouched(Team.Blue); } if (col.gameObject.CompareTag(blueGoalTag)) //ball touched blue goal { - area.GoalTouched(AgentSoccer.Team.Purple); + envController.GoalTouched(Team.Purple); } } } diff --git a/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerEnvController.cs b/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerEnvController.cs new file mode 100644 index 0000000000..7eb60b360e --- /dev/null +++ b/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerEnvController.cs @@ -0,0 +1,139 @@ +using System.Collections; +using System.Collections.Generic; +using Unity.MLAgents; +using UnityEngine; + +public class SoccerEnvController : MonoBehaviour +{ + [System.Serializable] + public class PlayerInfo + { + public AgentSoccer Agent; + [HideInInspector] + public Vector3 StartingPos; + [HideInInspector] + public Quaternion StartingRot; + [HideInInspector] + public Rigidbody Rb; + } + + + /// + /// Max Academy steps before this platform resets + /// + /// + [Header("Max Environment Steps")] public int MaxEnvironmentSteps = 25000; + + /// + /// The area bounds. + /// + + /// + /// We will be changing the ground material based on success/failue + /// + + public GameObject ball; + [HideInInspector] + public Rigidbody ballRb; + Vector3 m_BallStartingPos; + + //List of Agents On Platform + public List AgentsList = new List(); + + private SoccerSettings m_SoccerSettings; + + + private SimpleMultiAgentGroup m_BlueAgentGroup; + private SimpleMultiAgentGroup m_PurpleAgentGroup; + + private int m_ResetTimer; + + void Start() + { + + m_SoccerSettings = FindObjectOfType(); + // Initialize TeamManager + m_BlueAgentGroup = new SimpleMultiAgentGroup(); + m_PurpleAgentGroup = new SimpleMultiAgentGroup(); + ballRb = ball.GetComponent(); + m_BallStartingPos = new Vector3(ball.transform.position.x, ball.transform.position.y, ball.transform.position.z); + foreach (var item in AgentsList) + { + item.StartingPos = item.Agent.transform.position; + item.StartingRot = item.Agent.transform.rotation; + item.Rb = item.Agent.GetComponent(); + if (item.Agent.team == Team.Blue) + { + m_BlueAgentGroup.RegisterAgent(item.Agent); + } + else + { + m_PurpleAgentGroup.RegisterAgent(item.Agent); + } + } + ResetScene(); + } + + void FixedUpdate() + { + m_ResetTimer += 1; + if (m_ResetTimer >= MaxEnvironmentSteps && MaxEnvironmentSteps > 0) + { + m_BlueAgentGroup.GroupEpisodeInterrupted(); + m_PurpleAgentGroup.GroupEpisodeInterrupted(); + ResetScene(); + } + } + + + public void ResetBall() + { + var randomPosX = Random.Range(-2.5f, 2.5f); + var randomPosZ = Random.Range(-2.5f, 2.5f); + + ball.transform.position = m_BallStartingPos + new Vector3(randomPosX, 0f, randomPosZ); ; + ballRb.velocity = Vector3.zero; + ballRb.angularVelocity = Vector3.zero; + + } + + public void GoalTouched(Team scoredTeam) + { + if (scoredTeam == Team.Blue) + { + m_BlueAgentGroup.AddGroupReward(1 - m_ResetTimer / MaxEnvironmentSteps); + m_PurpleAgentGroup.AddGroupReward(-1); + } + else + { + m_PurpleAgentGroup.AddGroupReward(1 - m_ResetTimer / MaxEnvironmentSteps); + m_BlueAgentGroup.AddGroupReward(-1); + } + m_PurpleAgentGroup.EndGroupEpisode(); + m_BlueAgentGroup.EndGroupEpisode(); + ResetScene(); + + } + + + public void ResetScene() + { + m_ResetTimer = 0; + + //Reset Agents + foreach (var item in AgentsList) + { + var randomPosX = Random.Range(-5f, 5f); + var newStartPos = item.Agent.initialPos + new Vector3(randomPosX, 0f, 0f); + var rot = item.Agent.rotSign * Random.Range(80.0f, 100.0f); + var newRot = Quaternion.Euler(0, rot, 0); + item.Agent.transform.SetPositionAndRotation(newStartPos, newRot); + + item.Rb.velocity = Vector3.zero; + item.Rb.angularVelocity = Vector3.zero; + } + + //Reset Ball + ResetBall(); + } +} diff --git a/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerFieldArea.cs.meta b/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerEnvController.cs.meta similarity index 71% rename from Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerFieldArea.cs.meta rename to Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerEnvController.cs.meta index 42d3aa496d..4325c04051 100644 --- a/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerFieldArea.cs.meta +++ b/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerEnvController.cs.meta @@ -1,7 +1,5 @@ fileFormatVersion: 2 -guid: efd705d0a5b1e405eb1869b7cbe47dda -timeCreated: 1511497566 -licenseType: Free +guid: 4e397bc3ae78c466a8d44400f5b68e38 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerFieldArea.cs b/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerFieldArea.cs deleted file mode 100644 index a119b7a572..0000000000 --- a/Project/Assets/ML-Agents/Examples/Soccer/Scripts/SoccerFieldArea.cs +++ /dev/null @@ -1,85 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using Unity.MLAgents; -using UnityEngine; -using UnityEngine.Serialization; - -[System.Serializable] -public class PlayerState -{ - public int playerIndex; - [FormerlySerializedAs("agentRB")] - public Rigidbody agentRb; - public Vector3 startingPos; - public AgentSoccer agentScript; - public float ballPosReward; -} - -public class SoccerFieldArea : MonoBehaviour -{ - public GameObject ball; - [FormerlySerializedAs("ballRB")] - [HideInInspector] - public Rigidbody ballRb; - public GameObject ground; - public GameObject centerPitch; - SoccerBallController m_BallController; - public List playerStates = new List(); - [HideInInspector] - public Vector3 ballStartingPos; - public GameObject goalTextUI; - [HideInInspector] - public bool canResetBall; - - EnvironmentParameters m_ResetParams; - - void Awake() - { - canResetBall = true; - if (goalTextUI) { goalTextUI.SetActive(false); } - ballRb = ball.GetComponent(); - m_BallController = ball.GetComponent(); - m_BallController.area = this; - ballStartingPos = ball.transform.position; - - m_ResetParams = Academy.Instance.EnvironmentParameters; - } - - IEnumerator ShowGoalUI() - { - if (goalTextUI) goalTextUI.SetActive(true); - yield return new WaitForSeconds(.25f); - if (goalTextUI) goalTextUI.SetActive(false); - } - - public void GoalTouched(AgentSoccer.Team scoredTeam) - { - foreach (var ps in playerStates) - { - if (ps.agentScript.team == scoredTeam) - { - ps.agentScript.AddReward(1 + ps.agentScript.timePenalty); - } - else - { - ps.agentScript.AddReward(-1); - } - ps.agentScript.EndEpisode(); //all agents need to be reset - - if (goalTextUI) - { - StartCoroutine(ShowGoalUI()); - } - } - } - - public void ResetBall() - { - ball.transform.position = ballStartingPos; - ballRb.velocity = Vector3.zero; - ballRb.angularVelocity = Vector3.zero; - - var ballScale = m_ResetParams.GetWithDefault("ball_scale", 0.015f); - ballRb.transform.localScale = new Vector3(ballScale, ballScale, ballScale); - } -} diff --git a/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.nn b/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.nn deleted file mode 100644 index 0e848cee83..0000000000 Binary files a/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.nn and /dev/null differ diff --git a/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.nn.meta b/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.nn.meta deleted file mode 100644 index d07e848995..0000000000 --- a/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.nn.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b0a629580a0ab48a5a774f90ff1fb48b -ScriptedImporter: - fileIDToRecycleName: - 11400000: main obj - 11400002: model data - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: - script: {fileID: 11500000, guid: 19ed1486aa27d4903b34839f37b8f69f, type: 3} diff --git a/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.onnx b/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.onnx new file mode 100644 index 0000000000..97c69f64a9 Binary files /dev/null and b/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.onnx differ diff --git a/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.onnx.meta b/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.onnx.meta new file mode 100644 index 0000000000..d1b3e357b6 --- /dev/null +++ b/Project/Assets/ML-Agents/Examples/Soccer/TFModels/SoccerTwos.onnx.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 8cd4584c2f2cb4c5fb51675d364e10ec +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 683b6cb6d0a474744822c888b46772c9, type: 3} + optimizeModel: 1 + forceArbitraryBatchSize: 1 + treatErrorsAsWarnings: 0 + importMode: 1 diff --git a/config/ppo/SoccerTwos.yaml b/config/poca/SoccerTwos.yaml similarity index 96% rename from config/ppo/SoccerTwos.yaml rename to config/poca/SoccerTwos.yaml index e9b390c981..b17fadcb28 100644 --- a/config/ppo/SoccerTwos.yaml +++ b/config/poca/SoccerTwos.yaml @@ -1,6 +1,6 @@ behaviors: SoccerTwos: - trainer_type: ppo + trainer_type: poca hyperparameters: batch_size: 2048 buffer_size: 20480 diff --git a/config/ppo/StrikersVsGoalie.yaml b/config/poca/StrikersVsGoalie.yaml similarity index 96% rename from config/ppo/StrikersVsGoalie.yaml rename to config/poca/StrikersVsGoalie.yaml index aafc1e918b..8bd67c03ee 100644 --- a/config/ppo/StrikersVsGoalie.yaml +++ b/config/poca/StrikersVsGoalie.yaml @@ -1,6 +1,6 @@ behaviors: Goalie: - trainer_type: ppo + trainer_type: poca hyperparameters: batch_size: 2048 buffer_size: 20480 @@ -32,7 +32,7 @@ behaviors: play_against_latest_model_ratio: 0.5 initial_elo: 1200.0 Striker: - trainer_type: ppo + trainer_type: poca hyperparameters: batch_size: 2048 buffer_size: 20480 diff --git a/docs/Learning-Environment-Design-Agents.md b/docs/Learning-Environment-Design-Agents.md index 2d0c4051ae..91e31b2e51 100644 --- a/docs/Learning-Environment-Design-Agents.md +++ b/docs/Learning-Environment-Design-Agents.md @@ -987,6 +987,8 @@ and two playing fields where teams are pitted against each other. All the blue a width="650" border="10" />

+Please see the [SoccerTwos](Learning-Environment-Examples.md#soccer-twos) environment for an example. + #### Cooperative Behaviors Notes and Best Practices * An agent can only be registered to one MultiAgentGroup at a time. If you want to re-assign an agent from one group to another, you have to unregister it from the current group first. diff --git a/docs/Learning-Environment-Examples.md b/docs/Learning-Environment-Examples.md index 77fcefa5f4..7056b3c6ff 100644 --- a/docs/Learning-Environment-Examples.md +++ b/docs/Learning-Environment-Examples.md @@ -280,7 +280,7 @@ you would like to contribute environments, please see our - Goal: - Get the ball into the opponent's goal while preventing the ball from entering own goal. -- Agents: The environment contains four agents, with the same Behavior +- Agents: The environment contains two different Multi Agent Groups with two agents in each. Parameters : SoccerTwos. - Agent Reward Function (dependent): - (1 - `accumulated time penalty`) When ball enters opponent's goal @@ -315,7 +315,7 @@ you would like to contribute environments, please see our - Goal: - Striker: Get the ball into the opponent's goal. - Goalie: Keep the ball out of the goal. -- Agents: The environment contains three agents. Two Strikers and one Goalie. +- Agents: The environment contains two different Multi Agent Groups. One with two Strikers and the other one Goalie. Behavior Parameters : Striker, Goalie. - Striker Agent Reward Function (dependent): - +1 When ball enters opponent's goal. @@ -475,4 +475,4 @@ blocks require all 3 agents to push and are worth +3. - Actions: 1 discrete action branch with 7 actions, corresponding to turn clockwise and counterclockwise, move along four different face directions, or do nothing. - Float Properties: None -- Benchmark Mean Reward: 11 (Group Reward) \ No newline at end of file +- Benchmark Mean Reward: 11 (Group Reward)