diff --git a/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Crawler.prefab b/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Crawler.prefab index 918efbddad..ce6583ecd3 100644 --- a/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Crawler.prefab +++ b/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Crawler.prefab @@ -169,7 +169,7 @@ GameObject: - component: {fileID: 4845971000000621466} m_Layer: 0 m_Name: foreleg0 - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -423,7 +423,7 @@ GameObject: - component: {fileID: 4845971000245862062} m_Layer: 0 m_Name: foreleg3 - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -677,7 +677,7 @@ GameObject: - component: {fileID: 4845971000281612788} m_Layer: 0 m_Name: foreleg2 - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -932,7 +932,7 @@ GameObject: - component: {fileID: 4845971000566026491} m_Layer: 0 m_Name: leg2 - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -1434,7 +1434,7 @@ GameObject: - component: {fileID: 4845971000943818052} m_Layer: 0 m_Name: leg3 - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -1999,7 +1999,7 @@ GameObject: - component: {fileID: 4845971001325249075} m_Layer: 0 m_Name: leg1 - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -2177,7 +2177,7 @@ GameObject: - component: {fileID: 4845971001327158052} m_Layer: 0 m_Name: leg0 - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -2356,7 +2356,7 @@ GameObject: - component: {fileID: 4845971001588102144} m_Layer: 0 m_Name: Body - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -2489,7 +2489,7 @@ GameObject: - component: {fileID: 4845971001622533709} m_Layer: 0 m_Name: foreleg1 - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -2784,10 +2784,10 @@ MonoBehaviour: VectorActionSize: 14000000 VectorActionDescriptions: [] VectorActionSpaceType: 1 - m_Model: {fileID: 11400000, guid: 9049db2514a454914be8f5e5d3508ffe, type: 3} + m_Model: {fileID: 11400000, guid: c6509001ba679447fba27f894761c3ba, type: 3} m_InferenceDevice: 0 m_BehaviorType: 0 - m_BehaviorName: CrawlerDynamic + m_BehaviorName: CrawlerStatic TeamId: 0 m_UseChildSensors: 1 m_ObservableAttributeHandling: 0 @@ -2809,10 +2809,6 @@ MonoBehaviour: MaxStep: 5000 maximumWalkingSpeed: 999 target: {fileID: 0} - targetSpawnRadius: 40 - detectTargets: 1 - respawnTargetWhenTouched: 1 - ground: {fileID: 0} body: {fileID: 4845971001588102148} leg0Upper: {fileID: 4845971001327157979} leg0Lower: {fileID: 4845971000000621467} @@ -2822,17 +2818,17 @@ MonoBehaviour: leg2Lower: {fileID: 4845971000281612789} leg3Upper: {fileID: 4845971000943818107} leg3Lower: {fileID: 4845971000245862063} - orientationCube: {fileID: 2270141184585723037} + orientationCube: {fileID: 4462656217269709630} rewardMovingTowardsTarget: 1 rewardFacingTarget: 1 rewardUseTimePenalty: 0 useFootGroundedVisualization: 0 - foot0: {fileID: 0} - foot1: {fileID: 0} - foot2: {fileID: 0} - foot3: {fileID: 0} - groundedMaterial: {fileID: 0} - unGroundedMaterial: {fileID: 0} + foot0: {fileID: 4845971001702882992} + foot1: {fileID: 4845970999844939483} + foot2: {fileID: 4845970999929964134} + foot3: {fileID: 4845971001308907666} + groundedMaterial: {fileID: 2100000, guid: c67450f290f3e4897bc40276a619e78d, type: 2} + unGroundedMaterial: {fileID: 2100000, guid: eaad04b0e0dec42229c9cb00a981d7ac, type: 2} --- !u!114 &4845971001715176662 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2960,11 +2956,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 4845971001715176651} m_Modifications: - - target: {fileID: 2591864625898824423, guid: 72f745913c5a34df5aaadd5c1f0024cb, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, type: 3} propertyPath: m_LocalPosition.x @@ -3027,18 +3018,24 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 72f745913c5a34df5aaadd5c1f0024cb, type: 3} ---- !u!1 &2270141184585723037 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2591864627249999519, guid: 72f745913c5a34df5aaadd5c1f0024cb, - type: 3} - m_PrefabInstance: {fileID: 4357529801223143938} - m_PrefabAsset: {fileID: 0} --- !u!4 &2270141184585723026 stripped Transform: m_CorrespondingSourceObject: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, type: 3} m_PrefabInstance: {fileID: 4357529801223143938} m_PrefabAsset: {fileID: 0} +--- !u!114 &4462656217269709630 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 114705911240010044, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + m_PrefabInstance: {fileID: 4357529801223143938} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 771e78c5e980e440e8cd19716b55075f, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &8385811723256971493 PrefabInstance: m_ObjectHideFlags: 0 @@ -3069,7 +3066,7 @@ PrefabInstance: - target: {fileID: 6084207059270429360, guid: e568400ebedb3474fac505995f12ed4a, type: 3} propertyPath: m_LocalPosition.y - value: -1.5078 + value: -1.996 objectReference: {fileID: 0} - target: {fileID: 6084207059270429360, guid: e568400ebedb3474fac505995f12ed4a, type: 3} diff --git a/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/DynamicPlatform.prefab b/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/DynamicPlatform.prefab index 44493604a9..f1fe67d920 100644 --- a/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/DynamicPlatform.prefab +++ b/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/DynamicPlatform.prefab @@ -30,7 +30,7 @@ Transform: - {fileID: 6810593986226363672} - {fileID: 8951412967461282419} - {fileID: 6810815557394078638} - - {fileID: 6817236684048233896} + - {fileID: 7802320107249901494} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -216,75 +216,6 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &6814123289269777284 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6817298226888617532} - - component: {fileID: 6851853045169865310} - m_Layer: 0 - m_Name: Point Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &6817298226888617532 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6814123289269777284} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 6817236684048233896} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!108 &6851853045169865310 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6814123289269777284} - m_Enabled: 1 - serializedVersion: 8 - m_Type: 2 - m_Color: {r: 1, g: 0.85834146, b: 0.472, a: 1} - m_Intensity: 1 - m_Range: 15 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_ShadowRadius: 0 - m_ShadowAngle: 0 --- !u!1 &6814139680395863842 GameObject: m_ObjectHideFlags: 0 @@ -376,115 +307,6 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &6814157246584779846 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6817236684048233896} - - component: {fileID: 6837572177240906570} - - component: {fileID: 6805840284374846290} - - component: {fileID: 6827732506104714502} - - component: {fileID: 6797943023466929340} - m_Layer: 0 - m_Name: Target - m_TagString: target - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6817236684048233896 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6814157246584779846} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 6.2, y: 1.15, z: 3.824} - m_LocalScale: {x: 1.2356956, y: 1.2356961, z: 1.2356961} - m_Children: - - {fileID: 6817298226888617532} - m_Father: {fileID: 6810587057221831324} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6837572177240906570 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6814157246584779846} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!65 &6805840284374846290 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6814157246584779846} - 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} ---- !u!23 &6827732506104714502 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6814157246584779846} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: c67450f290f3e4897bc40276a619e78d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 1 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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!54 &6797943023466929340 -Rigidbody: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6814157246584779846} - serializedVersion: 2 - m_Mass: 5 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 --- !u!1 &6814265275650057734 GameObject: m_ObjectHideFlags: 0 @@ -708,27 +530,102 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 6810587057221831324} m_Modifications: + - target: {fileID: 2310084103354264149, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_LocalPosition.y + value: -1.49 + objectReference: {fileID: 0} - target: {fileID: 2864902974773876700, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: targetToLookAt value: - objectReference: {fileID: 6817236684048233896} + objectReference: {fileID: 7802320107249901494} + - target: {fileID: 4845971000000621469, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.000000014901161 + objectReference: {fileID: 0} + - target: {fileID: 4845971000000621469, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000007 + objectReference: {fileID: 0} + - target: {fileID: 4845971000245862049, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.000000044703484 + objectReference: {fileID: 0} + - target: {fileID: 4845971000245862049, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.32999957 + objectReference: {fileID: 0} + - target: {fileID: 4845971000281612791, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.000000014901161 + objectReference: {fileID: 0} + - target: {fileID: 4845971000281612791, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000052 + objectReference: {fileID: 0} + - target: {fileID: 4845971000566026490, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.28284273 + objectReference: {fileID: 0} + - target: {fileID: 4845971000943818055, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.28284281 + objectReference: {fileID: 0} + - target: {fileID: 4845971001325249074, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.28284281 + objectReference: {fileID: 0} + - target: {fileID: 4845971001327158055, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.28284273 + objectReference: {fileID: 0} + - target: {fileID: 4845971001622533708, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.000000029802322 + objectReference: {fileID: 0} + - target: {fileID: 4845971001622533708, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000004 + objectReference: {fileID: 0} - target: {fileID: 4845971001715176648, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: m_Model value: - objectReference: {fileID: 11400000, guid: 87bf6e217025144c2a0168ee4bd2466d, + objectReference: {fileID: 11400000, guid: 7040ebdb10cab44a7b516d0933dcd0d2, + type: 3} + - target: {fileID: 4845971001715176648, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} + propertyPath: m_BehaviorName + value: CrawlerDynamic + objectReference: {fileID: 0} - target: {fileID: 4845971001715176649, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: target value: - objectReference: {fileID: 6817236684048233896} + objectReference: {fileID: 7738248088303878723} - target: {fileID: 4845971001715176649, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: ground value: objectReference: {fileID: 6810815557394078638} + - target: {fileID: 4845971001715176649, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + propertyPath: orientationCube + value: + objectReference: {fileID: 186649206436789638} - target: {fileID: 4845971001715176651, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: m_LocalPosition.x @@ -794,7 +691,8 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} - m_RemovedComponents: [] + m_RemovedComponents: + - {fileID: 7147393771121027373, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} --- !u!4 &8951412967461282419 stripped Transform: @@ -802,3 +700,124 @@ Transform: type: 3} m_PrefabInstance: {fileID: 4573852208357529272} m_PrefabAsset: {fileID: 0} +--- !u!114 &8951412967461282417 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4845971001715176649, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + m_PrefabInstance: {fileID: 4573852208357529272} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f37c30a5e8d04117947188818902ef3, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &186649206436789638 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4462656217269709630, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + m_PrefabInstance: {fileID: 4573852208357529272} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 771e78c5e980e440e8cd19716b55075f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &6413179990576818696 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 6810587057221831324} + m_Modifications: + - target: {fileID: 3631016866778687563, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 8951412967461282417} + - target: {fileID: 3631016866778687563, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: TouchedTarget + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_LocalPosition.y + value: 1.5 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_LocalPosition.z + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3840539935788495952, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + propertyPath: m_Name + value: DynamicTarget + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} +--- !u!4 &7802320107249901494 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + m_PrefabInstance: {fileID: 6413179990576818696} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7738248088303878723 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3631016866778687563, guid: 46734abd0de454192b407379c6a4ab8d, + type: 3} + m_PrefabInstance: {fileID: 6413179990576818696} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3c8f113a8b8d94967b1b1782c549be81, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/FixedPlatform.prefab b/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/FixedPlatform.prefab index 501be20f80..fb182341b2 100644 --- a/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/FixedPlatform.prefab +++ b/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/FixedPlatform.prefab @@ -29,101 +29,10 @@ Transform: m_Children: - {fileID: 3386028169429758297} - {fileID: 4924174722017668} - - {fileID: 4749909135913778} + - {fileID: 2673081981996998229} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1379819145489036 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4749909135913778} - - component: {fileID: 33357510309310810} - - component: {fileID: 65988756214975206} - - component: {fileID: 23273142761279318} - m_Layer: 0 - m_Name: Target - m_TagString: target - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4749909135913778 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1379819145489036} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 975, y: 4, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4309919623019186} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &33357510309310810 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1379819145489036} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!65 &65988756214975206 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1379819145489036} - 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} ---- !u!23 &23273142761279318 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1379819145489036} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: c67450f290f3e4897bc40276a619e78d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 1 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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!1 &1846708386698568 GameObject: m_ObjectHideFlags: 0 @@ -339,38 +248,150 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 14 m_Mesh: {fileID: 4300002, guid: 5b535e54498332546a40dec193a2a56a, type: 3} ---- !u!1001 &7907703421359097234 +--- !u!1001 &1179916799623326699 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: m_TransformParent: {fileID: 4309919623019186} m_Modifications: - - target: {fileID: 1141786540848836948, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} - propertyPath: m_RootOrder + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_CallState value: 2 objectReference: {fileID: 0} - - target: {fileID: 2270141184585723026, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 3386028169429758299} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: TouchedTarget + objectReference: {fileID: 0} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalPosition.x + value: 975 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalPosition.y + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_RootOrder value: 2 objectReference: {fileID: 0} - - target: {fileID: 2310084103354264149, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} - propertyPath: m_RootOrder + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalScale.x value: 1 objectReference: {fileID: 0} - - target: {fileID: 2310084103354264149, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} - propertyPath: m_LocalPosition.y - value: -1.996 + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalScale.z + value: 1 objectReference: {fileID: 0} + - target: {fileID: 3840539935788495952, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_Name + value: StaticTarget + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} +--- !u!4 &2673081981996998229 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + m_PrefabInstance: {fileID: 1179916799623326699} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2466880273407263648 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + m_PrefabInstance: {fileID: 1179916799623326699} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3c8f113a8b8d94967b1b1782c549be81, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &7907703421359097234 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 4309919623019186} + m_Modifications: - target: {fileID: 2864902974773876700, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: targetToLookAt value: - objectReference: {fileID: 4749909135913778} + objectReference: {fileID: 2673081981996998229} - target: {fileID: 4845971000000621469, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: m_ConnectedAnchor.x @@ -401,41 +422,21 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.y value: 0.3300071 objectReference: {fileID: 0} - - target: {fileID: 4845971000566026490, guid: 0456c89e8c9c243d595b039fe7aa0bf9, - type: 3} - propertyPath: m_ConnectedAnchor.z - value: 0.28284284 - objectReference: {fileID: 0} - target: {fileID: 4845971000566026490, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: m_ConnectedAnchor.x value: -0.2828369 objectReference: {fileID: 0} - - target: {fileID: 4845971000943818055, guid: 0456c89e8c9c243d595b039fe7aa0bf9, - type: 3} - propertyPath: m_ConnectedAnchor.z - value: 0.2828427 - objectReference: {fileID: 0} - target: {fileID: 4845971000943818055, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: m_ConnectedAnchor.x value: 0.2828369 objectReference: {fileID: 0} - - target: {fileID: 4845971001325249074, guid: 0456c89e8c9c243d595b039fe7aa0bf9, - type: 3} - propertyPath: m_ConnectedAnchor.z - value: -0.2828427 - objectReference: {fileID: 0} - target: {fileID: 4845971001325249074, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: m_ConnectedAnchor.x value: -0.2828369 objectReference: {fileID: 0} - - target: {fileID: 4845971001327158055, guid: 0456c89e8c9c243d595b039fe7aa0bf9, - type: 3} - propertyPath: m_ConnectedAnchor.z - value: -0.28284284 - objectReference: {fileID: 0} - target: {fileID: 4845971001327158055, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: m_ConnectedAnchor.x @@ -451,37 +452,17 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.y value: 0.33000672 objectReference: {fileID: 0} - - target: {fileID: 4845971001715176648, guid: 0456c89e8c9c243d595b039fe7aa0bf9, - type: 3} - propertyPath: m_BehaviorName - value: CrawlerStatic - objectReference: {fileID: 0} - target: {fileID: 4845971001715176648, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: m_Model value: - objectReference: {fileID: 11400000, guid: c6509001ba679447fba27f894761c3ba, + objectReference: {fileID: 11400000, guid: ff52bf4e5f6124657b7139e8dfe730e7, type: 3} - target: {fileID: 4845971001715176649, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: target value: - objectReference: {fileID: 4749909135913778} - - target: {fileID: 4845971001715176649, guid: 0456c89e8c9c243d595b039fe7aa0bf9, - type: 3} - propertyPath: ground - value: - objectReference: {fileID: 4856650706546504} - - target: {fileID: 4845971001715176649, guid: 0456c89e8c9c243d595b039fe7aa0bf9, - type: 3} - propertyPath: respawnTargetWhenTouched - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4845971001715176649, guid: 0456c89e8c9c243d595b039fe7aa0bf9, - type: 3} - propertyPath: targetIsStatic - value: 1 - objectReference: {fileID: 0} + objectReference: {fileID: 2466880273407263648} - target: {fileID: 4845971001715176651, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} propertyPath: m_LocalPosition.x @@ -542,11 +523,6 @@ PrefabInstance: propertyPath: m_Name value: Crawler objectReference: {fileID: 0} - - target: {fileID: 8742078559849259273, guid: 0456c89e8c9c243d595b039fe7aa0bf9, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 0456c89e8c9c243d595b039fe7aa0bf9, type: 3} --- !u!4 &3386028169429758297 stripped @@ -555,3 +531,15 @@ Transform: type: 3} m_PrefabInstance: {fileID: 7907703421359097234} m_PrefabAsset: {fileID: 0} +--- !u!114 &3386028169429758299 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4845971001715176649, guid: 0456c89e8c9c243d595b039fe7aa0bf9, + type: 3} + m_PrefabInstance: {fileID: 7907703421359097234} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f37c30a5e8d04117947188818902ef3, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerDynamicTarget.unity b/Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerDynamicTarget.unity index 01a3df5c7f..733eed9bb9 100644 --- a/Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerDynamicTarget.unity +++ b/Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerDynamicTarget.unity @@ -240,6 +240,11 @@ PrefabInstance: propertyPath: m_Name value: DynamicPlatform (6) objectReference: {fileID: 0} + - target: {fileID: 6813981368972186340, guid: 0058b366f9d6d44a3ba35beb06b0174b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 6815147845698256993, guid: 0058b366f9d6d44a3ba35beb06b0174b, type: 3} propertyPath: m_ConnectedAnchor.x @@ -550,6 +555,11 @@ PrefabInstance: propertyPath: m_Name value: DynamicPlatform (9) objectReference: {fileID: 0} + - target: {fileID: 6813981368972186340, guid: 0058b366f9d6d44a3ba35beb06b0174b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 6815147845698256993, guid: 0058b366f9d6d44a3ba35beb06b0174b, type: 3} propertyPath: m_ConnectedAnchor.x @@ -819,6 +829,11 @@ PrefabInstance: propertyPath: m_Name value: DynamicPlatform (4) objectReference: {fileID: 0} + - target: {fileID: 6813981368972186340, guid: 0058b366f9d6d44a3ba35beb06b0174b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 6815147845698256993, guid: 0058b366f9d6d44a3ba35beb06b0174b, type: 3} propertyPath: m_ConnectedAnchor.x @@ -1108,6 +1123,11 @@ PrefabInstance: propertyPath: m_Name value: DynamicPlatform (8) objectReference: {fileID: 0} + - target: {fileID: 6813981368972186340, guid: 0058b366f9d6d44a3ba35beb06b0174b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 6815147845698256993, guid: 0058b366f9d6d44a3ba35beb06b0174b, type: 3} propertyPath: m_ConnectedAnchor.x @@ -1403,6 +1423,11 @@ PrefabInstance: propertyPath: m_Name value: DynamicPlatform (3) objectReference: {fileID: 0} + - target: {fileID: 6813981368972186340, guid: 0058b366f9d6d44a3ba35beb06b0174b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 6815147845698256993, guid: 0058b366f9d6d44a3ba35beb06b0174b, type: 3} propertyPath: m_ConnectedAnchor.x @@ -1672,6 +1697,11 @@ PrefabInstance: propertyPath: m_Name value: DynamicPlatform (1) objectReference: {fileID: 0} + - target: {fileID: 6813981368972186340, guid: 0058b366f9d6d44a3ba35beb06b0174b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 6815147845698256993, guid: 0058b366f9d6d44a3ba35beb06b0174b, type: 3} propertyPath: m_ConnectedAnchor.x @@ -1961,6 +1991,11 @@ PrefabInstance: propertyPath: m_Name value: DynamicPlatform (7) objectReference: {fileID: 0} + - target: {fileID: 6813981368972186340, guid: 0058b366f9d6d44a3ba35beb06b0174b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 6815147845698256993, guid: 0058b366f9d6d44a3ba35beb06b0174b, type: 3} propertyPath: m_ConnectedAnchor.x @@ -2270,6 +2305,11 @@ PrefabInstance: propertyPath: m_Name value: DynamicPlatform (5) objectReference: {fileID: 0} + - target: {fileID: 6813981368972186340, guid: 0058b366f9d6d44a3ba35beb06b0174b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 6815147845698256993, guid: 0058b366f9d6d44a3ba35beb06b0174b, type: 3} propertyPath: m_ConnectedAnchor.x @@ -2845,6 +2885,11 @@ PrefabInstance: propertyPath: m_Name value: DynamicPlatform (2) objectReference: {fileID: 0} + - target: {fileID: 6813981368972186340, guid: 0058b366f9d6d44a3ba35beb06b0174b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 6815147845698256993, guid: 0058b366f9d6d44a3ba35beb06b0174b, type: 3} propertyPath: m_ConnectedAnchor.x diff --git a/Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerStaticTarget.unity b/Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerStaticTarget.unity index c7cf0b2d73..c088f15729 100644 --- a/Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerStaticTarget.unity +++ b/Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerStaticTarget.unity @@ -124,6 +124,10 @@ PrefabInstance: propertyPath: m_Name value: FixedPlatform (1) objectReference: {fileID: 0} + - target: {fileID: 1306438584782738, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4309919623019186, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_LocalPosition.x value: 200 @@ -236,21 +240,41 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.z value: 0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169665032405, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: -0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: -0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: 0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.x @@ -281,6 +305,11 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.y value: 0.33000547 objectReference: {fileID: 0} + - target: {fileID: 8231708464545277303, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} --- !u!1001 &258681675 @@ -294,6 +323,10 @@ PrefabInstance: propertyPath: m_Name value: FixedPlatform (6) objectReference: {fileID: 0} + - target: {fileID: 1306438584782738, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4309919623019186, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_LocalPosition.x value: 200 @@ -446,21 +479,41 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.z value: 0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169665032405, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: -0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: -0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: 0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.x @@ -504,6 +557,10 @@ PrefabInstance: propertyPath: m_Name value: FixedPlatform (9) objectReference: {fileID: 0} + - target: {fileID: 1306438584782738, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4309919623019186, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_LocalPosition.x value: 200 @@ -576,6 +633,66 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.y value: -0.14285131 objectReference: {fileID: 0} + - target: {fileID: 3386028169001571294, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.0000066310167 + objectReference: {fileID: 0} + - target: {fileID: 3386028169001571294, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000672 + objectReference: {fileID: 0} + - target: {fileID: 3386028169665032405, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.0000067949295 + objectReference: {fileID: 0} + - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000684 + objectReference: {fileID: 0} + - target: {fileID: 3386028170881877093, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.000006571412 + objectReference: {fileID: 0} + - target: {fileID: 3386028170881877093, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.3300071 + objectReference: {fileID: 0} + - target: {fileID: 3386028170904845107, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.0000069588423 + objectReference: {fileID: 0} + - target: {fileID: 3386028170904845107, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000648 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} --- !u!1001 &471764575 @@ -630,6 +747,10 @@ PrefabInstance: propertyPath: m_Name value: FixedPlatform (7) objectReference: {fileID: 0} + - target: {fileID: 1306438584782738, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4309919623019186, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_LocalPosition.x value: 200 @@ -702,6 +823,66 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.y value: -0.14285131 objectReference: {fileID: 0} + - target: {fileID: 3386028169001571294, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.0000066310167 + objectReference: {fileID: 0} + - target: {fileID: 3386028169001571294, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000672 + objectReference: {fileID: 0} + - target: {fileID: 3386028169665032405, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.0000067949295 + objectReference: {fileID: 0} + - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000684 + objectReference: {fileID: 0} + - target: {fileID: 3386028170881877093, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.000006571412 + objectReference: {fileID: 0} + - target: {fileID: 3386028170881877093, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.3300071 + objectReference: {fileID: 0} + - target: {fileID: 3386028170904845107, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.0000069588423 + objectReference: {fileID: 0} + - target: {fileID: 3386028170904845107, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000648 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} --- !u!1001 &586831923 @@ -772,6 +953,10 @@ PrefabInstance: propertyPath: m_Name value: FixedPlatform (3) objectReference: {fileID: 0} + - target: {fileID: 1306438584782738, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4309919623019186, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_LocalPosition.x value: 200 @@ -844,6 +1029,66 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.y value: -0.14285858 objectReference: {fileID: 0} + - target: {fileID: 3386028169001571294, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.0000066310167 + objectReference: {fileID: 0} + - target: {fileID: 3386028169001571294, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000672 + objectReference: {fileID: 0} + - target: {fileID: 3386028169665032405, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.0000067949295 + objectReference: {fileID: 0} + - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000684 + objectReference: {fileID: 0} + - target: {fileID: 3386028170881877093, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.000006571412 + objectReference: {fileID: 0} + - target: {fileID: 3386028170881877093, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.3300071 + objectReference: {fileID: 0} + - target: {fileID: 3386028170904845107, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.0000069588423 + objectReference: {fileID: 0} + - target: {fileID: 3386028170904845107, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000648 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} --- !u!1 &1392866527 @@ -1067,6 +1312,10 @@ PrefabInstance: propertyPath: m_Name value: FixedPlatform (8) objectReference: {fileID: 0} + - target: {fileID: 1306438584782738, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4309919623019186, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_LocalPosition.x value: 200 @@ -1219,21 +1468,41 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.z value: 0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169665032405, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: -0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: -0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: 0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.x @@ -1277,6 +1546,10 @@ PrefabInstance: propertyPath: m_Name value: FixedPlatform (5) objectReference: {fileID: 0} + - target: {fileID: 1306438584782738, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4309919623019186, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_LocalPosition.x value: 200 @@ -1349,6 +1622,66 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.y value: -0.14285858 objectReference: {fileID: 0} + - target: {fileID: 3386028169001571294, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.0000066310167 + objectReference: {fileID: 0} + - target: {fileID: 3386028169001571294, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000672 + objectReference: {fileID: 0} + - target: {fileID: 3386028169665032405, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} + - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.0000067949295 + objectReference: {fileID: 0} + - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000684 + objectReference: {fileID: 0} + - target: {fileID: 3386028170881877093, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.000006571412 + objectReference: {fileID: 0} + - target: {fileID: 3386028170881877093, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.3300071 + objectReference: {fileID: 0} + - target: {fileID: 3386028170904845107, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.0000069588423 + objectReference: {fileID: 0} + - target: {fileID: 3386028170904845107, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.33000648 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} --- !u!1001 &2071138685 @@ -1362,6 +1695,10 @@ PrefabInstance: propertyPath: m_Name value: FixedPlatform (4) objectReference: {fileID: 0} + - target: {fileID: 1306438584782738, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4309919623019186, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_LocalPosition.x value: 200 @@ -1514,21 +1851,41 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.z value: 0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169665032405, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: -0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: -0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: 0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.x @@ -1621,6 +1978,10 @@ PrefabInstance: propertyPath: m_Name value: FixedPlatform (2) objectReference: {fileID: 0} + - target: {fileID: 1306438584782738, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4309919623019186, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_LocalPosition.x value: 200 @@ -1773,21 +2134,41 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.z value: 0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169665032405, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: -0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169836750752, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: -0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028169838659253, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.z value: 0.28284454 objectReference: {fileID: 0} + - target: {fileID: 3386028170461648232, guid: 1b9d167a4e71146a883212e4f08bda88, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.2828369 + objectReference: {fileID: 0} - target: {fileID: 3386028170626051599, guid: 1b9d167a4e71146a883212e4f08bda88, type: 3} propertyPath: m_ConnectedAnchor.x diff --git a/Project/Assets/ML-Agents/Examples/Crawler/Scripts/CrawlerAgent.cs b/Project/Assets/ML-Agents/Examples/Crawler/Scripts/CrawlerAgent.cs index 087f9aff55..c77db9a0df 100644 --- a/Project/Assets/ML-Agents/Examples/Crawler/Scripts/CrawlerAgent.cs +++ b/Project/Assets/ML-Agents/Examples/Crawler/Scripts/CrawlerAgent.cs @@ -11,13 +11,7 @@ public class CrawlerAgent : Agent Quaternion m_WalkDirLookRot; //Will hold the rotation to our target [Header("Target To Walk Towards")] [Space(10)] - public Transform target; //Target the agent will walk towards. - - public float targetSpawnRadius; //The radius in which a target can be randomly spawned. - public bool detectTargets; //Should this agent detect targets - public bool respawnTargetWhenTouched; //Should the target respawn to a different position when touched - - public Transform ground; //Ground gameobject. The height will be used for target spawning + public TargetController target; //Target the agent will walk towards. [Header("Body Parts")] [Space(10)] public Transform body; public Transform leg0Upper; @@ -31,9 +25,9 @@ public class CrawlerAgent : Agent [Header("Orientation")] [Space(10)] - //This will be used as a stable reference point for observations - //Because ragdolls can move erratically, using a standalone reference point can significantly improve learning - public GameObject orientationCube; + //This will be used as a stabilized model space reference point for observations + //Because ragdolls can move erratically during training, using a stabilized reference transform improves learning + public OrientationCubeController orientationCube; JointDriveController m_JdController; @@ -55,7 +49,7 @@ public class CrawlerAgent : Agent public override void Initialize() { - UpdateOrientationCube(); + orientationCube.UpdateOrientation(body, target.transform); m_JdController = GetComponent(); @@ -71,12 +65,29 @@ public override void Initialize() m_JdController.SetupBodyPart(leg3Lower); } + /// + /// Loop over body parts and reset them to initial conditions. + /// + public override void OnEpisodeBegin() + { + foreach (var bodyPart in m_JdController.bodyPartsDict.Values) + { + bodyPart.Reset(bodyPart); + } + + //Random start rotation to help generalize + transform.rotation = Quaternion.Euler(0, Random.Range(0.0f, 360.0f), 0); + + orientationCube.UpdateOrientation(body, target.transform); + } + /// /// Add relevant information on each body part to observations. /// public void CollectObservationBodyPart(BodyPart bp, VectorSensor sensor) { - sensor.AddObservation(bp.groundContact.touchingGround ? 1 : 0); // Whether the bp touching the ground + //GROUND CHECK + sensor.AddObservation(bp.groundContact.touchingGround); // Is this bp touching the ground //Get velocities in the context of our orientation cube's space //Note: You can get these velocities in world space as well but it may not train as well. @@ -98,10 +109,11 @@ public void CollectObservationBodyPart(BodyPart bp, VectorSensor sensor) /// public override void CollectObservations(VectorSensor sensor) { + //Add body rotation delta relative to orientation cube sensor.AddObservation(Quaternion.FromToRotation(body.forward, orientationCube.transform.forward)); - + //Add pos of target relative to orientation cube - sensor.AddObservation(orientationCube.transform.InverseTransformPoint(target.position)); + sensor.AddObservation(orientationCube.transform.InverseTransformPoint(target.transform.position)); RaycastHit hit; float maxRaycastDist = 10; @@ -124,20 +136,6 @@ public override void CollectObservations(VectorSensor sensor) public void TouchedTarget() { AddReward(1f); - if (respawnTargetWhenTouched) - { - GetRandomTargetPos(); - } - } - - /// - /// Moves target to a random position within specified radius. - /// - public void GetRandomTargetPos() - { - var newTargetPos = Random.insideUnitSphere * targetSpawnRadius; - newTargetPos.y = 5; - target.position = newTargetPos + ground.position; } public override void OnActionReceived(float[] vectorAction) @@ -167,32 +165,9 @@ public override void OnActionReceived(float[] vectorAction) bpDict[leg3Lower].SetJointStrength(vectorAction[++i]); } - void UpdateOrientationCube() - { - //FACING DIR - m_WalkDir = target.position - orientationCube.transform.position; - m_WalkDir.y = 0; //flatten dir on the y - m_WalkDirLookRot = Quaternion.LookRotation(m_WalkDir); //get our look rot to the target - - //UPDATE ORIENTATION CUBE POS & ROT - orientationCube.transform.position = body.position; - orientationCube.transform.rotation = m_WalkDirLookRot; - } - void FixedUpdate() { - if (detectTargets) - { - foreach (var bodyPart in m_JdController.bodyPartsList) - { - if (bodyPart.targetContact && bodyPart.targetContact.touchingTarget) - { - TouchedTarget(); - } - } - } - - UpdateOrientationCube(); + orientationCube.UpdateOrientation(body, target.transform); // If enabled the feet will light up green when the foot is grounded. // This is just a visualization and isn't necessary for function @@ -255,36 +230,4 @@ void RewardFunctionTimePenalty() { AddReward(-0.001f); } - - /// - /// Loop over body parts and reset them to initial conditions. - /// - public override void OnEpisodeBegin() - { - foreach (var bodyPart in m_JdController.bodyPartsDict.Values) - { - bodyPart.Reset(bodyPart); - } - - //Random start rotation to help generalize - transform.rotation = Quaternion.Euler(0, Random.Range(0.0f, 360.0f), 0); - - UpdateOrientationCube(); - - if (detectTargets && respawnTargetWhenTouched) - { - GetRandomTargetPos(); - } - } - - private void OnDrawGizmosSelected() - { - if (Application.isPlaying) - { - Gizmos.color = Color.green; - Gizmos.matrix = orientationCube.transform.localToWorldMatrix; - Gizmos.DrawWireCube(Vector3.zero, orientationCube.transform.localScale); - Gizmos.DrawRay(Vector3.zero, Vector3.forward); - } - } } diff --git a/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamic.nn b/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamic.nn index 60bf3c5fdf..9413f25653 100644 Binary files a/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamic.nn and b/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamic.nn differ diff --git a/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamic.nn.meta b/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamic.nn.meta index 214ba772fa..2bfd1d1f09 100644 --- a/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamic.nn.meta +++ b/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamic.nn.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 87bf6e217025144c2a0168ee4bd2466d +guid: 7040ebdb10cab44a7b516d0933dcd0d2 ScriptedImporter: fileIDToRecycleName: 11400000: main obj diff --git a/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStatic.nn b/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStatic.nn index 9a0daa88e8..70fac39c0c 100644 Binary files a/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStatic.nn and b/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStatic.nn differ diff --git a/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStatic.nn.meta b/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStatic.nn.meta index 12db72d289..fa72f2b3cd 100644 --- a/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStatic.nn.meta +++ b/Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStatic.nn.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c6509001ba679447fba27f894761c3ba +guid: ff52bf4e5f6124657b7139e8dfe730e7 ScriptedImporter: fileIDToRecycleName: 11400000: main obj diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Materials/Outline.mat b/Project/Assets/ML-Agents/Examples/SharedAssets/Materials/Outline.mat index d684cfd3c4..d7df39c329 100644 --- a/Project/Assets/ML-Agents/Examples/SharedAssets/Materials/Outline.mat +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Materials/Outline.mat @@ -4,8 +4,9 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: Outline m_Shader: {fileID: 4800000, guid: 5dfe02aa25125453eaaaa295936dc8cd, type: 3} m_ShaderKeywords: diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Materials/UIDefault.mat b/Project/Assets/ML-Agents/Examples/SharedAssets/Materials/UIDefault.mat index 19c4b4ec43..0fe5ed4584 100644 --- a/Project/Assets/ML-Agents/Examples/SharedAssets/Materials/UIDefault.mat +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Materials/UIDefault.mat @@ -4,8 +4,9 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: UIDefault m_Shader: {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} m_ShaderKeywords: ETC1_EXTERNAL_ALPHA diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/DynamicTarget.prefab b/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/DynamicTarget.prefab new file mode 100644 index 0000000000..c8981bb69f --- /dev/null +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/DynamicTarget.prefab @@ -0,0 +1,159 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3840539935788495952 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3839136118347789758} + - component: {fileID: 3836793085241645916} + - component: {fileID: 3868551391811062596} + - component: {fileID: 3826955612593018128} + - component: {fileID: 3858402326794362026} + - component: {fileID: 3631016866778687563} + m_Layer: 0 + m_Name: DynamicTarget + m_TagString: target + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3839136118347789758 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 1, z: 1} + m_LocalScale: {x: 1.2356956, y: 1.2356961, z: 1.2356961} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3836793085241645916 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!65 &3868551391811062596 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + 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} +--- !u!23 &3826955612593018128 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c67450f290f3e4897bc40276a619e78d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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!54 &3858402326794362026 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &3631016866778687563 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3c8f113a8b8d94967b1b1782c549be81, type: 3} + m_Name: + m_EditorClassIdentifier: + tagToDetect: agent + spawnRadius: 40 + respawnIfTouched: 1 + respawnIfFallsOffPlatform: 1 + fallDistance: 5 + triggerIsTouching: 0 + onTriggerEnterEvent: + m_PersistentCalls: + m_Calls: [] + onTriggerStayEvent: + m_PersistentCalls: + m_Calls: [] + onTriggerExitEvent: + m_PersistentCalls: + m_Calls: [] + colliderIsTouching: 0 + onCollisionEnterEvent: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: TouchedTarget + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + onCollisionStayEvent: + m_PersistentCalls: + m_Calls: [] + onCollisionExitEvent: + m_PersistentCalls: + m_Calls: [] diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/DynamicTarget.prefab.meta b/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/DynamicTarget.prefab.meta new file mode 100644 index 0000000000..b6598013d3 --- /dev/null +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/DynamicTarget.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 46734abd0de454192b407379c6a4ab8d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/OrientationCube.prefab b/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/OrientationCube.prefab index 7074cbfbec..3fae12c028 100644 --- a/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/OrientationCube.prefab +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/OrientationCube.prefab @@ -87,6 +87,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2591864627249999504} + - component: {fileID: 114705911240010044} m_Layer: 0 m_Name: OrientationCube m_TagString: Untagged @@ -102,13 +103,25 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2591864627249999519} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -498.349, y: -0.45, z: -250.09256} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 2591864625898824440} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114705911240010044 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2591864627249999519} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 771e78c5e980e440e8cd19716b55075f, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &2591864627374185740 GameObject: m_ObjectHideFlags: 0 diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/StaticTarget.prefab b/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/StaticTarget.prefab new file mode 100644 index 0000000000..3b4c45f081 --- /dev/null +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/StaticTarget.prefab @@ -0,0 +1,149 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3840539935788495952 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3839136118347789758} + - component: {fileID: 3836793085241645916} + - component: {fileID: 3868551391811062596} + - component: {fileID: 3826955612593018128} + - component: {fileID: 3858402326794362026} + - component: {fileID: 3631016866778687563} + m_Layer: 0 + m_Name: StaticTarget + m_TagString: target + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3839136118347789758 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 6.2, y: 1.15, z: 3.824} + m_LocalScale: {x: 1.2356956, y: 1.2356961, z: 1.2356961} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3836793085241645916 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!65 &3868551391811062596 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + 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} +--- !u!23 &3826955612593018128 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c67450f290f3e4897bc40276a619e78d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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!54 &3858402326794362026 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + serializedVersion: 2 + m_Mass: 5 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &3631016866778687563 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3840539935788495952} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3c8f113a8b8d94967b1b1782c549be81, type: 3} + m_Name: + m_EditorClassIdentifier: + tagToDetect: agent + moveTargetToRandomPosIfTouched: 0 + targetSpawnRadius: 0 + onTrtesiggerEnterEvent: + m_PersistentCalls: + m_Calls: [] + triggerIsTouching: 0 + onTriggerEnterEvent: + m_PersistentCalls: + m_Calls: [] + onTriggerStayEvent: + m_PersistentCalls: + m_Calls: [] + onTriggerExitEvent: + m_PersistentCalls: + m_Calls: [] + colliderIsTouching: 0 + onCollisionEnterEvent: + m_PersistentCalls: + m_Calls: [] + onCollisionStayEvent: + m_PersistentCalls: + m_Calls: [] + onCollisionExitEvent: + m_PersistentCalls: + m_Calls: [] diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/StaticTarget.prefab.meta b/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/StaticTarget.prefab.meta new file mode 100644 index 0000000000..50c13fef2e --- /dev/null +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/StaticTarget.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/JointDriveController.cs b/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/JointDriveController.cs index d981a0c48a..a8ad2e7f80 100644 --- a/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/JointDriveController.cs +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/JointDriveController.cs @@ -137,13 +137,6 @@ public void SetupBodyPart(Transform t) bp.groundContact.agent = gameObject.GetComponent(); } - // Add & setup the target contact script - bp.targetContact = t.GetComponent(); - if (!bp.targetContact) - { - bp.targetContact = t.gameObject.AddComponent(); - } - bp.thisJdController = this; bodyPartsDict.Add(t, bp); bodyPartsList.Add(bp); diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/OrientationCubeController.cs b/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/OrientationCubeController.cs new file mode 100644 index 0000000000..62a97d2484 --- /dev/null +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/OrientationCubeController.cs @@ -0,0 +1,24 @@ +using UnityEngine; + +namespace Unity.MLAgentsExamples +{ + /// + /// Utility class to allow a stable observation platform. + /// + public class OrientationCubeController : MonoBehaviour + { + //Update position and Rotation + public void UpdateOrientation(Transform rootBP, Transform target) + { + var dirVector = target.position - transform.position; + dirVector.y = 0; //flatten dir on the y. this will only work on level, uneven surfaces + var lookRot = + dirVector == Vector3.zero + ? Quaternion.identity + : Quaternion.LookRotation(dirVector); //get our look rot to the target + + //UPDATE ORIENTATION CUBE POS & ROT + transform.SetPositionAndRotation(rootBP.position, lookRot); + } + } +} diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/OrientationCubeController.cs.meta b/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/OrientationCubeController.cs.meta new file mode 100644 index 0000000000..9fb2a07fac --- /dev/null +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/OrientationCubeController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 771e78c5e980e440e8cd19716b55075f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/TargetController.cs b/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/TargetController.cs new file mode 100644 index 0000000000..ccf98b1682 --- /dev/null +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/TargetController.cs @@ -0,0 +1,135 @@ +using UnityEngine; +using Random = UnityEngine.Random; +using Unity.MLAgents; +using UnityEngine.Events; + +namespace Unity.MLAgentsExamples +{ + /// + /// Utility class to allow target placement and collision detection with an agent + /// Add this script to the target you want the agent to touch. + /// Callbacks will be triggered any time the target is touched with a collider tagged as 'tagToDetect' + /// + public class TargetController : MonoBehaviour + { + + [Header("Collider Tag To Detect")] + public string tagToDetect = "agent"; //collider tag to detect + + [Header("Target Placement")] + public float spawnRadius; //The radius in which a target can be randomly spawned. + public bool respawnIfTouched; //Should the target respawn to a different position when touched + + [Header("Target Fell Protection")] + public bool respawnIfFallsOffPlatform = true; //If the target falls off the platform, reset the position. + public float fallDistance = 5; //distance below the starting height that will trigger a respawn + + + private Vector3 m_startingPos; //the starting position of the target + private Agent m_agentTouching; //the agent currently touching the target + + [System.Serializable] + public class TriggerEvent : UnityEvent + { + } + + [Header("Trigger Callbacks")] + public TriggerEvent onTriggerEnterEvent = new TriggerEvent(); + public TriggerEvent onTriggerStayEvent = new TriggerEvent(); + public TriggerEvent onTriggerExitEvent = new TriggerEvent(); + + [System.Serializable] + public class CollisionEvent : UnityEvent + { + } + + [Header("Collision Callbacks")] + public CollisionEvent onCollisionEnterEvent = new CollisionEvent(); + public CollisionEvent onCollisionStayEvent = new CollisionEvent(); + public CollisionEvent onCollisionExitEvent = new CollisionEvent(); + + // Start is called before the first frame update + void OnEnable() + { + m_startingPos = transform.position; + if (respawnIfTouched) + { + MoveTargetToRandomPosition(); + } + } + + void Update() + { + if (respawnIfFallsOffPlatform) + { + if (transform.position.y < m_startingPos.y - fallDistance) + { + Debug.Log($"{transform.name} Fell Off Platform"); + MoveTargetToRandomPosition(); + } + } + } + + /// + /// Moves target to a random position within specified radius. + /// + public void MoveTargetToRandomPosition() + { + var newTargetPos = m_startingPos + (Random.insideUnitSphere * spawnRadius); + newTargetPos.y = m_startingPos.y; + transform.position = newTargetPos; + } + + private void OnCollisionEnter(Collision col) + { + if (col.transform.CompareTag(tagToDetect)) + { + onCollisionEnterEvent.Invoke(col); + if (respawnIfTouched) + { + MoveTargetToRandomPosition(); + } + } + } + + private void OnCollisionStay(Collision col) + { + if (col.transform.CompareTag(tagToDetect)) + { + onCollisionStayEvent.Invoke(col); + } + } + + private void OnCollisionExit(Collision col) + { + if (col.transform.CompareTag(tagToDetect)) + { + onCollisionExitEvent.Invoke(col); + } + } + + private void OnTriggerEnter(Collider col) + { + if (col.CompareTag(tagToDetect)) + { + onTriggerEnterEvent.Invoke(col); + } + } + + private void OnTriggerStay(Collider col) + { + if (col.CompareTag(tagToDetect)) + { + onTriggerStayEvent.Invoke(col); + } + } + + private void OnTriggerExit(Collider col) + { + if (col.CompareTag(tagToDetect)) + { + onTriggerExitEvent.Invoke(col); + } + } + } +} diff --git a/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/TargetController.cs.meta b/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/TargetController.cs.meta new file mode 100644 index 0000000000..439d4c10ea --- /dev/null +++ b/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/TargetController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3c8f113a8b8d94967b1b1782c549be81 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project/Assets/ML-Agents/Examples/Walker/Prefabs/DynamicPlatformWalker.prefab b/Project/Assets/ML-Agents/Examples/Walker/Prefabs/DynamicPlatformWalker.prefab index 43b930c1a2..3840eafc9f 100644 --- a/Project/Assets/ML-Agents/Examples/Walker/Prefabs/DynamicPlatformWalker.prefab +++ b/Project/Assets/ML-Agents/Examples/Walker/Prefabs/DynamicPlatformWalker.prefab @@ -1,20 +1,5 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!114 &693499830 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 555702846} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1513f8a85fedd47efba089213b7c5bde, type: 3} - m_Name: - m_EditorClassIdentifier: - transformToFollow: {fileID: 6065910099080495282} - targetToLookAt: {fileID: 4714470935848893865} - heightOffset: 0 --- !u!1 &4711180330649187171 GameObject: m_ObjectHideFlags: 0 @@ -197,114 +182,6 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &4712494856961735751 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4714470935848893865} - - component: {fileID: 4689783609468392267} - - component: {fileID: 4721366003033637715} - - component: {fileID: 4699049336072019207} - - component: {fileID: 4729272029965882557} - m_Layer: 0 - m_Name: Target - m_TagString: target - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4714470935848893865 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4712494856961735751} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 6.2, y: 1.15, z: 3.824} - m_LocalScale: {x: 1.2356956, y: 1.2356961, z: 1.2356961} - m_Children: [] - m_Father: {fileID: 4715983678655513245} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4689783609468392267 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4712494856961735751} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!65 &4721366003033637715 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4712494856961735751} - 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} ---- !u!23 &4699049336072019207 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4712494856961735751} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: c67450f290f3e4897bc40276a619e78d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 1 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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!54 &4729272029965882557 -Rigidbody: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4712494856961735751} - serializedVersion: 2 - m_Mass: 5 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 --- !u!1 &4712512458067701539 GameObject: m_ObjectHideFlags: 0 @@ -646,196 +523,197 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 ---- !u!1001 &758428436173755182 +--- !u!1001 &6359877978260855390 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 6065910098925129092} + m_TransformParent: {fileID: 4715983678655513245} m_Modifications: - - target: {fileID: 2591864625898824423, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 693499830, guid: 765582efd9dda46ed98564603316353f, type: 3} + propertyPath: targetToLookAt + value: + objectReference: {fileID: 4714470935848893865} + - target: {fileID: 895268871377934275, guid: 765582efd9dda46ed98564603316353f, type: 3} - propertyPath: m_IsActive - value: 0 + propertyPath: m_Name + value: WalkerRagdoll objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 895268871377934297, guid: 765582efd9dda46ed98564603316353f, + type: 3} + propertyPath: m_Model + value: + objectReference: {fileID: 11400000, guid: e785133c5b0ac461588106642550d1b3, + type: 3} + - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_LocalPosition.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_LocalPosition.y - value: 0 + value: 3.07 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: 0.7071068 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_LocalRotation.w - value: 1 + value: 0.7071068 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_RootOrder - value: 2 + value: 3 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 0 + value: 90 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999519, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 7408209125961349353, guid: 765582efd9dda46ed98564603316353f, type: 3} - propertyPath: m_Name - value: OrientationCube - objectReference: {fileID: 0} + propertyPath: target + value: + objectReference: {fileID: 5064725739247198300} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 41960beaa3d8041e19d82b5160042e55, type: 3} ---- !u!1 &2989930013812587953 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2591864627249999519, guid: 41960beaa3d8041e19d82b5160042e55, + m_SourcePrefab: {fileID: 100100000, guid: 765582efd9dda46ed98564603316353f, type: 3} +--- !u!4 &6065910098925129092 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} - m_PrefabInstance: {fileID: 758428436173755182} + m_PrefabInstance: {fileID: 6359877978260855390} m_PrefabAsset: {fileID: 0} ---- !u!1001 &6359877978260855390 +--- !u!114 &4507520074116686519 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7408209125961349353, guid: 765582efd9dda46ed98564603316353f, + type: 3} + m_PrefabInstance: {fileID: 6359877978260855390} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccb0f85f0009540d7ad997952e2aed7b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &8370630005521172503 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: m_TransformParent: {fileID: 4715983678655513245} m_Modifications: - - target: {fileID: 895268871377934275, guid: 765582efd9dda46ed98564603316353f, - type: 3} - propertyPath: m_Name - value: WalkerRagdoll - objectReference: {fileID: 0} - - target: {fileID: 895268871377934297, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3631016866778687563, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} - propertyPath: m_Model + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Target value: - objectReference: {fileID: 11400000, guid: 2cb15010f7cbe4dc59418a5858c87819, - type: 3} - - target: {fileID: 895268871377934297, guid: 765582efd9dda46ed98564603316353f, - type: 3} - propertyPath: m_BrainParameters.VectorObservationSize - value: 236 - objectReference: {fileID: 0} - - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + objectReference: {fileID: 4507520074116686519} + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} propertyPath: m_LocalPosition.x - value: 0 + value: 6.2 objectReference: {fileID: 0} - - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} propertyPath: m_LocalPosition.y - value: 3.07 + value: 1.15 objectReference: {fileID: 0} - - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} propertyPath: m_LocalPosition.z - value: 0 + value: 3.824 objectReference: {fileID: 0} - - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} propertyPath: m_LocalRotation.x value: -0 objectReference: {fileID: 0} - - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} propertyPath: m_LocalRotation.y - value: 0.7071068 + value: -0 objectReference: {fileID: 0} - - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} - - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} propertyPath: m_LocalRotation.w - value: 0.7071068 + value: 1 objectReference: {fileID: 0} - - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} propertyPath: m_RootOrder - value: 3 + value: 2 objectReference: {fileID: 0} - - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 90 + value: 0 objectReference: {fileID: 0} - - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 7408209125961349353, guid: 765582efd9dda46ed98564603316353f, + - target: {fileID: 3840539935788495952, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} - propertyPath: target - value: - objectReference: {fileID: 4714470935848893865} - - target: {fileID: 7408209125961349353, guid: 765582efd9dda46ed98564603316353f, - type: 3} - propertyPath: ground - value: - objectReference: {fileID: 4715966284166353839} - - target: {fileID: 7408209125961349353, guid: 765582efd9dda46ed98564603316353f, - type: 3} - propertyPath: orientationCube - value: - objectReference: {fileID: 2989930013812587953} + propertyPath: m_Name + value: DynamicTarget + objectReference: {fileID: 0} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 765582efd9dda46ed98564603316353f, type: 3} ---- !u!4 &6065910098925129092 stripped + m_SourcePrefab: {fileID: 100100000, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} +--- !u!4 &4714470935848893865 stripped Transform: - m_CorrespondingSourceObject: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, + m_CorrespondingSourceObject: {fileID: 3839136118347789758, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} - m_PrefabInstance: {fileID: 6359877978260855390} - m_PrefabAsset: {fileID: 0} ---- !u!4 &6065910099080495282 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 895268871264836332, guid: 765582efd9dda46ed98564603316353f, - type: 3} - m_PrefabInstance: {fileID: 6359877978260855390} + m_PrefabInstance: {fileID: 8370630005521172503} m_PrefabAsset: {fileID: 0} ---- !u!1 &555702846 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 6359877977706987616, guid: 765582efd9dda46ed98564603316353f, +--- !u!114 &5064725739247198300 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3631016866778687563, guid: 46734abd0de454192b407379c6a4ab8d, type: 3} - m_PrefabInstance: {fileID: 6359877978260855390} + m_PrefabInstance: {fileID: 8370630005521172503} m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3c8f113a8b8d94967b1b1782c549be81, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Project/Assets/ML-Agents/Examples/Walker/Prefabs/WalkerRagdoll.prefab b/Project/Assets/ML-Agents/Examples/Walker/Prefabs/WalkerRagdoll.prefab index a832e1ea31..9b20eb3eae 100644 --- a/Project/Assets/ML-Agents/Examples/Walker/Prefabs/WalkerRagdoll.prefab +++ b/Project/Assets/ML-Agents/Examples/Walker/Prefabs/WalkerRagdoll.prefab @@ -91,7 +91,7 @@ GameObject: - component: {fileID: 895268871264836333} m_Layer: 0 m_Name: hips - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -267,12 +267,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 895268871377934275} - m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 3.07, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 895268871264836332} - {fileID: 6359877977706987617} + - {fileID: 5370605450757534085} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} @@ -294,7 +295,7 @@ MonoBehaviour: VectorActionSize: 27000000 VectorActionDescriptions: [] VectorActionSpaceType: 1 - m_Model: {fileID: 11400000, guid: b0c510a5ce7f1453fa3a3607a94c1fbb, type: 3} + m_Model: {fileID: 11400000, guid: 3c6170922a9ad4d9f85261699ca00f5d, type: 3} m_InferenceDevice: 0 m_BehaviorType: 0 m_BehaviorName: WalkerDynamic @@ -318,12 +319,7 @@ MonoBehaviour: hasUpgradedFromAgentParameters: 1 MaxStep: 5000 maximumWalkingSpeed: 999 - targetSpawnRadius: 40 target: {fileID: 0} - ground: {fileID: 0} - detectTargets: 1 - targetIsStatic: 0 - respawnTargetWhenTouched: 1 hips: {fileID: 895268871264836332} chest: {fileID: 7933235354845945071} spine: {fileID: 7933235354652902033} @@ -340,6 +336,7 @@ MonoBehaviour: armR: {fileID: 7933235355057813930} forearmR: {fileID: 7933235353195701980} handR: {fileID: 7933235354616748502} + orientationCube: {fileID: 7559180363928843817} --- !u!114 &895268871377934303 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1971,6 +1968,7 @@ GameObject: - component: {fileID: 6359877977706987617} - component: {fileID: 6359877977706987551} - component: {fileID: 6359877977706987550} + - component: {fileID: 693499830} m_Layer: 0 m_Name: DirectionIndicator m_TagString: Untagged @@ -1986,7 +1984,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6359877977706987616} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.000000093018, y: -2.564, z: -0.000000093018} + m_LocalPosition: {x: 0, y: -2.564, z: 0} m_LocalScale: {x: 2.0320811, y: 0.033901207, z: 2.0320811} m_Children: - {fileID: 4618227339832610166} @@ -2039,6 +2037,21 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 +--- !u!114 &693499830 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6359877977706987616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1513f8a85fedd47efba089213b7c5bde, type: 3} + m_Name: + m_EditorClassIdentifier: + transformToFollow: {fileID: 895268871264836332} + targetToLookAt: {fileID: 0} + heightOffset: 0 --- !u!1 &7051518369535447352 GameObject: m_ObjectHideFlags: 0 @@ -2131,7 +2144,7 @@ GameObject: - component: {fileID: 7933235353030744117} m_Layer: 0 m_Name: upper_arm_L - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -2309,7 +2322,7 @@ GameObject: - component: {fileID: 7933235353041637845} m_Layer: 0 m_Name: hand_L - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -2485,7 +2498,7 @@ GameObject: - component: {fileID: 7933235353195701957} m_Layer: 0 m_Name: lower_arm_R - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -2663,7 +2676,7 @@ GameObject: - component: {fileID: 7933235353228551178} m_Layer: 0 m_Name: thighL - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -2841,7 +2854,7 @@ GameObject: - component: {fileID: 7933235353240438144} m_Layer: 0 m_Name: lower_arm_L - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -3019,7 +3032,7 @@ GameObject: - component: {fileID: 7933235353272702533} m_Layer: 0 m_Name: shinL - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -3197,7 +3210,7 @@ GameObject: - component: {fileID: 7933235353655703553} m_Layer: 0 m_Name: footR - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -3373,7 +3386,7 @@ GameObject: - component: {fileID: 7933235353711811629} m_Layer: 0 m_Name: shinR - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -3551,7 +3564,7 @@ GameObject: - component: {fileID: 7933235353713167634} m_Layer: 0 m_Name: thighR - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -3729,7 +3742,7 @@ GameObject: - component: {fileID: 7933235354074184676} m_Layer: 0 m_Name: head - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -3905,7 +3918,7 @@ GameObject: - component: {fileID: 7933235354616748520} m_Layer: 0 m_Name: hand_R - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -4081,7 +4094,7 @@ GameObject: - component: {fileID: 7933235354652902042} m_Layer: 0 m_Name: spine - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -4259,7 +4272,7 @@ GameObject: - component: {fileID: 7933235354845945040} m_Layer: 0 m_Name: chest - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -4439,7 +4452,7 @@ GameObject: - component: {fileID: 7933235354882597188} m_Layer: 0 m_Name: footL - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -4615,7 +4628,7 @@ GameObject: - component: {fileID: 7933235355057813907} m_Layer: 0 m_Name: upper_arm_R - m_TagString: Untagged + m_TagString: agent m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -4778,3 +4791,95 @@ CapsuleCollider: m_Height: 1 m_Direction: 0 m_Center: {x: 0, y: 0, z: 0} +--- !u!1001 &7597605653427724053 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 895268871377934298} + m_Modifications: + - target: {fileID: 2591864625898824423, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2591864627249999519, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + propertyPath: m_Name + value: OrientationCube + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 72f745913c5a34df5aaadd5c1f0024cb, type: 3} +--- !u!4 &5370605450757534085 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2591864627249999504, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + m_PrefabInstance: {fileID: 7597605653427724053} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7559180363928843817 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 114705911240010044, guid: 72f745913c5a34df5aaadd5c1f0024cb, + type: 3} + m_PrefabInstance: {fileID: 7597605653427724053} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 771e78c5e980e440e8cd19716b55075f, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Project/Assets/ML-Agents/Examples/Walker/Prefabs/WalkerWithTargetPair.prefab b/Project/Assets/ML-Agents/Examples/Walker/Prefabs/WalkerWithTargetPair.prefab index 74ad80a4c4..8ab919ba83 100644 --- a/Project/Assets/ML-Agents/Examples/Walker/Prefabs/WalkerWithTargetPair.prefab +++ b/Project/Assets/ML-Agents/Examples/Walker/Prefabs/WalkerWithTargetPair.prefab @@ -27,134 +27,11 @@ Transform: m_LocalPosition: {x: -500, y: 2.45, z: -250} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 4085853164035250} + - {fileID: 944450991292172294} - {fileID: 2610895078227559678} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 90.00001, z: 0} ---- !u!1 &1711420055118728 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4085853164035250} - - component: {fileID: 33406676668336024} - - component: {fileID: 65728406221657384} - - component: {fileID: 23891878356976108} - - component: {fileID: 54470051767281394} - m_Layer: 0 - m_Name: Target - m_TagString: target - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4085853164035250 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1711420055118728} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1.7899997, z: 1800} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4878380427462518} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &33406676668336024 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1711420055118728} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!65 &65728406221657384 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1711420055118728} - 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} ---- !u!23 &23891878356976108 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1711420055118728} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: c67450f290f3e4897bc40276a619e78d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 1 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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!54 &54470051767281394 -Rigidbody: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1711420055118728} - serializedVersion: 2 - m_Mass: 5 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!114 &928625103 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8076557379269661508} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1513f8a85fedd47efba089213b7c5bde, type: 3} - m_Name: - m_EditorClassIdentifier: - transformToFollow: {fileID: 2610895078055938504} - targetToLookAt: {fileID: 4085853164035250} - heightOffset: 0 --- !u!1001 &2906899243981837092 PrefabInstance: m_ObjectHideFlags: 0 @@ -162,6 +39,10 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 4878380427462518} m_Modifications: + - target: {fileID: 693499830, guid: 765582efd9dda46ed98564603316353f, type: 3} + propertyPath: targetToLookAt + value: + objectReference: {fileID: 944450991292172294} - target: {fileID: 895268871377934275, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_Name @@ -181,7 +62,7 @@ PrefabInstance: type: 3} propertyPath: m_Model value: - objectReference: {fileID: 11400000, guid: 1cb7f6cc571fb4376b972bc090627b6d, + objectReference: {fileID: 11400000, guid: 8dfd4337ed40e4d48872a4f86919c9da, type: 3} - target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f, type: 3} @@ -252,7 +133,7 @@ PrefabInstance: type: 3} propertyPath: target value: - objectReference: {fileID: 4085853164035250} + objectReference: {fileID: 738575235704034803} - target: {fileID: 7408209125961349353, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: targetIsStatic @@ -267,7 +148,7 @@ PrefabInstance: type: 3} propertyPath: orientationCube value: - objectReference: {fileID: 5269189931577362882} + objectReference: {fileID: 4661501641717294349} - target: {fileID: 7933235353030744139, guid: 765582efd9dda46ed98564603316353f, type: 3} propertyPath: m_ConnectedAnchor.x @@ -396,90 +277,174 @@ Transform: type: 3} m_PrefabInstance: {fileID: 2906899243981837092} m_PrefabAsset: {fileID: 0} ---- !u!4 &2610895078055938504 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 895268871264836332, guid: 765582efd9dda46ed98564603316353f, +--- !u!114 &5663381556754394061 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7408209125961349353, guid: 765582efd9dda46ed98564603316353f, type: 3} m_PrefabInstance: {fileID: 2906899243981837092} m_PrefabAsset: {fileID: 0} ---- !u!1 &8076557379269661508 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 6359877977706987616, guid: 765582efd9dda46ed98564603316353f, + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccb0f85f0009540d7ad997952e2aed7b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &4661501641717294349 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7559180363928843817, guid: 765582efd9dda46ed98564603316353f, type: 3} m_PrefabInstance: {fileID: 2906899243981837092} m_PrefabAsset: {fileID: 0} ---- !u!1001 &7703349395854010205 + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 771e78c5e980e440e8cd19716b55075f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &4061126297018023352 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 2610895078227559678} + m_TransformParent: {fileID: 4878380427462518} m_Modifications: - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onTrtesiggerEnterEvent.m_PersistentCalls.m_Calls.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 5663381556754394061} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: TouchedTarget + objectReference: {fileID: 0} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onCollisionEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onTrtesiggerEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: onTrtesiggerEnterEvent.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_LocalPosition.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_LocalPosition.y - value: 0 + value: 1.7899997 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_LocalPosition.z - value: 0 + value: 1800 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_LocalRotation.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_LocalRotation.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_RootOrder - value: 2 + value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999504, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 2591864627249999519, guid: 41960beaa3d8041e19d82b5160042e55, + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3840539935788495952, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} propertyPath: m_Name - value: OrientationCube + value: StaticTarget objectReference: {fileID: 0} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 41960beaa3d8041e19d82b5160042e55, type: 3} ---- !u!1 &5269189931577362882 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2591864627249999519, guid: 41960beaa3d8041e19d82b5160042e55, + m_SourcePrefab: {fileID: 100100000, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} +--- !u!4 &944450991292172294 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 3839136118347789758, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, type: 3} - m_PrefabInstance: {fileID: 7703349395854010205} + m_PrefabInstance: {fileID: 4061126297018023352} m_PrefabAsset: {fileID: 0} +--- !u!114 &738575235704034803 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3631016866778687563, guid: 2173d15c0b5fc49e5870c9d1c7f7ee8e, + type: 3} + m_PrefabInstance: {fileID: 4061126297018023352} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3c8f113a8b8d94967b1b1782c549be81, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerDynamic.unity b/Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerDynamic.unity index df197f4291..a5b5a6882b 100644 --- a/Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerDynamic.unity +++ b/Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerDynamic.unity @@ -856,6 +856,72 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: f51e8260728fd4c8fa87bcda9d0e2027, type: 3} +--- !u!1 &781961355 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 781961358} + - component: {fileID: 781961357} + - component: {fileID: 781961356} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &781961356 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781961355} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &781961357 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781961355} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &781961358 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781961355} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 14 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &909122612 PrefabInstance: m_ObjectHideFlags: 0 @@ -2397,6 +2463,11 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 1354152338793162668, guid: f51e8260728fd4c8fa87bcda9d0e2027, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3916531708496791165, guid: f51e8260728fd4c8fa87bcda9d0e2027, type: 3} propertyPath: m_ConnectedAnchor.z @@ -2457,6 +2528,11 @@ PrefabInstance: propertyPath: m_ConnectedAnchor.z value: 0.00000023841858 objectReference: {fileID: 0} + - target: {fileID: 4507520074116686519, guid: f51e8260728fd4c8fa87bcda9d0e2027, + type: 3} + propertyPath: rewardManager + value: + objectReference: {fileID: 0} - target: {fileID: 4712600297668500197, guid: f51e8260728fd4c8fa87bcda9d0e2027, type: 3} propertyPath: m_Name diff --git a/Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerStatic.unity b/Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerStatic.unity index f1a59c2137..bf942c6f72 100644 --- a/Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerStatic.unity +++ b/Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerStatic.unity @@ -503,6 +503,66 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 5066517641317679859, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.6999959 + objectReference: {fileID: 0} + - target: {fileID: 5066517641327561583, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.6999967 + objectReference: {fileID: 0} + - target: {fileID: 5066517641430005247, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.4999994 + objectReference: {fileID: 0} + - target: {fileID: 5066517641468855679, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.00000017881393 + objectReference: {fileID: 0} + - target: {fileID: 5066517641503708862, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.4999994 + objectReference: {fileID: 0} + - target: {fileID: 5066517641529767720, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.39999378 + objectReference: {fileID: 0} + - target: {fileID: 5066517641893800742, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.00000017881393 + objectReference: {fileID: 0} + - target: {fileID: 5066517641985220144, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.39999378 + objectReference: {fileID: 0} + - target: {fileID: 5066517641988116231, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.00000017881393 + objectReference: {fileID: 0} + - target: {fileID: 5066517642825943758, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.6999959 + objectReference: {fileID: 0} + - target: {fileID: 5066517643083346557, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.00000017881393 + objectReference: {fileID: 0} + - target: {fileID: 5066517643325467277, guid: 94dced9d2186d4a76b970fb18ef6d7a6, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.6999967 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 94dced9d2186d4a76b970fb18ef6d7a6, type: 3} --- !u!1 &459314944 diff --git a/Project/Assets/ML-Agents/Examples/Walker/Scripts/WalkerAgent.cs b/Project/Assets/ML-Agents/Examples/Walker/Scripts/WalkerAgent.cs index b3b014c0fe..e6ddb9a71f 100644 --- a/Project/Assets/ML-Agents/Examples/Walker/Scripts/WalkerAgent.cs +++ b/Project/Assets/ML-Agents/Examples/Walker/Scripts/WalkerAgent.cs @@ -9,15 +9,10 @@ public class WalkerAgent : Agent { public float maximumWalkingSpeed = 999; //The max walk velocity magnitude an agent will be rewarded for Vector3 m_WalkDir; //Direction to the target - Quaternion m_WalkDirLookRot; //Will hold the rotation to our target - - [Header("Target To Walk Towards")] [Space(10)] - public Transform target; //Target the agent will walk towards. - public float targetSpawnRadius; //The radius in which a target can be randomly spawned. - public bool detectTargets; //Should this agent detect targets - public bool respawnTargetWhenTouched; //Should the target respawn to a different position when touched +// Quaternion m_WalkDirLookRot; //Will hold the rotation to our target - public Transform ground; //Ground gameobject. The height will be used for target spawning + [Header("Target To Walk Towards")] [Space(10)] + public TargetController target; //Target the agent will walk towards. [Header("Body Parts")] [Space(10)] public Transform hips; public Transform chest; @@ -35,11 +30,11 @@ public class WalkerAgent : Agent public Transform armR; public Transform forearmR; public Transform handR; - + [Header("Orientation")] [Space(10)] - //This will be used as a stable reference point for observations - //Because ragdolls can move erratically, using a standalone reference point can significantly improve learning - public GameObject orientationCube; + //This will be used as a stabilized model space reference point for observations + //Because ragdolls can move erratically during training, using a stabilized reference transform improves learning + public OrientationCubeController orientationCube; JointDriveController m_JdController; @@ -47,9 +42,9 @@ public class WalkerAgent : Agent public override void Initialize() { + orientationCube.UpdateOrientation(hips, target.transform); - UpdateOrientationCube(); - + //Setup each body part m_JdController = GetComponent(); m_JdController.SetupBodyPart(hips); m_JdController.SetupBodyPart(chest); @@ -73,13 +68,32 @@ public override void Initialize() SetResetParameters(); } + /// + /// Loop over body parts and reset them to initial conditions. + /// + public override void OnEpisodeBegin() + { + //Reset all of the body parts + foreach (var bodyPart in m_JdController.bodyPartsDict.Values) + { + bodyPart.Reset(bodyPart); + } + + //Random start rotation to help generalize + transform.rotation = Quaternion.Euler(0, Random.Range(0.0f, 360.0f), 0); + + orientationCube.UpdateOrientation(hips, target.transform); + + SetResetParameters(); + } + /// /// Add relevant information on each body part to observations. /// public void CollectObservationBodyPart(BodyPart bp, VectorSensor sensor) { //GROUND CHECK - sensor.AddObservation(bp.groundContact.touchingGround ? 1 : 0); // Is this bp touching the ground + sensor.AddObservation(bp.groundContact.touchingGround); // Is this bp touching the ground //Get velocities in the context of our orientation cube's space //Note: You can get these velocities in world space as well but it may not train as well. @@ -104,7 +118,7 @@ public override void CollectObservations(VectorSensor sensor) sensor.AddObservation(Quaternion.FromToRotation(hips.forward, orientationCube.transform.forward)); sensor.AddObservation(Quaternion.FromToRotation(head.forward, orientationCube.transform.forward)); - sensor.AddObservation(orientationCube.transform.InverseTransformPoint(target.position)); + sensor.AddObservation(orientationCube.transform.InverseTransformPoint(target.transform.position)); foreach (var bodyPart in m_JdController.bodyPartsList) { @@ -149,45 +163,23 @@ public override void OnActionReceived(float[] vectorAction) bpDict[forearmR].SetJointStrength(vectorAction[++i]); } - void UpdateOrientationCube() - { - //FACING DIR - m_WalkDir = target.position - orientationCube.transform.position; - m_WalkDir.y = 0; //flatten dir on the y - m_WalkDirLookRot = Quaternion.LookRotation(m_WalkDir); //get our look rot to the target - - //UPDATE ORIENTATION CUBE POS & ROT - orientationCube.transform.position = hips.position; - orientationCube.transform.rotation = m_WalkDirLookRot; - } - void FixedUpdate() { - if (detectTargets) - { - foreach (var bodyPart in m_JdController.bodyPartsDict.Values) - { - if (bodyPart.targetContact && bodyPart.targetContact.touchingTarget) - { - TouchedTarget(); - } - } - } - - UpdateOrientationCube(); - + var cubeForward = orientationCube.transform.forward; + orientationCube.UpdateOrientation(hips, target.transform); // Set reward for this step according to mixture of the following elements. // a. Velocity alignment with goal direction. - var moveTowardsTargetReward = Vector3.Dot(orientationCube.transform.forward, + var moveTowardsTargetReward = Vector3.Dot(cubeForward, Vector3.ClampMagnitude(m_JdController.bodyPartsDict[hips].rb.velocity, maximumWalkingSpeed)); // b. Rotation alignment with goal direction. - var lookAtTargetReward = Vector3.Dot(orientationCube.transform.forward, head.forward); - // c. Encourage head height. - var headHeightOverFeetReward = (head.position.y - footL.position.y) + (head.position.y - footR.position.y); + var lookAtTargetReward = Vector3.Dot(cubeForward, head.forward); + // c. Encourage head height. //Should normalize to ~1 + var headHeightOverFeetReward = + ((head.position.y - footL.position.y) + (head.position.y - footR.position.y) / 10); AddReward( - +0.02f * moveTowardsTargetReward - + 0.01f * lookAtTargetReward - + 0.01f * headHeightOverFeetReward + + 0.02f * moveTowardsTargetReward + + 0.02f * lookAtTargetReward + + 0.005f * headHeightOverFeetReward ); } @@ -197,44 +189,6 @@ void FixedUpdate() public void TouchedTarget() { AddReward(1f); - if (respawnTargetWhenTouched) - { - MoveTargetToRandomPosition(); - } - } - - /// - /// Moves target to a random position within specified radius. - /// - public void MoveTargetToRandomPosition() - { - var newTargetPos = Random.insideUnitSphere * targetSpawnRadius; - newTargetPos.y = 5; - target.position = newTargetPos + ground.position; - } - - /// - /// Loop over body parts and reset them to initial conditions. - /// - public override void OnEpisodeBegin() - { - //Reset all of the body parts - foreach (var bodyPart in m_JdController.bodyPartsDict.Values) - { - bodyPart.Reset(bodyPart); - } - - //Random start rotation to help generalize - transform.rotation = Quaternion.Euler(0, Random.Range(0.0f, 360.0f), 0); - - UpdateOrientationCube(); - - if (detectTargets && respawnTargetWhenTouched) - { - MoveTargetToRandomPosition(); - } - - SetResetParameters(); } public void SetTorsoMass() @@ -248,15 +202,4 @@ public void SetResetParameters() { SetTorsoMass(); } - - private void OnDrawGizmosSelected() - { - if (Application.isPlaying) - { - Gizmos.color = Color.green; - Gizmos.matrix = orientationCube.transform.localToWorldMatrix; - Gizmos.DrawWireCube(Vector3.zero, orientationCube.transform.localScale); - Gizmos.DrawRay(Vector3.zero, Vector3.forward); - } - } } diff --git a/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic.nn b/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic.nn index 9a13a4907d..f874e6a2f1 100644 Binary files a/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic.nn and b/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic.nn differ diff --git a/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic.nn.meta b/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic.nn.meta index 3e3be7b005..f9cf39a3eb 100644 --- a/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic.nn.meta +++ b/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic.nn.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2cb15010f7cbe4dc59418a5858c87819 +guid: e785133c5b0ac461588106642550d1b3 ScriptedImporter: fileIDToRecycleName: 11400000: main obj diff --git a/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerStatic.nn b/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerStatic.nn index 2acfe04ac4..1cb3e9c0ce 100644 Binary files a/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerStatic.nn and b/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerStatic.nn differ diff --git a/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerStatic.nn.meta b/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerStatic.nn.meta index eb9e1d54c5..e914e741df 100644 --- a/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerStatic.nn.meta +++ b/Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerStatic.nn.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1cb7f6cc571fb4376b972bc090627b6d +guid: 8dfd4337ed40e4d48872a4f86919c9da ScriptedImporter: fileIDToRecycleName: 11400000: main obj diff --git a/config/ppo/WalkerDynamic.yaml b/config/ppo/WalkerDynamic.yaml index 08a8048f14..4079350d41 100644 --- a/config/ppo/WalkerDynamic.yaml +++ b/config/ppo/WalkerDynamic.yaml @@ -20,7 +20,7 @@ behaviors: gamma: 0.995 strength: 1.0 keep_checkpoints: 5 - max_steps: 25000000 + max_steps: 20000000 time_horizon: 1000 summary_freq: 30000 threaded: true