比较提交

...
此合并请求有变更与目标分支冲突。
/Project/Packages/manifest.json
/Project/ProjectSettings/ProjectVersion.txt
/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/CameraFollow.cs
/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/DynamicPlatform.prefab
/Project/Assets/ML-Agents/Examples/Crawler/Scripts/CrawlerAgent.cs
/Project/Assets/ML-Agents/Examples/GridWorld/Demos/ExpertGrid.demo.meta
/Project/Assets/ML-Agents/Examples/PushBlock/Demos/ExpertPush.demo.meta
/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Crawler.prefab
/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Crawler.prefab.meta
/Project/Assets/ML-Agents/Examples/Bouncer/Demos/ExpertBouncer.demo.meta
/Project/Assets/ML-Agents/Examples/FoodCollector/Demos/ExpertFood.demo.meta
/Project/Assets/ML-Agents/Examples/Reacher/Demos/ExpertReacher.demo.meta
/Project/Assets/ML-Agents/Examples/Reacher/Prefabs/Agent.prefab
/Project/Assets/ML-Agents/Examples/Reacher/Scenes/Reacher.unity
/Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherGoal.cs
/Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherAgent.cs
/Project/Assets/ML-Agents/Examples/Tennis/Demos/ExpertTennis.demo.meta
/Project/Assets/ML-Agents/Examples/Walker/Demos/ExpertWalker.demo.meta
/Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerStaticTarget.unity
/Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerDynamicTarget.unity
/Project/Assets/ML-Agents/Examples/Crawler/Demos/ExpertCrawlerDyn.demo.meta
/Project/Assets/ML-Agents/Examples/Crawler/Demos/ExpertCrawlerSta.demo.meta
/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/FixedPlatform.prefab.meta
/Project/Assets/ML-Agents/Examples/Crawler/Prefabs/FixedPlatform.prefab
/Project/Assets/ML-Agents/Examples/Reacher/TFModels/ReacherLearning.nn
/Project/Assets/ML-Agents/Examples/Reacher/TFModels/ReacherLearning.nn.meta
/Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ArticulatedAgent.prefab.meta
/Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ReacherRoot.prefab
/Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ReacherRoot.prefab.meta
/Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ArticulatedAgent.prefab
/Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacher.unity.meta
/Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacherManualControl.unity
/Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacherManualControl.unity.meta
/Project/Assets/ML-Agents/Examples/Reacher/Scenes/scaling.unity
/Project/Assets/ML-Agents/Examples/Reacher/Scenes/scaling.unity.meta
/Project/Assets/ML-Agents/Examples/Reacher/Scenes/simpleTest.unity
/Project/Assets/ML-Agents/Examples/Reacher/Scenes/simpleTest.unity.meta
/Project/Assets/ML-Agents/Examples/Reacher/Scenes/testHand.unity
/Project/Assets/ML-Agents/Examples/Reacher/Scenes/testHand.unity.meta
/Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacher.unity
/Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherAgent.cs.meta
/Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherGoal.cs
/Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherGoal.cs.meta
/Project/Assets/ML-Agents/Examples/Reacher/Scripts/ManualControlReacherArm.cs
/Project/Assets/ML-Agents/Examples/Reacher/Scripts/ManualControlReacherArm.cs.meta
/Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherAcademy.cs
/Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherAcademy.cs.meta
/Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherAgent.cs

4 次代码提交

作者 SHA1 备注 提交日期
Chris Elion dc4a001f copy sensor from robot branch, fix space 4 年前
Chris Elion 20b5a157 update scenes and get them training 4 年前
Chris Elion 1e96ad52 update crawler 4 年前
Chris Elion 2f7174f0 migrate from old branch 4 年前
共有 85 个文件被更改,包括 18315 次插入1904 次删除
  1. 21
      Project/Packages/manifest.json
  2. 3
      Project/ProjectSettings/ProjectVersion.txt
  3. 7
      Project/Assets/ML-Agents/Examples/3DBall/Demos/Expert3DBall.demo.meta
  4. 7
      Project/Assets/ML-Agents/Examples/3DBall/Demos/Expert3DBallHard.demo.meta
  5. 7
      Project/Assets/ML-Agents/Examples/Basic/Demos/ExpertBasic.demo.meta
  6. 7
      Project/Assets/ML-Agents/Examples/Bouncer/Demos/ExpertBouncer.demo.meta
  7. 7
      Project/Assets/ML-Agents/Examples/FoodCollector/Demos/ExpertFood.demo.meta
  8. 7
      Project/Assets/ML-Agents/Examples/GridWorld/Demos/ExpertGrid.demo.meta
  9. 7
      Project/Assets/ML-Agents/Examples/Hallway/Demos/ExpertHallway.demo.meta
  10. 7
      Project/Assets/ML-Agents/Examples/Pyramids/Demos/ExpertPyramid.demo.meta
  11. 7
      Project/Assets/ML-Agents/Examples/Reacher/Demos/ExpertReacher.demo.meta
  12. 937
      Project/Assets/ML-Agents/Examples/Reacher/Prefabs/Agent.prefab
  13. 85
      Project/Assets/ML-Agents/Examples/Reacher/Scenes/Reacher.unity
  14. 41
      Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherGoal.cs
  15. 209
      Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherAgent.cs
  16. 7
      Project/Assets/ML-Agents/Examples/Tennis/Demos/ExpertTennis.demo.meta
  17. 7
      Project/Assets/ML-Agents/Examples/Walker/Demos/ExpertWalker.demo.meta
  18. 7
      Project/Assets/ML-Agents/Examples/PushBlock/Demos/ExpertPush.demo.meta
  19. 943
      Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerStaticTarget.unity
  20. 954
      Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerDynamicTarget.unity
  21. 7
      Project/Assets/ML-Agents/Examples/Crawler/Demos/ExpertCrawlerDyn.demo.meta
  22. 7
      Project/Assets/ML-Agents/Examples/Crawler/Demos/ExpertCrawlerSta.demo.meta
  23. 3
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/FixedPlatform.prefab.meta
  24. 172
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/DynamicPlatform.prefab
  25. 108
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/FixedPlatform.prefab
  26. 437
      Project/Assets/ML-Agents/Examples/Crawler/Scripts/CrawlerAgent.cs
  27. 23
      Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/CameraFollow.cs
  28. 27
      config/ppo/ArticulatedCrawlerDynamic.yaml
  29. 27
      config/ppo/ArticulatedReacher.yaml
  30. 284
      Project/Assets/ML-Agents/Examples/Reacher/TFModels/ReacherLearning.nn
  31. 7
      Project/Assets/ML-Agents/Examples/Reacher/TFModels/ReacherLearning.nn.meta
  32. 7
      Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ArticulatedAgent.prefab.meta
  33. 626
      Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ReacherRoot.prefab
  34. 7
      Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ReacherRoot.prefab.meta
  35. 408
      Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ArticulatedAgent.prefab
  36. 7
      Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacher.unity.meta
  37. 589
      Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacherManualControl.unity
  38. 7
      Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacherManualControl.unity.meta
  39. 918
      Project/Assets/ML-Agents/Examples/Reacher/Scenes/scaling.unity
  40. 7
      Project/Assets/ML-Agents/Examples/Reacher/Scenes/scaling.unity.meta
  41. 875
      Project/Assets/ML-Agents/Examples/Reacher/Scenes/simpleTest.unity
  42. 7
      Project/Assets/ML-Agents/Examples/Reacher/Scenes/simpleTest.unity.meta
  43. 1001
      Project/Assets/ML-Agents/Examples/Reacher/Scenes/testHand.unity
  44. 7
      Project/Assets/ML-Agents/Examples/Reacher/Scenes/testHand.unity.meta
  45. 1001
      Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacher.unity
  46. 11
      Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherAgent.cs.meta
  47. 37
      Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherGoal.cs
  48. 3
      Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherGoal.cs.meta
  49. 137
      Project/Assets/ML-Agents/Examples/Reacher/Scripts/ManualControlReacherArm.cs
  50. 3
      Project/Assets/ML-Agents/Examples/Reacher/Scripts/ManualControlReacherArm.cs.meta
  51. 14
      Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherAcademy.cs
  52. 12
      Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherAcademy.cs.meta
  53. 177
      Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherAgent.cs
  54. 7
      Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerDynamicTarget.unity.meta
  55. 580
      Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerManualControl.unity
  56. 7
      Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerManualControl.unity.meta
  57. 1001
      Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerStaticTarget.unity
  58. 7
      Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerStaticTarget.unity.meta
  59. 1001
      Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerDynamicTarget.unity
  60. 1001
      Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamicLearning.nn
  61. 11
      Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamicLearning.nn.meta
  62. 1001
      Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStaticLearning.nn
  63. 11
      Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStaticLearning.nn.meta
  64. 438
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedCrawler.prefab
  65. 7
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedCrawler.prefab.meta
  66. 7
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedDynamicPlatform.prefab.meta
  67. 801
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedFixedPlatform.prefab
  68. 7
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedFixedPlatform.prefab.meta
  69. 1001
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Body.prefab
  70. 7
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Body.prefab.meta
  71. 1001
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Crawler.prefab
  72. 8
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Crawler.prefab.meta
  73. 1001
      Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedDynamicPlatform.prefab
  74. 3
      Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedCrawlerAgent.cs.meta
  75. 279
      Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedCrawlerManualControl.cs
  76. 3
      Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedCrawlerManualControl.cs.meta
  77. 169
      Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedJointDriveController.cs
  78. 3
      Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedJointDriveController.cs.meta
  79. 25
      Project/Assets/ML-Agents/Examples/Crawler/Scripts/CrawlerAcademy.cs
  80. 11
      Project/Assets/ML-Agents/Examples/Crawler/Scripts/CrawlerAcademy.cs.meta
  81. 343
      Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedCrawlerAgent.cs
  82. 211
      Project/Assets/ML-Agents/Examples/SharedAssets/ArticulationBodySensor.cs
  83. 3
      Project/Assets/ML-Agents/Examples/SharedAssets/ArticulationBodySensor.cs.meta
  84. 21
      Project/Assets/ML-Agents/Examples/SharedAssets/ArticulationBodySensorComponent.cs
  85. 3
      Project/Assets/ML-Agents/Examples/SharedAssets/ArticulationBodySensorComponent.cs.meta

21
Project/Packages/manifest.json


{
"dependencies": {
"com.unity.ads": "2.0.8",
"com.unity.analytics": "3.2.3",
"com.unity.collab-proxy": "1.2.15",
"com.unity.2d.sprite": "1.0.0",
"com.unity.2d.tilemap": "1.0.0",
"com.unity.ads": "3.4.4",
"com.unity.analytics": "3.3.5",
"com.unity.collab-proxy": "1.3.7",
"com.unity.ide.rider": "1.2.1",
"com.unity.ide.visualstudio": "2.0.1",
"com.unity.ide.vscode": "1.2.0",
"com.unity.package-manager-ui": "2.0.8",
"com.unity.purchasing": "2.0.3",
"com.unity.textmeshpro": "1.4.1",
"com.unity.purchasing": "2.0.6",
"com.unity.test-framework": "1.1.13",
"com.unity.textmeshpro": "3.0.0-preview.1",
"com.unity.timeline": "1.2.6",
"com.unity.ugui": "1.0.0",
"com.unity.xr.legacyinputhelpers": "2.1.3",
"com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.audio": "1.0.0",

3
Project/ProjectSettings/ProjectVersion.txt


m_EditorVersion: 2018.4.17f1
m_EditorVersion: 2020.1.0b8
m_EditorVersionWithRevision: 2020.1.0b8 (726fc0bca2bc)

7
Project/Assets/ML-Agents/Examples/3DBall/Demos/Expert3DBall.demo.meta


fileFormatVersion: 2
guid: bbf6756da134740eaa002a1b84f655cb
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/3DBall/Demos/Expert3DBall.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/3DBall/Demos/Expert3DBall.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/3DBall/Demos/Expert3DBallHard.demo.meta


fileFormatVersion: 2
guid: 6942431e411b146be9a597663eca89af
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/3DBall/Demos/Expert3DBallHard.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/3DBall/Demos/Expert3DBallHard.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/Basic/Demos/ExpertBasic.demo.meta


fileFormatVersion: 2
guid: 414224ce8b3e247ad936b17f574b10ab
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/Basic/Demos/ExpertBasic.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/Basic/Demos/ExpertBasic.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/Bouncer/Demos/ExpertBouncer.demo.meta


fileFormatVersion: 2
guid: 6285af622c80e493b906f26cf5b2327f
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/Bouncer/Demos/ExpertBouncer.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/Bouncer/Demos/ExpertBouncer.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/FoodCollector/Demos/ExpertFood.demo.meta


fileFormatVersion: 2
guid: 95285c32be79a4c77a5ac225e671e4b5
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/FoodCollector/Demos/ExpertFood.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/FoodCollector/Demos/ExpertFood.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/GridWorld/Demos/ExpertGrid.demo.meta


fileFormatVersion: 2
guid: 0092f2e4aece345aea4730a37eeebf68
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/GridWorld/Demos/ExpertGrid.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/GridWorld/Demos/ExpertGrid.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/Hallway/Demos/ExpertHallway.demo.meta


fileFormatVersion: 2
guid: 41c6af18564fe425fa1c047d603ee34e
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/Hallway/Demos/ExpertHallway.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/Hallway/Demos/ExpertHallway.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/Pyramids/Demos/ExpertPyramid.demo.meta


fileFormatVersion: 2
guid: 2f9d53c90f11846d7a6499ce0f1dfebb
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/Pyramids/Demos/ExpertPyramid.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/Pyramids/Demos/ExpertPyramid.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/Reacher/Demos/ExpertReacher.demo.meta


fileFormatVersion: 2
guid: 4f14b17d2835e482097c88301323e587
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/Reacher/Demos/ExpertReacher.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/Reacher/Demos/ExpertReacher.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

937
Project/Assets/ML-Agents/Examples/Reacher/Prefabs/Agent.prefab
文件差异内容过多而无法显示
查看文件

85
Project/Assets/ML-Agents/Examples/Reacher/Scenes/Reacher.unity


m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 10
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024

m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1

m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 500
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 2
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilteringMode: 1
m_PVREnvironmentMIS: 0
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5

m_PVRFilteringAtrousPositionSigmaAO: 1
m_ShowResolutionOverlay: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

serializedVersion: 6
m_Component:
- component: {fileID: 1574236049}
- component: {fileID: 1574236050}
- component: {fileID: 1574236048}
m_Name: ReacherAcademy
m_Name: Academy
--- !u!114 &1574236048
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1574236047}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4c970415924214d13949fbd6cddd1759, type: 3}
m_Name:
m_EditorClassIdentifier:
broadcastHub:
broadcastingBrains:
- {fileID: 11400000, guid: aee5a4acc5804447682bf509557afa4f, type: 2}
m_BrainsToControl:
- {fileID: 11400000, guid: aee5a4acc5804447682bf509557afa4f, type: 2}
m_TrainingConfiguration:
width: 80
height: 80
qualityLevel: 1
timeScale: 100
targetFrameRate: 60
m_InferenceConfiguration:
width: 1280
height: 720
qualityLevel: 5
timeScale: 1
targetFrameRate: 60
resetParameters:
m_ResetParameters:
- key: goal_size
value: 5
- key: goal_speed
value: 1
- key: gravity
value: 9.81
- key: deviation
value: 0
- key: deviation_freq
value: 0
--- !u!4 &1574236049
Transform:
m_ObjectHideFlags: 0

m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1574236050
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1574236047}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ec51f47c5ed0478080c449c74fd9c154, type: 3}
m_Name:
m_EditorClassIdentifier:
gravityMultiplier: 1
monitorVerticalOffset: 0
fixedDeltaTime: 0.02
maximumDeltaTime: 0.33333334
solverIterations: 6
solverVelocityIterations: 1
--- !u!1001 &1611337401
PrefabInstance:
m_ObjectHideFlags: 0

m_ClearFlags: 2
m_BackGroundColor: {r: 0.46666667, g: 0.5647059, b: 0.60784316, a: 1}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_GateFitMode: 2
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2

41
Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherGoal.cs


using UnityEngine;
public class ReacherGoal : MonoBehaviour
namespace Unity.MLAgentsExamples
public GameObject agent;
public GameObject hand;
public GameObject goalOn;
public class ReacherGoal : MonoBehaviour
{
public GameObject agent;
public GameObject hand;
public GameObject goalOn;
void OnTriggerEnter(Collider other)
{
if (other.gameObject == hand)
private void OnTriggerEnter(Collider other)
goalOn.transform.localScale = new Vector3(1f, 1f, 1f);
if (other.gameObject == hand)
{
goalOn.transform.localScale = new Vector3(1f, 1f, 1f);
}
}
void OnTriggerExit(Collider other)
{
if (other.gameObject == hand)
private void OnTriggerExit(Collider other)
goalOn.transform.localScale = new Vector3(0f, 0f, 0f);
if (other.gameObject == hand)
{
goalOn.transform.localScale = new Vector3(0f, 0f, 0f);
}
}
void OnTriggerStay(Collider other)
{
if (other.gameObject == hand)
private void OnTriggerStay(Collider other)
agent.GetComponent<ReacherAgent>().AddReward(0.01f);
if (other.gameObject == hand)
{
agent.GetComponent<ReacherAgent>().AddReward(0.01f);
}
}
}

209
Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherAgent.cs


using Unity.MLAgents;
using Unity.MLAgents.Sensors;
public class ReacherAgent : Agent
namespace Unity.MLAgentsExamples
public GameObject pendulumA;
public GameObject pendulumB;
public GameObject hand;
public GameObject goal;
float m_GoalDegree;
Rigidbody m_RbA;
Rigidbody m_RbB;
// speed of the goal zone around the arm (in radians)
float m_GoalSpeed;
// radius of the goal zone
float m_GoalSize;
// Magnitude of sinusoidal (cosine) deviation of the goal along the vertical dimension
float m_Deviation;
// Frequency of the cosine deviation of the goal along the vertical dimension
float m_DeviationFreq;
EnvironmentParameters m_ResetParams;
/// <summary>
/// Collect the rigidbodies of the reacher in order to resue them for
/// observations and actions.
/// </summary>
public override void Initialize()
public class ReacherAgent : Agent
m_RbA = pendulumA.GetComponent<Rigidbody>();
m_RbB = pendulumB.GetComponent<Rigidbody>();
public GameObject pendulumA;
public GameObject pendulumB;
public GameObject hand;
public GameObject goal;
float m_GoalDegree;
private Rigidbody m_RbA;
private Rigidbody m_RbB;
// speed of the goal zone around the arm (in radians)
private float m_GoalSpeed;
// radius of the goal zone
private float m_GoalSize;
// Magnitude of sinusoidal (cosine) deviation of the goal along the vertical dimension
private float m_Deviation;
// Frequency of the cosine deviation of the goal along the vertical dimension
private float m_DeviationFreq;
EnvironmentParameters m_ResetParams;
/// <summary>
/// Collect the rigidbodies of the reacher in order to resue them for
/// observations and actions.
/// </summary>
public override void Initialize()
{
m_RbA = pendulumA.GetComponent<Rigidbody>();
m_RbB = pendulumB.GetComponent<Rigidbody>();
m_ResetParams = Academy.Instance.EnvironmentParameters;
m_ResetParams = Academy.Instance.EnvironmentParameters;
SetResetParameters();
}
SetResetParameters();
}
/// <summary>
/// We collect the normalized rotations, angularal velocities, and velocities of both
/// limbs of the reacher as well as the relative position of the target and hand.
/// </summary>
public override void CollectObservations(VectorSensor sensor)
{
sensor.AddObservation(pendulumA.transform.localPosition);
sensor.AddObservation(pendulumA.transform.rotation);
sensor.AddObservation(m_RbA.angularVelocity);
sensor.AddObservation(m_RbA.velocity);
/// <summary>
/// We collect the normalized rotations, angularal velocities, and velocities of both
/// limbs of the reacher as well as the relative position of the target and hand.
/// </summary>
public override void CollectObservations(VectorSensor vectorSensor)
{
vectorSensor.AddObservation(pendulumA.transform.localPosition);
vectorSensor.AddObservation(pendulumA.transform.rotation);
vectorSensor.AddObservation(m_RbA.angularVelocity);
vectorSensor.AddObservation(m_RbA.velocity);
sensor.AddObservation(pendulumB.transform.localPosition);
sensor.AddObservation(pendulumB.transform.rotation);
sensor.AddObservation(m_RbB.angularVelocity);
sensor.AddObservation(m_RbB.velocity);
vectorSensor.AddObservation(pendulumB.transform.localPosition);
vectorSensor.AddObservation(pendulumB.transform.rotation);
vectorSensor.AddObservation(m_RbB.angularVelocity);
vectorSensor.AddObservation(m_RbB.velocity);
sensor.AddObservation(goal.transform.localPosition);
sensor.AddObservation(hand.transform.localPosition);
vectorSensor.AddObservation(goal.transform.localPosition);
vectorSensor.AddObservation(hand.transform.localPosition);
vectorSensor.AddObservation(m_GoalSpeed);
}
sensor.AddObservation(m_GoalSpeed);
}
/// <summary>
/// The agent's four actions correspond to torques on each of the two joints.
/// </summary>
public override void OnActionReceived(float[] vectorAction)
{
m_GoalDegree += m_GoalSpeed;
UpdateGoalPosition();
/// <summary>
/// The agent's four actions correspond to torques on each of the two joints.
/// </summary>
public override void OnActionReceived(float[] vectorAction)
{
m_GoalDegree += m_GoalSpeed;
UpdateGoalPosition();
var torqueX = Mathf.Clamp(vectorAction[0], -1f, 1f) * 150f;
var torqueZ = Mathf.Clamp(vectorAction[1], -1f, 1f) * 150f;
m_RbA.AddTorque(new Vector3(torqueX, 0f, torqueZ));
var torqueX = Mathf.Clamp(vectorAction[0], -1f, 1f) * 150f;
var torqueZ = Mathf.Clamp(vectorAction[1], -1f, 1f) * 150f;
m_RbA.AddTorque(new Vector3(torqueX, 0f, torqueZ));
torqueX = Mathf.Clamp(vectorAction[2], -1f, 1f) * 150f;
torqueZ = Mathf.Clamp(vectorAction[3], -1f, 1f) * 150f;
m_RbB.AddTorque(new Vector3(torqueX, 0f, torqueZ));
}
torqueX = Mathf.Clamp(vectorAction[2], -1f, 1f) * 150f;
torqueZ = Mathf.Clamp(vectorAction[3], -1f, 1f) * 150f;
m_RbB.AddTorque(new Vector3(torqueX, 0f, torqueZ));
}
/// <summary>
/// Used to move the position of the target goal around the agent.
/// </summary>
void UpdateGoalPosition()
{
var radians = m_GoalDegree * Mathf.PI / 180f;
var goalX = 8f * Mathf.Cos(radians);
var goalY = 8f * Mathf.Sin(radians);
var goalZ = m_Deviation * Mathf.Cos(m_DeviationFreq * radians);
goal.transform.position = new Vector3(goalY, goalZ, goalX) + transform.position;
}
/// <summary>
/// Used to move the position of the target goal around the agent.
/// </summary>
void UpdateGoalPosition()
{
var radians = m_GoalDegree * Mathf.PI / 180f;
var goalX = 8f * Mathf.Cos(radians);
var goalY = 8f * Mathf.Sin(radians);
var goalZ = m_Deviation * Mathf.Cos(m_DeviationFreq * radians);
goal.transform.position = new Vector3(goalY, goalZ, goalX) + transform.position;
}
/// <summary>
/// Resets the position and velocity of the agent and the goal.
/// </summary>
public override void OnEpisodeBegin()
{
pendulumA.transform.position = new Vector3(0f, -4f, 0f) + transform.position;
pendulumA.transform.rotation = Quaternion.Euler(180f, 0f, 0f);
m_RbA.velocity = Vector3.zero;
m_RbA.angularVelocity = Vector3.zero;
/// <summary>
/// Resets the position and velocity of the agent and the goal.
/// </summary>
public override void OnEpisodeBegin()
{
pendulumA.transform.position = new Vector3(0f, -4f, 0f) + transform.position;
pendulumA.transform.rotation = Quaternion.Euler(180f, 0f, 0f);
m_RbA.velocity = Vector3.zero;
m_RbA.angularVelocity = Vector3.zero;
pendulumB.transform.position = new Vector3(0f, -10f, 0f) + transform.position;
pendulumB.transform.rotation = Quaternion.Euler(180f, 0f, 0f);
m_RbB.velocity = Vector3.zero;
m_RbB.angularVelocity = Vector3.zero;
pendulumB.transform.position = new Vector3(0f, -10f, 0f) + transform.position;
pendulumB.transform.rotation = Quaternion.Euler(180f, 0f, 0f);
m_RbB.velocity = Vector3.zero;
m_RbB.angularVelocity = Vector3.zero;
m_GoalDegree = Random.Range(0, 360);
UpdateGoalPosition();
m_GoalDegree = Random.Range(0, 360);
UpdateGoalPosition();
SetResetParameters();
SetResetParameters();
goal.transform.localScale = new Vector3(m_GoalSize, m_GoalSize, m_GoalSize);
}
goal.transform.localScale = new Vector3(m_GoalSize, m_GoalSize, m_GoalSize);
}
public void SetResetParameters()
{
m_GoalSize = m_ResetParams.GetWithDefault("goal_size", 5);
m_GoalSpeed = Random.Range(-1f, 1f) * m_ResetParams.GetWithDefault("goal_speed", 1);
m_Deviation = m_ResetParams.GetWithDefault("deviation", 0);
m_DeviationFreq = m_ResetParams.GetWithDefault("deviation_freq", 0);
}
public void SetResetParameters()
{
m_GoalSize = m_ResetParams.GetWithDefault("goal_size", 5);
m_GoalSpeed = Random.Range(-1f, 1f) * m_ResetParams.GetWithDefault("goal_speed", 1);
m_Deviation = m_ResetParams.GetWithDefault("deviation", 0);
m_DeviationFreq = m_ResetParams.GetWithDefault("deviation_freq", 0);
public override void Heuristic(float[] actionsOut)
{
for (var i = 0; i < actionsOut.Length; i++)
{
actionsOut[i] = Random.Range(-1f, 1f);
}
}
}
}

7
Project/Assets/ML-Agents/Examples/Tennis/Demos/ExpertTennis.demo.meta


fileFormatVersion: 2
guid: 9676a67fc4a8d420aab12eb513a845a8
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/Tennis/Demos/ExpertTennis.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/Tennis/Demos/ExpertTennis.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/Walker/Demos/ExpertWalker.demo.meta


fileFormatVersion: 2
guid: d75254c9e8cb8402d98eede161c74a60
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/Walker/Demos/ExpertWalker.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/Walker/Demos/ExpertWalker.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/PushBlock/Demos/ExpertPush.demo.meta


fileFormatVersion: 2
guid: 7f11f35191533404c9957443a681aaee
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/PushBlock/Demos/ExpertPush.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/PushBlock/Demos/ExpertPush.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

943
Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerStaticTarget.unity
文件差异内容过多而无法显示
查看文件

954
Project/Assets/ML-Agents/Examples/Crawler/Scenes/CrawlerDynamicTarget.unity
文件差异内容过多而无法显示
查看文件

7
Project/Assets/ML-Agents/Examples/Crawler/Demos/ExpertCrawlerDyn.demo.meta


fileFormatVersion: 2
guid: 557283e524ca0493ebc67c7b475304fe
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/Crawler/Demos/ExpertCrawlerDyn.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/Crawler/Demos/ExpertCrawlerDyn.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/Crawler/Demos/ExpertCrawlerSta.demo.meta


fileFormatVersion: 2
guid: 4975695b6ea23446a94c9be3b5d21731
ScriptedImporter:
fileIDToRecycleName:
11400000: Assets/ML-Agents/Examples/Crawler/Demos/ExpertCrawlerSta.demo
internalIDToNameTable:
- first:
114: 11400000
second: Assets/ML-Agents/Examples/Crawler/Demos/ExpertCrawlerSta.demo
serializedVersion: 2
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)'
assetBundleName:
assetBundleVariant:

3
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/FixedPlatform.prefab.meta


fileFormatVersion: 2
guid: 1b9d167a4e71146a883212e4f08bda88
NativeFormatImporter:
PrefabImporter:
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

172
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/DynamicPlatform.prefab


m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &65841473910334646
BoxCollider:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1137846479300086
GameObject:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1149961611869208
GameObject:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54374584652608446
Rigidbody:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54990410310339284
Rigidbody:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1226127568872306
GameObject:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &65052329876925482
BoxCollider:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &65330902663907910
BoxCollider:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54937608813873198
Rigidbody:
m_ObjectHideFlags: 0

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1378635263148562}
m_Enabled: 1
serializedVersion: 8
serializedVersion: 10
m_Shape: 0
m_InnerSpotAngle: 21.802082
m_CookieSize: 10
m_Shadows:
m_Type: 0

m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}

m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}

m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!1 &1380656911688510

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1384509860026036
GameObject:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &65687571811484006
BoxCollider:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54995313618971946
Rigidbody:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54086862800714152
Rigidbody:
m_ObjectHideFlags: 0

serializedVersion: 6
m_Component:
- component: {fileID: 4313455366547514}
- component: {fileID: 114060650647145362}
- component: {fileID: 8520694362683208207}
- component: {fileID: 1267665179144855710}
- component: {fileID: 869720626262916010}
- component: {fileID: 4039442205536808093}
m_Layer: 0
m_Name: Crawler
m_TagString: Untagged

m_Father: {fileID: 4595975114078986}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0}
--- !u!114 &114060650647145362
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1515093357607024}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5d1c4e0b1822b495aa52bc52839ecb30, type: 3}
m_Name:
m_EditorClassIdentifier:
m_BrainParameters:
vectorObservationSize: 126
numStackedVectorObservations: 1
vectorActionSize: 14000000
vectorActionDescriptions: []
vectorActionSpaceType: 1
m_Model: {fileID: 11400000, guid: 039557e683d584183a2a82cf8b1904c0, type: 3}
m_InferenceDevice: 0
m_BehaviorType: 0
m_BehaviorName: CrawlerDynamic
TeamId: 0
m_UseChildSensors: 1
--- !u!114 &114590693924030052
MonoBehaviour:
m_ObjectHideFlags: 0

m_Name:
m_EditorClassIdentifier:
agentParameters:
maxStep: 0
maxStep: 5000
maxStep: 5000
MaxStep: 5000
target: {fileID: 4490950947783742}
ground: {fileID: 4684408634944056}
detectTargets: 1

jointDampen: 3000
maxJointForceLimit: 10000
bodyPartsList: []
--- !u!114 &8520694362683208207
--- !u!114 &869720626262916010
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}

m_Name:
m_EditorClassIdentifier:
DecisionPeriod: 5
TakeActionsBetweenDecisions: 0
offsetStep: 0
--- !u!114 &1267665179144855710
TakeActionsBetweenDecisions: 1
--- !u!114 &4039442205536808093
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}

m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a6da8f78a394c6ab027688eab81e04d, type: 3}
m_Script: {fileID: 11500000, guid: 5d1c4e0b1822b495aa52bc52839ecb30, type: 3}
m_BrainParameters:
VectorObservationSize: 126
NumStackedVectorObservations: 1
VectorActionSize: 14000000
VectorActionDescriptions: []
VectorActionSpaceType: 1
m_Model: {fileID: 0}
m_InferenceDevice: 0
m_BehaviorType: 0
m_BehaviorName: My Behavior
TeamId: 0
m_UseChildSensors: 1
m_ObservableAttributeHandling: 0
--- !u!1 &1520563409393552
GameObject:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1546425207065466
GameObject:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54597643684472092
Rigidbody:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54668689010967368
Rigidbody:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54244746254250942
Rigidbody:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1747164777524800
GameObject:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1848578624598102
GameObject:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1908739699410054
GameObject:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54406764434260246
Rigidbody:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &54382920127001114
Rigidbody:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}

108
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/FixedPlatform.prefab


m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

serializedVersion: 6
m_Component:
- component: {fileID: 4743084330461368}
- component: {fileID: 114727679958902886}
- component: {fileID: 8847231916954260663}
- component: {fileID: 6335439310911778343}
m_Layer: 0
m_Name: Crawler
m_TagString: Untagged

m_Father: {fileID: 4309919623019186}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0}
--- !u!114 &114727679958902886
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1492298671135358}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5d1c4e0b1822b495aa52bc52839ecb30, type: 3}
m_Name:
m_EditorClassIdentifier:
m_BrainParameters:
vectorObservationSize: 126
numStackedVectorObservations: 1
vectorActionSize: 14000000
vectorActionDescriptions: []
vectorActionSpaceType: 1
m_Model: {fileID: 11400000, guid: ac4a23ff4713140198629ae0844926ee, type: 3}
m_InferenceDevice: 0
m_BehaviorType: 0
m_BehaviorName: CrawlerStatic
TeamId: 0
m_UseChildSensors: 1
--- !u!114 &114230237520033992
MonoBehaviour:
m_ObjectHideFlags: 0

m_Script: {fileID: 11500000, guid: 2f37c30a5e8d04117947188818902ef3, type: 3}
m_Name:
m_EditorClassIdentifier:
brain: {fileID: 11400000, guid: 0505e961608004377974940ed17e03d5, type: 2}
maxStep: 0
hasUpgradedFromAgentParameters: 1
maxStep: 5000
agentCameras: []
agentRenderTextures: []
maxStep: 5000
resetOnDone: 1
onDemandDecision: 0
numberOfActionsBetweenDecisions: 5
target: {fileID: 4749909135913778}
ground: {fileID: 4856650706546504}
detectTargets: 0

jointDampen: 3000
maxJointForceLimit: 10000
bodyPartsList: []
--- !u!114 &8847231916954260663
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1492298671135358}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a5c9d521e5ef4759a8246a07d52221e, type: 3}
m_Name:
m_EditorClassIdentifier:
DecisionPeriod: 5
TakeActionsBetweenDecisions: 0
offsetStep: 0
--- !u!114 &6335439310911778343
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1492298671135358}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a6da8f78a394c6ab027688eab81e04d, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1492926997393242
GameObject:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1995322274649904}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0, y: 1.5, z: 0}
m_LocalScale: {x: 0.01, y: 0.03, z: 0.01}
m_LocalPosition: {x: -0, y: 0.5, z: 0}
m_LocalScale: {x: 0.01, y: 0.01, z: 0.01}
m_Children: []
m_Father: {fileID: 4924174722017668}
m_RootOrder: 1

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

437
Project/Assets/ML-Agents/Examples/Crawler/Scripts/CrawlerAgent.cs


using UnityEngine;
using Unity.MLAgents;
using Unity.MLAgentsExamples;
[RequireComponent(typeof(JointDriveController))] // Required to set joint forces
public class CrawlerAgent : Agent
namespace Unity.MLAgentsExamples
[Header("Target To Walk Towards")]
[Space(10)]
public Transform target;
public Transform ground;
public bool detectTargets;
public bool targetIsStatic;
public bool respawnTargetWhenTouched;
public float targetSpawnRadius;
[RequireComponent(typeof(JointDriveController))] // Required to set joint forces
public class CrawlerAgent : Agent
{
[Header("Target To Walk Towards")]
[Space(10)]
public Transform target;
[Header("Body Parts")] [Space(10)] public Transform body;
public Transform leg0Upper;
public Transform leg0Lower;
public Transform leg1Upper;
public Transform leg1Lower;
public Transform leg2Upper;
public Transform leg2Lower;
public Transform leg3Upper;
public Transform leg3Lower;
public Transform ground;
public bool detectTargets;
public bool targetIsStatic = false;
public bool respawnTargetWhenTouched;
public float targetSpawnRadius;
[Header("Joint Settings")] [Space(10)] JointDriveController m_JdController;
Vector3 m_DirToTarget;
float m_MovingTowardsDot;
float m_FacingDot;
[Header("Body Parts")]
[Space(10)]
public Transform body;
public Transform leg0Upper;
public Transform leg0Lower;
public Transform leg1Upper;
public Transform leg1Lower;
public Transform leg2Upper;
public Transform leg2Lower;
public Transform leg3Upper;
public Transform leg3Lower;
[Header("Reward Functions To Use")]
[Space(10)]
public bool rewardMovingTowardsTarget; // Agent should move towards target
[Header("Joint Settings")]
[Space(10)]
JointDriveController m_JdController;
Vector3 m_DirToTarget;
float m_MovingTowardsDot;
float m_FacingDot;
public bool rewardFacingTarget; // Agent should face the target
public bool rewardUseTimePenalty; // Hurry up
[Header("Reward Functions To Use")]
[Space(10)]
public bool rewardMovingTowardsTarget; // Agent should move towards target
[Header("Foot Grounded Visualization")]
[Space(10)]
public bool useFootGroundedVisualization;
public bool rewardFacingTarget; // Agent should face the target
public bool rewardUseTimePenalty; // Hurry up
public MeshRenderer foot0;
public MeshRenderer foot1;
public MeshRenderer foot2;
public MeshRenderer foot3;
public Material groundedMaterial;
public Material unGroundedMaterial;
[Header("Foot Grounded Visualization")]
[Space(10)]
public bool useFootGroundedVisualization;
public MeshRenderer foot0;
public MeshRenderer foot1;
public MeshRenderer foot2;
public MeshRenderer foot3;
public Material groundedMaterial;
public Material unGroundedMaterial;
Quaternion m_LookRotation;
Matrix4x4 m_TargetDirMatrix;
Quaternion m_LookRotation;
Matrix4x4 m_TargetDirMatrix;
public override void Initialize()
{
m_JdController = GetComponent<JointDriveController>();
m_DirToTarget = target.position - body.position;
public override void Initialize()
{
m_JdController = GetComponent<JointDriveController>();
m_DirToTarget = target.position - body.position;
//Setup each body part
m_JdController.SetupBodyPart(body);
m_JdController.SetupBodyPart(leg0Upper);
m_JdController.SetupBodyPart(leg0Lower);
m_JdController.SetupBodyPart(leg1Upper);
m_JdController.SetupBodyPart(leg1Lower);
m_JdController.SetupBodyPart(leg2Upper);
m_JdController.SetupBodyPart(leg2Lower);
m_JdController.SetupBodyPart(leg3Upper);
m_JdController.SetupBodyPart(leg3Lower);
}
//Setup each body part
m_JdController.SetupBodyPart(body);
m_JdController.SetupBodyPart(leg0Upper);
m_JdController.SetupBodyPart(leg0Lower);
m_JdController.SetupBodyPart(leg1Upper);
m_JdController.SetupBodyPart(leg1Lower);
m_JdController.SetupBodyPart(leg2Upper);
m_JdController.SetupBodyPart(leg2Lower);
m_JdController.SetupBodyPart(leg3Upper);
m_JdController.SetupBodyPart(leg3Lower);
}
/// <summary>
/// Add relevant information on each body part to observations.
/// </summary>
public void CollectObservationBodyPart(VectorSensor vectorSensor, BodyPart bp)
{
var rb = bp.rb;
vectorSensor.AddObservation(bp.groundContact.touchingGround ? 1 : 0); // Whether the bp touching the ground
/// <summary>
/// Add relevant information on each body part to observations.
/// </summary>
public void CollectObservationBodyPart(BodyPart bp, VectorSensor sensor)
{
var rb = bp.rb;
sensor.AddObservation(bp.groundContact.touchingGround ? 1 : 0); // Whether the bp touching the ground
var velocityRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(rb.velocity);
vectorSensor.AddObservation(velocityRelativeToLookRotationToTarget);
var velocityRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(rb.velocity);
sensor.AddObservation(velocityRelativeToLookRotationToTarget);
var angularVelocityRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(rb.angularVelocity);
vectorSensor.AddObservation(angularVelocityRelativeToLookRotationToTarget);
var angularVelocityRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(rb.angularVelocity);
sensor.AddObservation(angularVelocityRelativeToLookRotationToTarget);
if (bp.rb.transform != body)
{
var localPosRelToBody = body.InverseTransformPoint(rb.position);
vectorSensor.AddObservation(localPosRelToBody);
vectorSensor.AddObservation(bp.currentXNormalizedRot); // Current x rot
vectorSensor.AddObservation(bp.currentYNormalizedRot); // Current y rot
vectorSensor.AddObservation(bp.currentZNormalizedRot); // Current z rot
vectorSensor.AddObservation(bp.currentStrength / m_JdController.maxJointForceLimit);
}
}
if (bp.rb.transform != body)
public override void CollectObservations(VectorSensor vectorSensor)
var localPosRelToBody = body.InverseTransformPoint(rb.position);
sensor.AddObservation(localPosRelToBody);
sensor.AddObservation(bp.currentXNormalizedRot); // Current x rot
sensor.AddObservation(bp.currentYNormalizedRot); // Current y rot
sensor.AddObservation(bp.currentZNormalizedRot); // Current z rot
sensor.AddObservation(bp.currentStrength / m_JdController.maxJointForceLimit);
}
}
m_JdController.GetCurrentJointForces();
public override void CollectObservations(VectorSensor sensor)
{
m_JdController.GetCurrentJointForces();
// Update pos to target
m_DirToTarget = target.position - body.position;
m_LookRotation = Quaternion.LookRotation(m_DirToTarget);
m_TargetDirMatrix = Matrix4x4.TRS(Vector3.zero, m_LookRotation, Vector3.one);
// Update pos to target
m_DirToTarget = target.position - body.position;
m_LookRotation = Quaternion.LookRotation(m_DirToTarget);
m_TargetDirMatrix = Matrix4x4.TRS(Vector3.zero, m_LookRotation, Vector3.one);
RaycastHit hit;
if (Physics.Raycast(body.position, Vector3.down, out hit, 10.0f))
{
vectorSensor.AddObservation(hit.distance);
}
else
vectorSensor.AddObservation(10.0f);
RaycastHit hit;
if (Physics.Raycast(body.position, Vector3.down, out hit, 10.0f))
{
sensor.AddObservation(hit.distance);
}
else
sensor.AddObservation(10.0f);
// Forward & up to help with orientation
var bodyForwardRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(body.forward);
vectorSensor.AddObservation(bodyForwardRelativeToLookRotationToTarget);
// Forward & up to help with orientation
var bodyForwardRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(body.forward);
sensor.AddObservation(bodyForwardRelativeToLookRotationToTarget);
var bodyUpRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(body.up);
vectorSensor.AddObservation(bodyUpRelativeToLookRotationToTarget);
var bodyUpRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(body.up);
sensor.AddObservation(bodyUpRelativeToLookRotationToTarget);
foreach (var bodyPart in m_JdController.bodyPartsDict.Values)
{
CollectObservationBodyPart(vectorSensor, bodyPart);
}
}
foreach (var bodyPart in m_JdController.bodyPartsDict.Values)
/// <summary>
/// Agent touched the target
/// </summary>
public void TouchedTarget()
CollectObservationBodyPart(bodyPart, sensor);
AddReward(1f);
if (respawnTargetWhenTouched)
{
GetRandomTargetPos();
}
}
/// <summary>
/// Agent touched the target
/// </summary>
public void TouchedTarget()
{
AddReward(1f);
if (respawnTargetWhenTouched)
/// <summary>
/// Moves target to a random position within specified radius.
/// </summary>
public void GetRandomTargetPos()
GetRandomTargetPos();
var newTargetPos = Random.insideUnitSphere * targetSpawnRadius;
newTargetPos.y = 5;
target.position = newTargetPos + ground.position;
}
/// <summary>
/// Moves target to a random position within specified radius.
/// </summary>
public void GetRandomTargetPos()
{
var newTargetPos = Random.insideUnitSphere * targetSpawnRadius;
newTargetPos.y = 5;
target.position = newTargetPos + ground.position;
}
public override void OnActionReceived(float[] vectorAction)
{
public override void OnActionReceived(float[] vectorAction)
{
// The dictionary with all the body parts in it are in the jdController
var bpDict = m_JdController.bodyPartsDict;
// The dictionary with all the body parts in it are in the jdController
var bpDict = m_JdController.bodyPartsDict;
var i = -1;
var i = -1;
// Pick a new target joint rotation
bpDict[leg0Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0);
bpDict[leg1Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0);
bpDict[leg2Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0);
bpDict[leg3Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0);
bpDict[leg0Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
bpDict[leg1Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
bpDict[leg2Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
bpDict[leg3Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
// Pick a new target joint rotation
bpDict[leg0Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0);
bpDict[leg1Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0);
bpDict[leg2Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0);
bpDict[leg3Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0);
bpDict[leg0Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
bpDict[leg1Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
bpDict[leg2Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
bpDict[leg3Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
// Update joint strength
bpDict[leg0Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg1Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg2Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg3Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg0Lower].SetJointStrength(vectorAction[++i]);
bpDict[leg1Lower].SetJointStrength(vectorAction[++i]);
bpDict[leg2Lower].SetJointStrength(vectorAction[++i]);
bpDict[leg3Lower].SetJointStrength(vectorAction[++i]);
}
// Update joint strength
bpDict[leg0Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg1Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg2Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg3Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg0Lower].SetJointStrength(vectorAction[++i]);
bpDict[leg1Lower].SetJointStrength(vectorAction[++i]);
bpDict[leg2Lower].SetJointStrength(vectorAction[++i]);
bpDict[leg3Lower].SetJointStrength(vectorAction[++i]);
}
void FixedUpdate()
{
if (detectTargets)
void FixedUpdate()
foreach (var bodyPart in m_JdController.bodyPartsDict.Values)
if (detectTargets)
if (bodyPart.targetContact && bodyPart.targetContact.touchingTarget)
foreach (var bodyPart in m_JdController.bodyPartsDict.Values)
TouchedTarget();
if (bodyPart.targetContact
// && !IsDone() - TODO copied from old code
&& bodyPart.targetContact.touchingTarget)
{
TouchedTarget();
}
}
// If enabled the feet will light up green when the foot is grounded.
// This is just a visualization and isn't necessary for function
if (useFootGroundedVisualization)
{
foot0.material = m_JdController.bodyPartsDict[leg0Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
foot1.material = m_JdController.bodyPartsDict[leg1Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
foot2.material = m_JdController.bodyPartsDict[leg2Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
foot3.material = m_JdController.bodyPartsDict[leg3Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
// If enabled the feet will light up green when the foot is grounded.
// This is just a visualization and isn't necessary for function
if (useFootGroundedVisualization)
{
foot0.material = m_JdController.bodyPartsDict[leg0Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
foot1.material = m_JdController.bodyPartsDict[leg1Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
foot2.material = m_JdController.bodyPartsDict[leg2Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
foot3.material = m_JdController.bodyPartsDict[leg3Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
}
// Set reward for this step according to mixture of the following elements.
if (rewardMovingTowardsTarget)
{
RewardFunctionMovingTowards();
}
if (rewardFacingTarget)
{
RewardFunctionFacingTarget();
}
if (rewardUseTimePenalty)
{
RewardFunctionTimePenalty();
}
// Set reward for this step according to mixture of the following elements.
if (rewardMovingTowardsTarget)
/// <summary>
/// Reward moving towards target & Penalize moving away from target.
/// </summary>
void RewardFunctionMovingTowards()
RewardFunctionMovingTowards();
m_MovingTowardsDot = Vector3.Dot(m_JdController.bodyPartsDict[body].rb.velocity, m_DirToTarget.normalized);
AddReward(0.03f * m_MovingTowardsDot);
if (rewardFacingTarget)
/// <summary>
/// Reward facing target & Penalize facing away from target
/// </summary>
void RewardFunctionFacingTarget()
RewardFunctionFacingTarget();
m_FacingDot = Vector3.Dot(m_DirToTarget.normalized, body.forward);
AddReward(0.01f * m_FacingDot);
if (rewardUseTimePenalty)
/// <summary>
/// Existential penalty for time-contrained tasks.
/// </summary>
void RewardFunctionTimePenalty()
RewardFunctionTimePenalty();
AddReward(-0.001f);
}
/// <summary>
/// Reward moving towards target & Penalize moving away from target.
/// </summary>
void RewardFunctionMovingTowards()
{
m_MovingTowardsDot = Vector3.Dot(m_JdController.bodyPartsDict[body].rb.velocity, m_DirToTarget.normalized);
AddReward(0.03f * m_MovingTowardsDot);
}
/// <summary>
/// Loop over body parts and reset them to initial conditions.
/// </summary>
public override void OnEpisodeBegin()
{
if (m_DirToTarget != Vector3.zero)
{
transform.rotation = Quaternion.LookRotation(m_DirToTarget);
}
/// <summary>
/// Reward facing target & Penalize facing away from target
/// </summary>
void RewardFunctionFacingTarget()
{
m_FacingDot = Vector3.Dot(m_DirToTarget.normalized, body.forward);
AddReward(0.01f * m_FacingDot);
}
/// <summary>
/// Existential penalty for time-contrained tasks.
/// </summary>
void RewardFunctionTimePenalty()
{
AddReward(-0.001f);
}
transform.Rotate(Vector3.up, Random.Range(0.0f, 360.0f));
/// <summary>
/// Loop over body parts and reset them to initial conditions.
/// </summary>
public override void OnEpisodeBegin()
{
if (m_DirToTarget != Vector3.zero)
{
transform.rotation = Quaternion.LookRotation(m_DirToTarget);
}
transform.Rotate(Vector3.up, Random.Range(0.0f, 360.0f));
foreach (var bodyPart in m_JdController.bodyPartsDict.Values)
{
bodyPart.Reset(bodyPart);
}
foreach (var bodyPart in m_JdController.bodyPartsDict.Values)
{
bodyPart.Reset(bodyPart);
}
if (!targetIsStatic)
{
GetRandomTargetPos();
if (!targetIsStatic)
{
GetRandomTargetPos();
}
}
}

23
Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/CameraFollow.cs


{
public class CameraFollow : MonoBehaviour
{
public Transform target;
Vector3 m_Offset;
// Use this for initialization
void Start()
{
m_Offset = gameObject.transform.position - target.position;
}
Transform m_Target;
Vector3 m_Offset = new Vector3(5.0f, 7.0f, 5.0f);
// gameObject.transform.position = target.position + offset;
var newPosition = new Vector3(target.position.x + m_Offset.x, transform.position.y,
target.position.z + m_Offset.z);
gameObject.transform.position = newPosition;
if (m_Target == null)
{
var targetGO = GameObject.Find("Body");
m_Target = targetGO.transform;
}
gameObject.transform.position = m_Target.position + m_Offset;
gameObject.transform.LookAt(m_Target);
}
}
}

27
config/ppo/ArticulatedCrawlerDynamic.yaml


behaviors:
ArticulatedCrawlerDynamic:
trainer_type: ppo
hyperparameters:
batch_size: 2024
buffer_size: 20240
learning_rate: 0.0003
beta: 0.005
epsilon: 0.2
lambd: 0.95
num_epoch: 3
learning_rate_schedule: linear
network_settings:
normalize: true
hidden_units: 512
num_layers: 3
vis_encode_type: simple
reward_signals:
extrinsic:
gamma: 0.995
strength: 1.0
output_path: default
keep_checkpoints: 5
max_steps: 10000000
time_horizon: 1000
summary_freq: 30000
threaded: true

27
config/ppo/ArticulatedReacher.yaml


behaviors:
ArticulatedReacher:
trainer_type: ppo
hyperparameters:
batch_size: 2024
buffer_size: 20240
learning_rate: 0.0003
beta: 0.005
epsilon: 0.2
lambd: 0.95
num_epoch: 3
learning_rate_schedule: linear
network_settings:
normalize: true
hidden_units: 128
num_layers: 2
vis_encode_type: simple
reward_signals:
extrinsic:
gamma: 0.995
strength: 1.0
output_path: default
keep_checkpoints: 5
max_steps: 20000000
time_horizon: 1000
summary_freq: 60000
threaded: true

284
Project/Assets/ML-Agents/Examples/Reacher/TFModels/ReacherLearning.nn


vector_observation����!epsilon����action action_probsaction_output_shape������?action_output_shape memory_sizeversion_numberis_continuous_controlLog/xnormalized_state/Minimum/ylog_sigma_squared running_mean!
!mul_3/x+mul_2/x,clip_by_value/Minimum/y-normalized_state/y. truediv_3/y/add_3/y0clip_by_value/y1running_variance!2!normalization_stepsSmul_4/xTsub_3e�����?vector_observation running_meanadd_3d�����?normalization_stepsadd_3/y truediv_1g�����?running_varianceadd_3Sqrt2o�����? truediv_1 truediv_2g�����?sub_3Sqrtnormalized_state/Minimumn�����? truediv_2normalized_state/Minimum/ynormalized_stateo�����?normalized_state/Minimumnormalized_state/ymain_graph_0/hidden_0/BiasAdd�����?normalized_statemain_graph_0/hidden_0/kernel!�U�main_graph_0/hidden_0/bias���main_graph_0/hidden_0/Mul2 �����?main_graph_0/hidden_0/BiasAddmain_graph_0/hidden_1/BiasAdd�����?main_graph_0/hidden_0/Mulmain_graph_0/hidden_1/kernel��U@main_graph_0/hidden_1/bias�UQ�main_graph_0/hidden_1/Mul2 �����?main_graph_0/hidden_1/BiasAdd dense/BiasAdd�����?main_graph_0/hidden_1/Mul dense/kernel��Q
dense/bias�SExp2q�����?log_sigma_squaredSqrt_12o�����?Expmul_1f�����?Sqrt_1epsilonadd_4d�����? dense/BiasAddmul_1clip_by_value/Minimumn�����?add_4clip_by_value/Minimum/y clip_by_valueo�����?clip_by_value/Minimumclip_by_value/y truediv_3g�����? clip_by_value truediv_3/yaction2�����? truediv_3sub_4e�����?add_4 dense/BiasAddSquaref�����?sub_4sub_4mul_2f�����?mul_2/xSquare truediv_4g�����?mul_2ExpLog2r�����?Log/xmul_3f�����?mul_3/xLogsub_5e�����? truediv_4mul_3mul_4f�����?mul_4/xlog_sigma_squaredsub_6e�����?sub_5mul_4 action_probs2�����?sub_6�@@�?��@�@>8J��Q������J���컝��� <�?T���� l;�t�;�u =hdn<�=�&*��q<ɇK;�"=OW6�X:X����=3�μ�6<kIS="��><�=�ޠ>��; *�='%t��G�=��;0�?���;?�@@��@@�?@���qHE�7HD��HшH.��E���E8F��|G��/F7�AF�ЇH�ϩH���H� �Ip�I�C�I�v�F"�wF�WF�z�F!��HK��GڙH�nDI}�I�NIE5�I�?a9�I�?���?�?��F $tI? f>��M>���F�-�=�Z!={#�>?�<o�����k&𽃗6>�S��:���.>G
=��(��φ>}U��n�=���<�Z��j�k��j="��=����>r��=�2g>ݺ=fSE�>(S��w9�)܇��8�=�0�<�U�>h G��P`>���>���TZ�>�{�=��`>kB >��b<T�����.�ͽq
��E���߹�< �!>3�=���3< u�=��:>����z�=�X���'�>�)�>�gJ>�d)=>l�>�M�=�K�=\.g=�z�=I��<-���}w�=��>fR3>菧�p����O"�h�@�~:��a��=�>>��������4>���=�L>���=�>ڨ=D�>a��>�:�z�� �7M�o���n��Ҁ>� ��$�7`b>�Ƹ��lY�y�>�l�95>jǨ����=��ֽ��þOD>��4��{�9��s_��:�o�����t>g>Fؾ��>�o����=Z�h���ὴ���>�n=A���8�¼s�>��w>� �=�T�= �&>C�>�[���#齪>p�n@�,����)�=l�V��E]=y
���n�>��|پ�+��Ȇ>���=�����>&�̾uA�#!��T
i���=o��1e:=q���4K>�0�����<i!l�C��>�IS>ݛ ������<��烾�/�=�-=�$=�;8>X�
��F#>墩>��潝�:���̾a?�>�z��$2�f >7��=D~��Ș�=��ʾ��<|-�����I�=��>�լ>������T=�G<^��:������ ҫ��:�>O@>��}���>�KN��������ʉ��dL�#������������A�r��>dM�<y�ὮF�=*4����f>���=1���2=F<�6d'=��V<����;�=����:����R�lR�<��\�� #>���=P�>^��=�������� >�t�>8�h>3W���r>��>;��=�s���m���Zl�]L�!>bD���K0�ט4>�~S�sO��Jɾ�K�=Ĭ�]S�9��<�PF�T�[��N0�"�>F�<>�����O_>���=���C>)|=>�U(=x��=��p�,V>r/\>����;�U�=�/2>|]�l��<��P�`�e�b�u�>\*W>! >��ʽ� >]��?J��;>�%��R�1���H�m;C��,�}%3<�����x>����r�ɽ�� ���;��ˡ>q�]>��1>.By=�7��}K>=}��=���>mUA�ek�>o6>ed[>Չ����|�b�H�"N����=1%�����<n}��k�������>^�2> ���IO*����>:�s=��>9l �{��> �=~X��|��> �����>���>�rY=h�A= ];/�K���>�l�=�S�=�(�=�����F�=���=���>| 9>=*�={�E�����M=��<�$b=��t=��������>����>B�,=�օ�f�g�#�<GL�+Ї��j@=��
�=�������ֽ��=�V���y�M\>����p U��e5��<Ƚ�K�>�e˽˰7>�3Լ��F>���O����-�� ���/>xf��=��Ɋ������@���F��r�_o.=i���l�>�l��fš�퀱��t��}������<��S������=\�� �0>s����Լ�3"<yV���zt>ԽQ0�>���<�О;лc=0�;���b�N�P��/>a�X�'�$>��|=���>.3�={%C>�w>{e��p#彀Ɏ�Z=��1�>��/�i@ =[��b�>R�`;����sN���M=yPy>��>�Hq>>�6�=� s>h �b�s��<>�<Y��">0�N>�a��D�F���=�8�q���>��4>51�>��J�ډ��*v=��<�>�=��D���>�:�N>;�9>�'�=N}�>0�{�n0������g�����>dޑ���u��\���=��o=킗��{�r��=��+=���>M��<�淾��dG�>ю;!ɼWߵ>�6ӽ�2�:��N��C��&ƍ=�;��(1=x�j=�>���
>��!�j�����K)>~1ȼYzK��*�>�fF�������#�m�W���@=}�>= ��0��=��壕���9>(�z>cGp<N�`=2�>q%'=~1F�`(�=N�=3�=4:�=�8>�q>��.�px�>�] �t⓾�}]=�`���G�;�������3�l>��=�����>)�r>��=�)m�(������>P=��>f����)=��>�w>1�>�vn�!5�>���>���>PS>HM�=�WK=�9�=�i���E>{%<��U�=ŝ(��$=�.#��\|���=�����#�=<| ��tk>
w�=��m��񘽇Ԃ>�E"���5>=:�T�@�$���V��se�W>���.�>�/����M>+ʰ<����1<���v�z=���}�������=���s��=^��>j>>�3>�v����> x>n��=|��[JE=�ʛ>s9]���=�� ����&�=P�D���v��t���G��*�>,=��;⨁�X��;�r��B�</�>��">E]���3,��j�����;���U���]r;���>gy��k?v>K�R�r~>�bk�y��;䣙;�i<fu����n\�=�ȱ��Uu>p >��=��t�K։�z�ʽ��|������`>����Z��tU��y>��p��1���M�9�(=KG���h >�?��ND�����=�j���=��(���=bn�=xUU��|��_<�S�=D�>����� �=mu2�����bL�R�<"�r�RPZ��ݐ<Jw��se<>���׍�*(�H���3L���Y����L|ּJ���1��U?b>�g"�h[�<W:�<G�)>��<�Ɂ<����� }���h�b:��9z>H^�<p!<ߦ�t��<
f輒�a��F�>#$�>������<��FO��ű�����)��=f�{�k|>>:%�b~}�� нF��>�>]��=��>&T>Տ���vx���ڽd<��=.y�����gm@�R/a�'�=&#�ɒ�ƥM�X�!=o��=��>q�3>8is>�e�<���$��=�-�=�uH��[=>�)����=�Ƚ��=|�>x֕=��7>��^�̔I=;�D>�9���<ȝ=s�=�H��9��>���?�x���>��\>�/>���>��=A�>xhe>��e=���=.*e=���=w"��^�
>� ��W �JA�=��?��Ұ=�"�<Io>��0>�My=����~E�†T>ѓJ>���)}�>�m1��`�>Q�ʼ�D ��N]>�{>C욼+��>`j=���=w�b<pL=L�'>\����P�=����BK���ĕ�Z���ao$��}X>�=�绣�g>Zf����<���>f(k=�mF9Κ^>����C^z�.�=��Ⱦ��t=QP���=�0��[}�=�|ƽ4�@=2K���T�i�>�ͬ>1t�=� \� 7�=N��3�t>�YP�x7}��n���>ւ��Xl���j��m���t>�w>d�>Dս��ǽ�!(>�����5�м��9��Rú�U� +����=���zW>���=\#�=R��=�p>�~�<��=����$�<T���R�V7>`�֛M�qf�=�1����>Ղ�����<�ཽo��<�缋�u�*�������>��!>:�<fD��}+>)��O|ɼI^^>��N?��b@v�\o>�m>���(������x�t�`=q��>�h>���d��>�8M��_>M�Ⱦ�T�C6��q�}>���>z���?�>Z[@>گ�<��P>��Y=�ք>�ԡ>gHb>C� >��%>��D�Aq�=��TP�<��'<˅=o`>J8>9����=P@�>��H�wx6�P )�E
���t>����k�i�I=�R9=�����#ܼI� ���;R������.S�͟K>)=��=�U�>�g>�Ⱥ�O�����>�<���_>Yţ�!Tҽg[�>�)�:PD�<d����$�<���>i�������<�W�U��u�-<�S��J�>�B��v�򁙽ث�����>\M �:_X=��>�������=�05�[��C�l��$��������s��0�=�Q#:�"���f����=e�i>���ނ���@1>^��=��;��`��7��.T����">V6|����>��ӽr�>�=+�Q��=� � ��=7�9>l+>�>w�;��.=o�O�$V��̖���3>��=S>� >��t��s�Ɖ����>�� �CwV������ G�}��<I>/jX�����ֽ%J8=����yu��R�p>�O�=���> ��= <�=�l
�±J��+��UG�=�
���E��Ab��[���|�N�~�>��u>\���5�x�ܽhu=�ӽ� >�5 ��T̽�<>�q�=E��<#�N�< ,�r��=��������S���\I�t<{;�?��<��ֽ�
�>�ӊ�9�j�, Z>�����<�>� ���BQ��4G=�ʽN%��7No����� ���@]���y���s�P�]�p#>1�N��9��܂�a�"�% 5>�� ���m�+ۓ�JQ�=5? >�lI=���=���=ۏ�"(�h�>��j��)K����nf4�J �<z&;�>��ƽ0��<6?S�T�A�@.����5 �>�m���n��@m�S��=�b�=0� >��4�����|t���*����>�m$=,��=Ar>N��>��&>\���@M<<@s>�;A=>$>ӈ��ck���&��V
���1�=v�8<�� >v�P�5e�^�h>h���-ʒ��M����"� �˺� >_a��ަ�=�]�=����F,�=U���lw�>��8���o�3�&Ͳ�6%)�_;���m�<�~<��s>�^�=����Ғ��7�>]�꽵4>,��>5I"�ȒR��QT>�S=��wO�J�}��o2>�pn��tžd�s��=a��X"����p��\=>v;l���=h�2��+���C����>�;���BD�:j��!>�b����>(��>�T(���:<V(>t��>/�4=��T>'!��]t�s�5��h>��;=�W۽�xb>�x����<F�����Js >�N������/����>&��N>,N���/����н� ��&�=䙼[��=T:k>�E��vh >�d#�,�?�j�:= 4Y>]W�=_�����i����MO��R��Eż�pӽ/�;�k�`>H(D>�M���{����;�c�� {���(<�b���'H�R��=��>L�������=SY�;,�"����=�"�>#��<��=��5�U$����q<rۓ�<ݩ>��H������<�6[=hs��s<�7S;������<2BU>)�7>;a >0Az�YF��o!��&���LV�!��=/�����=Ag�>�h+>J#�1�=�ջQA��֍��nȽ���Vgw��
�>k����-���$�=x웽��U>�ID>����[/-��0�>�(�۠��.��>x���Ef=)�> �{=οB����=\�
��>9)>>pI<nI���2���#߼|W>�H�=-,�<I��x>�= Zs=�,���>G��=_AV��8�=R����G����=��=��:<�f�=�n=:��>�����l�=)����V��Nξl���,�= ��:�1�� ���ס= O�C��e�=�����"-\>$ܨ�J�>=��=�o:��7b��#��>.��%7I��Y�>�m=:1v>f��=���+�>*�����i�ؤr��V�<i�Z>z����~ֽ��θ}>H�]>Q���Lᄾ;�$<J(>qNz�T��=�>��h�r=����%�>�W̽/��>j� >���=�D"=��;ӛ��������=�o<��f��>hG��J�c��>V�>�`(>/���8ǽ�7�=&4�=�����\�hۺ��=6jq<<�]��o~>��ǾN��=�} ��[`>�I >��ʾ��_�hTd��6�=d���?6�=YA>��>Ӫ��Nhɼ���>n#Ǿ1Dh�v� >j�3�rvd<��=�����:J<�`6��a���O>�[�>i�=��$> �F>Q�>I�)>x� ���U> �q=���<��>I�>��<�葻O>��8<�K�=f =�Ċ��K����=:��=��:=iF�����s >ڽri�<���ƪ=<<�<�,��X�=T��=|1�=,z�>ŗ߽g������tP>l�潛��=O�� ���J潤6�<ofm�ʟ�z�=Z�ս���<�d!�bUA��n�>���=�������=j�>�L��X�,��=��uxɾZ�}���>#���%� A���=��=��F���>gi�>��:��
� I�= ��
>��>�% >��R=��>�h����>6Q���৽�C=��$���1=�ك>5ĭ>���t���%�vu�5U�Z
��y ��Au��{����D<��>!�e�P0��t>�y=�F���>>���;�+>"ٵ=���=Y�=��T=b�� �;>q}�eO�>��y>,������|�>C��>K%�=,���]��=�J�=#�>�8�<�,}>��=�����u;��<��=�#>dۡ>w�T����>Y���0�e<˺5�>Gj�>�T������VG� &Q�8e�ޤ����=���<�]���� =2�>� ھ]s]>���=� 7����=�ќ=�w�>���>�eӽ p��Ʌ��Y:<�M4>ds��P����`�m��z>�z>Bͣ=� ��Mt��N�M�>�'5�t->u����ω>�=��!սJl8>$'���� >Qh�����X8�̔>��=�]��8�=~��;b04>O i<�i=y��=���`7>L�>��
��q��h� >}pþ��=A� ��9��s������<Q6��,7�T���k]�<m2�>�.��w�f�����4�>7�<�:>����*YW��E�=��p>x�J>G���?a>��f�M��>]𧾂*=tB�>���=������~>�ň>YJ�>Β��ݬ��%R�>��(>��<>0�S���>��� �;�� ����M�<�Ѝ=�r/>�0�=a2�z @>GK�=X��>��=M� ���ؽ����x���d�<�Uo=Md=pv�>^s5��ߋ=�[½|='>���=0�O��֓>�=��>%u�=c/����,�(S���/y>m��G���;�/o��p���ƴ=I^���\����=u6þ�߾����"��� 6�>�Q��zo1>��>�d >`�ɻzq��F� �l��=Ch�� ��٨>ۢ���`�n��2��M8d��Wӽ7H�L*p���g>���>Z�>�?�"�@�r�>T ��~Q�>d���݃�9��>����5&�=TM7�T�B==��>e�m�5��xJ���/�>
 ?56���+=>*�������ŧ>%���������sY��V~>�k>H��Z8�>-:�VA�>��=����A����9�>��=���ͱ��(t2�C}>�I?{�=�͚>�B>�x&���!>�Q�>�\��uw> c�>]�B>��>�B�xU޾�08>�Ϊ>�ȩ�?ք��Ľt.�:�LH�F��>���U�=�S�U��h��>�"��P�>s�A=<��=v5q>���L��>h 5�+a >�@Y>���>?�a�t�ƾ!z��1�Y��O��R>q��}��=k>h+�|��>Şf>��)�Bk_=�۲�gB =.⽏�q�Љ����<>[u�.���Q>3>�`T���Z�n��>9Gl=V�=Can=麼� ����=` ��婍>��>nik�I��<˭�=2E7>�4m��>��>�=� H=/�T�;�>�^�=���<��e��G���lF��7</)�B>>���<�4=�Z�<��"*p<9��<���<��->z�t>2�;>;4�=β9=����Ӝ�ғ��7�G�C�V���=)��>Y�\=i�{���F>y2>�]g=�K�� ^=�W�=[{�>��d��[�=y++>��Q<�^;>{М����]߶��%<�[�Cw/��59>�0�� |���=D�}>C��#�c��/R��e>-��=�D���ܸ=1��=g�->K��/>�y�>{W>�P��g>�<]����f�ɽ?e�>m�>^�>�㞾w���M%_�-L轰�%>Wj]>�.��E ���m�)�_=9��=�@>���=��K���B>�r�����X>*>����(��+)>'@v�ys��&=���=�۔�{����>/=|>�K�<?nX�x��>)(>8�;��d>{ɥ���Y8�;�T����<��ƽ "��Ⱥ>���=Y�<h|�=H?��i>�䁾7�>s�=-��⽎�"�{��=|�N<��W��2���.��/+> I���la>+>��6����c��_�=˾q���޽�o]�:yD��J�=�_>���=]�6����2�P� <[܀�,A=z@�;��=©���
���L=�IJ��<�=?�s��㳽���>�w�< �= I>o!I>V�<!�J� R>vT=��a>Y ����>\D�=ǹ{�˵<Vݦ>9��<�B>&�>��ѽKY�=8V6�rnȾ��:=�)�!�>�yn>�4�>h���I¹=Q=��;�nI>B撽���>umq��J��'����6̔>��d�~�T�|$=�qo�>l>*��>�=V�8����2>��{��
�:p��>�?�=��=��Ԁ�v�g!νN[:>bd���{����=��G��[��3�=L��="��>�2�>o���y��I���@�=�a����>\_>��2=_��<��=��X=�)>�y�=¢�;��+�����4>or�=B�$> d��a�����[�~D��u�H�0�nE> �>�]>�N��H�<'��ϯU�2�*>-������ �%�� �>�}�=|飾�G>�ܕ=c:���{�=O���/F��V�>a���߿���n>� c��Wi�P�^Q�<�A>b��=�1>�2ּ����;=~�=�淾�[u����>��������˹=JLN� 5ҽ�۹=��%�fV�=��t����X0��T�I=f4�=�J>�d���I�=�3�=yQY��ڇ>"��=��a;t6d�:�
��=����b=�A =J"�>�i,�*��q�>[<vd==݆[;{�=�)���1ٽ��=�k>׾ =A��=���>�Au>D�a<��=a=G�Fzg>,]�=��>m��<6���&�齑��=_�.��Yp�
FD�=�8>��7=�B��\{>w�i�$��>�(��'=��V߇�q>w�!�tPw�V���rB��_T�<��.��*s< u����P<h��@[�a'>���\K�=����Q�=�_�=VɄ�?}�jb�>�d�=�Ȣ����w ��, �>��)>�&�>3��[b�N��G��R�G`�<�m>")�
�>l
T>�p>g��=b����i&���>Fv���{�=�ꍾ������>Ot¼���=�+���_��}��>O�= 2�a�7>O[�=� �;�*>c0�:�>�o�=�`<�Α���s��F>�p3�&�y��N�=���<#�3��<�q���� >��z��T἖����g���-=�޺�R�9��X�<�஽��j>I5M>����T7�=��~�<��=��|>ud:" :��M�=<=C�5����<^�=�=7�>�Yp��د��XE��|>���>_k���S�5�,>�>�=��b=o��>'W3>f�>D��=!WI>�=��>m��=�0�=k&>,�=!|�=��>@�<�#���{*�<��ɽُ�=S��=M�1=w�+��~��gI�=2��>hG+�-�> sW����<�aA�#�>�';=�M1>uZ>���vˀ�yŬ>�?>n4M�v�<CU=MdJ����> �,�@y'>g7t>#\�>R�>��;~X>}����>�=X�= >�S���L��(�N�U=;ql�7������z�=�S�=�yx����(ྼ4�=
bJ�m
�=G"6>f`N>��k�*!T=Nɲ=v>|q���K�=Y�����="1N���i�U>��>�J+�l�;qq2�yk�>[l�\oy�n��>�j�Z�>Em(���=�W�k 1<�0 >���U5O���>��c=�N-=�6�=�p'����=&�=3�{���>�RF=d�R=n���I޷��L>�â�#�<�a����߾xV�΢�>\�a���p��*������u(�>v�=p��煾��#>+�>��>���>l���DPQ���U�Qx�C�=�6E�L����$�>��<��Z�<ۜ>,�U=�>�8�=����~�=���a�-���g���LhH=L�)>����s�?>�\��Vw�<C�F�'��=?c�>7�v����xF����=k[�<06;>�t==�����>`,=�Z>V�>��=:n������ |�>�@�=w�����C>�(>��㼑N��U�X�=����� ��w��Yq�=U��=�C��'���.�>�i?��ᔾ� �= �������k>`b� �н-k>��<_+Y�����hR��g����=-V�=ڟ��tG��>)Z��]���M>�n�%��=f]?>*��<�?=>s����Q�=���>����+���I���WI�>P^9>ߔb�:I�=�\̾7���L���͈=i�۽ ��<"��>�������gm���|>��ѽ4&�/�>�]=
��;�h��$�7�$�I>}��=4�K�j���Dҽ�nu>=@�=d3�=�� �x�>�s�=V�=�U��:�=��ϼ�`��۠O��1Z>z��>of��?f��5KH�sY�=��O��G[�U��=���>)��=<�> E\��_Խ��m��ȷ>"�=����۾�>�bC>�5�������߽��~>��G;���=�t >��0��ὰ0=�H��,Y>H99=w�>O��<z�ڽ2Ҍ>�<�=�q�")�>6�ݽ_�5>��B�/]W<Nl���>O��=�ξ!�>#�����7���X��2U>��C�i9�k��<`�>V<>Y�w��B�>���=��p�e͹���=�F�>s]����>����P�Ǿ��5>�^?=� ���$>"�Ծõ׾�_)>{i�< >����t��=F����>C�-��Le>"�Y>�*��F鼾�ș=�[�>��=�ȿ<:9���9E>���=~-�=�q7>+K>8+>
��� L>��~����>!0m=*=��9��>����X�|>�� >�l�>��n� f>h��>�=�����F��<]�=��-�ɽD�e�.`"�A*=Xd�=�u�>�]"=]9Q>^)(��p��A��=#Y����<����V'�x긽b�R�?c~�D�`��lU�/�5�� ����=>_>�đ=_H�9�V�CJ7��t>n />�����Y=>�
��L>��`��H�J�_io����Qw>yX#>k���2���t�=���>\�4<�+���y��#}>�9)����=��w�b|�=��$��O�<�򯾹������=}S��z�>ٹ�=o/Q>yh�
Z<!��<�@>�wH>��?�2"��`">VA�>m���<�>���<���>'>4��=.���\ѝ�V�W>��,�t=���=�o>���»�/������U�@��=�荽�� ��B?��#�=�1����`J9����=s�=��v>D>��=��>J��<2����6�F�8�6ҽ�>�=%`ɽ5ʽ���>���=����>>�>Y����W�=x˚<�Z�=��2�� >�� ��ƼHG}��� =7�>A�Ҿ�|:�!zM���M>��>|�09���[E��J+��[$><�*>�m�=�����¼��>��T�U�4�Y�(��[��e`��q�=�>��%�����S�=Ww>��@> �J�rG�Ԭս ���=p�EY�=�b�>W3�<Ϻa���>z��!�=��>�->>63>0>+>&��=�w����>�ϱ�s����>�yG>��;N^L>�Շ�v�>4��=��X�H�F>�����L�H�k>\�~=��(����=n�0����N��=s���4A�n�;���>E�=_����؄�;s�=~�C<������>��&>��Z�-��#���cS����y��ŋ����.>�y��$�c>̽��i��������<��:���w>��=h�Q>b�,>Ì>.�P���>��=�1��i�p�I�>��}>F�%>�M�=״ҽ�I>�7K��፽�b���3*>��U> ߼=� U�]/><l�as���<�U�=>�9>^_Ͼ��ٽ�
뼴5 ={��w�==�]I=w榽���=2�4>ŗ>D�9=�����H������2��b���_I>`@�>�#��z������<�=pNr���)� ���'�C��x ���E�=#Ľ3I>&?/�
=�#���w��� �=�ۋ��������=����T�������F� �2m�������>�p���M��I��>v3->���=W��<��>�:[��н�zo��樾P~߾Sd�<zL=c � ��N]�=&b2>�o >u ���U9��k>��=p-�>������H>�)ٽs�>�ͼOU�:q��=��D��\>�Q�>��C�">��n=���>�%�>�W=z�޽�n�����>�9��(8�<�I���1��ta��LsH�X$>��>'�>t/ؼ�B�>#8>� '>������>F"�2���u!�������ۋ�[�ž��R'>��˾bo#>�s̽5S�<� �=g\�>�T@�����o}=�K>h�=�d�=d0<�Hؽ�ۍ��)h�b$꽅8���4>ĵ�>u�����b>����8B$>�)D��t��)���İ���iJ��-z���d>R�>8j�>��о��X=" �>t��"�=�pľ�ګ��
�;-:d>J�
��<�$���q�=C����*��,��-�l�P�Q�֦>��@=�>�f�ֽ��u��R�� r6����;|X��qɼ8hK�8����P>�l�>��>}n<�"�=5?�'��]��=�C�=_��=�����M#����n�(tS�D ��9?s>�{J>H�>,lq���>3W�>�AӾ�f���>���=��df����7=�ci��6e>uƶ>��<�>/�M��L����->�i�=��мAO���u1>�[��-��Mf>�����;>�ݾ�V=u����y��,�>P��vI���?:��<���=�I�=�<%�V�>onR���{>: �>���=y��������ě"����=�>�e��dz;��j��,����=����qk�D]�>}C\������>�A �>��>�r�i���9q�;����g����X�i�>��P��.����ۻ���R��z��yi�<�s�<g�0�\!�>�C� [�=�A�>I$��-B�<�-9>������1�������%��dW�>�L۽���>|���x�Y������p3>�־$��>J�+=���Z�g�\@d�*�q=%��=�iq��!����z;F�s>G@�=���>���>q>=���nl�sP
�-v�>�$>�m�<y��=��">r#�K?0��^Ͼ>]��&�P1�=_pX=.�ս�i?��s���!�P�X=_r�=z�ѽK<�=���>�N>��<��W�`Ub=���<��1����=��>��Z��>�=.b�=ɣn>����R�>�|�>�#�><K�<���=�q >q��>�$����=o$׾g&��Rx�����Xb3><l��'�>�5Q>�x?��NŽ�_��I�>)��=�㱾�q�=�S(>���>����Ӄ>�L���0=\k=g+���=z� ��p���[�>^Oؾlܚ>�wS>��ؽ��վo����iѾ4�B=��<��>�����Ң�����֣�M�>��!�7V�J*������{4>p�>Zm>�Ya�� ��^���>��њ>��7��N�>h�9��P��xb��ɂ�?��;[ �=~�\>e)�=U�>_a>���>2��lw�=�o�R���x$�;��p<P��8� ��g�>!'�=��=7��Vܟ=�A[����Tg�&d�����<�5�< ~>Ap���{>��;R���2�*��N�=��ٽt���ݟ>�؂��ۼ�� =J>~��������Y=���=t�˽�6 ���c=�LL> ��>��!�9�=��>�Z/��ޤ=l(��>��_%�>!�A�}o�>ⷲ>�_~���VNd>�;>����Qx>��p�12 >�2>��T�p� >�fc>c�2�6��=�X�<�u�%�8>����2��yg>��=��x����J��=����r��=����.N= ��>��Ow>H�!>�Z����C�0W��=�0T>�s��I>����.���4���Y>��="ud=v�l>n���a�=�;K=��>䚙��9ýao�B��>�B��#0�=�}6>�����y>�9#>I4��d�=�vO���=>˻���#-��/>&v�>ʂ�;p�<B4����>�����=9�D~ս�#��I�O��G��›�>,|X�*�����t=*x彧Tpݾz������#���C�>xD��h��>.��>c��>�0�>�����^�>#M�2[�>gP�=l����+<�</>9 ���󄾿�(�M��=���>�R >��>BѼ�R&�����nF>`��>�j�>%�Ӿ���>ڝ�<v3>�w����R>%�=M�>[ ��H}�JR��x]>�u��)!��2-��>�Ð��~ ��{��VT>�)�`^�=#�,��3>���=�M<h����ҽY�>R��_�C�h#ܽ��l�ؒ[��ە� ��>"�>O|��V�>�6��)v�Y������> ;q>������=�}>J����"�-9���yc�²g�!گ<o���1 ��l��>jy¾ �=ݗ��6��=�c�= �=�w�>'W���� >W�
����\<�>ZhW>�fža(=I(�=��i=��V��ջ�7uȽ��}=�th>2Cq��MR���7>8�H>a��Q {�q:�n�y>��@��?Ľ�ձ=Xaƽ����Uz|<�.�=�r>\�[��,�=���\�>�����/=�J!�nw�=�� �]�=��o�'[�-3>�Ć;�����}g�N坽�5�� ��=}��ޑ>�N>��?�]��=�Q�=��)>M��=[ϸ�R��ǭ�= . <M�>ۛ �oޏ>���<����O��l!r>Xf�>��6>V9>�ս��̻
弽3��>�P���G��p>kFG����!���@�">5��� ��>B��>Ǝ������wuV����q<���>�!1=e䊼q�>CX ��?'�H�u>��e=�ZL���>���=�>>ԙ���z�>������>Yd��c&�v�o;
�$���=�f#�O]=�T����>�E�>�< �A�C>1�.~Q=�����{$=n��=HZ�����X��>���>]�=端�q�Y<+��>��� D�>W3s�_�X=�r ���>������>Z����9�a�)�nNR��2N>�b=��D=+�<���=#�>�S�=`\C>��1>�p��JV=�V��@��� �/��焲���=�A<=^>�O#�=H�>�"�=�>*�Ϝ߽L���q/M>�n�>r|���ј>�����L>W����v�\�K�d�?>-n���P���=H>S�l��,��d"�>X�>�D6>�[�>z�%���|=�w�>�[�>�/����m<��=�7�=At���q��8�>Wz��u �=�Wv�^n$;I�2=&��<3Ħ���>��t>�"�0���i��� ��=��.��Ip>��2>a�p�q��<�f0>*�=w��>*�k�o�8>�#>�",�l-{�-�L=�+O>��y��7���=�\x>3��=Ơ��B�=� ���巾o��=�_R�[�e>uJm>x�����6=!w?�M���������>�7Z>���>,sD=z�Q>�6�=� ����=�3B�JkE>T����(>��z� 6�a½U�wӝ��ܽ��">>�=fi�>��5=A��=�h>���;��Q=r"o��j��g��>��4>�Q �0x =pV!=iEҽ/�3>��G���;�j��=ۜ��T�x���>�w�>�7>���X�*��TK>�����Y�=����}��۬T>�7�=fТ���>��<>�{ >�����Q>4����c)>I����+"=D �Q>v�>'���D�>����fH�>�u =qP�pZ/���@�k��=�&�=#�>�hg���1�v����G>@��^<�~���b^=����I~+>:������> ζ��a��_�#>��������ʋ�ۉU���>��s=�� <���>
��x>��>���>������~=$���*��=��ֹi>�fO���m��F>���=¬0����>�"&����=��.��f��x>H����ZT>�~i<'����>~[�u��=�d��掾��<=%{��]�
>=ѽS�<N8�U2>>D>T����V���B>6U>6��P���_�>O� >��8:#�RA�=J=>x�}>� >P&�>�j�} �ӿ>��V>�>=��=��>�hT��Jw����Ok�<V7�>�+W�1�8��ۨ>vv<la�>�ޯ>�!�=S�ܽOId>P����,�>2<�=��>.�z>�Ʌ�7jܽ�Fl�_��u�I<�� �����R��B�<Vt�>!k>���"$9���Q��PT���O���־���>�ޥ��]�=��>P�>�K��߸�>&꯽V��>������t����s���� >'��=Oض���c�8�>~�2�ˌn��w�����=�-�>Fy}��l>��м���Q�=b����Cu>�[3=<������>]����Ǿ+�~>��>���,����I��z��?RG�#��=�*�>ޱ��
�>;�g>�`˾�O>$*�:�!#�˧+=���>�x��Y�>Y������y��<44z���=��>p+;>oX ������پ����?�>�'�>�s�񊆼R�K=V�[�"��<���<�_�=�G}�}�&<�i �4౻�6�:
t�=��*=Qj=��<s�<��P={�=�bx=�g >�W=�i�;��<=Y��=�ㅼ>Ѽ<f]<1:�O�<��=��=�c���1=H�;���=���M�Ҳ�<'`=G�<�̌꼹&�;��=I*@<q��<�hi=x@����<��5=��{<��A;ڭ<u΋=����|-�$�� �9=�2�=�[�=�?-=g�=�(=r��=�z�<[�=���=,u�W�= �<~撼j�=�=�=��9=�I�=��)=9J�< Ie=t���z��޻Ah�=���< )3=ʚr=.�<�O�=�)�=�R�<~x$=���=�.�=4{������/=��:S�=��ػ�w =��弈qJ�<�;��3=��< �i=5W�;��{=@p=�����=X�b;���<+Q;��<b�==�}=� n<���<#u�=���<�c<��<��<d5�=\&�;���<��4=PQX=���,�"�:�u�@i���<>&�@$��Gxz���w<�׃���ʽ,�=*ڽ�u���x-<i[��Z>-(a>*L:=WC>�ސ=ȍ�h���4"&��VD�m��= ﷻ ��=+ց<�Ƚ�j >��<{�ý��=���� \=,/>)�t;s���q!�:���+�- Ҽ��2���,�|���E=��?�_�Ľn ���%��Y|B>�� =����JN��}2�]`���8�=�b���n�M����K�4_��k:��k��|�Ƚs��=�>r폽�5]�>"B>��=�Y-��4��h�!��J>Y�>Ob=]㹻=�O��<�#�5>��5���1=��=&�=�==h]�=L���P�=���<1 ��_�����=^���;>�.G�*f�DPS�C��`+ҽi�L��<�bs��<
<[�&��!x��)�<NeֽO�<��<�"�;h�t��� =Mܵ�V����s�� Q><��[��|����<> c�=/*/=���<6��^+���m<3e���Q�<h3����>!n��:
�}~0���� =`���f�=w���=�>MɁ���=yNl=� �*)�=��;���=� �����<� ��cͼ�����r����I=�<�;����l�:Be�=��f�R�Q�=�����#<���=��5���ܽ��'<�yV��~ܽ�k��%}��&y��W����<z�#��T�<![�=��ֽ��Ҽ{E8��@��MG<�� ��=��@�6�N�zy�����}#���"ļX�=H�'�k𤽾<.� >�8����� �<tɽ��l=����c�Tf=� �=q �=A�~�N]�����=Hd��&A!�5��<2Y#>Z�;�v���;��%�
��<�.�=�L뽏bi�һ�\ <+*>��= =��P��/R��:��K>�#��৺��<U>,�==8 k���<��5>���<��=�����;��ټ;<�;�7>���=xc�� �)=��&�|M�=�2�1�=ʉڹK,9=گ�>� ��PG�=�J㽶1�;�=a��=�0=�Ey�rc���hL<��$��W��e^>o�I>���v�=)�=���<�������Pb��iD���&��C�=���<�^�=-(a�Q��=V��#>c�B=��9�O_��R�=k\�=��Z=q"=
��V�����<$�y� ��[�>�U���짽�y���=~;H��yt=W��;��1��6�=\��� ���"�ڼr ���1�=�ل�$�m=�~Z=ŧ���w��l�o�hB����=��5=w�;U���V<Kv��у����=��<>ӷ�=!Ͱ�:-�=a7Ľ,Ͻɰ7=*����2�[��;@Y���*���=����M� �+;�=�����/>7�=ֈ{��e:�܋$=oj]�ݘ>7H��q��<'�J>Ŷ�<*Gһ�2���=��CTd=����ԉ=���k �=��!<�u�<�`?���h=��>��ͽ�k����>��m���G>����φ��\Y>��D�٪����=9�(����=�ݶ���-�6�F>��ܼ8�Q=M�l=��I��:���
�s��=�����ߋ��M=����4��=T��<_S���Q�@��<��;<�=9>"�$=�����O�<a���}�ͼZ�C=yb�=�3�L�,>���=�s�_�=��0Iؽ q0�����gq������BF<xN�N҇=���=#�J>7=�ݽtӷ<�7>�9$��s��"v��r߽��<��=��>�8=�ུx��� �i~'>�~�=�L*���8�ծY����5��2H�e��=���<K�>9餽�ü������<��@Á���{����쐚=1���=\���w��=�n >`��==LS�� ��,��b ��H]��; �<�����d�=4�n��ۧ=Cq<>��>�S3���*�S�>�ļ��pN��h�=I%���z���~���|���K=K��<�a#�Ԅ=9�� ���=>:����\<�x�=�ᢽ��=XP�y�=�� <ϣh��:��=�#��ʽ�M�=����C�֖ǽ
�ֽ)��;��C>﷣��Mn�+8��V�= �F�{� �$�>��Y��4�#>��=S���B��=g3=l��=�Ƀ�u@7=����-�������5��8��% �=�6>2��32�;���;{��<�E��� ����-���9�ki�=#�����=l|<��!=�ս���<�:<����Ŭ>>��>z{-�lW4>�:����=�u>=�&�=�0��pk=m�M�~�m=�TD=~_=�嫽�a� Ą=0]M=�
j��N�=��=e��<  > M�I��;0���?��\�Ӎ@=�T���{���=U�w�qB�=ꗓ�o�.=*M��<>��7>�-򽡡(�����ķ��e@<��>E->�������<#4�] =����=g_=Վ�=���e��=s�ܽac>ow�=>N����wP9= ���?�(��~�=�Co��‘<�轼��ԽV��=�C���$>�%���5=W>�
�><E8��!*>;ü��ż��������=&��<A�z=wȼJ^;�(�=��Ҽ�#�=2�<�񛽦69�ύ=ewc=��̽@��W��i['<j�"> ���y��a[�=����Z�=�o >�
�=O�3�k� ���𽫮c=ۂ�=WO�='���Q><��=�
=1�P�)�=ZiS�+��V�>t��=]u׽���=wd��C���iZ=WIE=�|=VNo=V�&�q�d=�2��˭��%����9~�=m���ȃ�l��=mX=��l�k���3�3�t�=>ɗ�����=��=2�=E�B<��O<s�{:���< ͽ���ќ�O(ν�D>~�!=@g=��$>���]Z�=��@��r>oTǽ"�Q=x�>*b
>>dB�Q�><�ҽ@��Yd�=�Y��^:r��=,N�= � >L��N���M���z=�ض<�^�=���=Ѣ�<8��=�F�=|��s�"�U�!�0ɨ�l�1�ɩ���K������P�ѽ�c�=�O���)��P(>����|7=/'��s1 >lH��>8t��������,��ya�x��b�<=/9o;���<2';=:�����=�|�5���~�=X �=_M�����s���3%;�Jh����mӒ<����ː=b�<���=�T�=V� ��s�=�� 2�;��#�7Ni�d�<�a�<3Ь=aq�ӕԼu���3{=/�ƽ����=�.�=e'��0�:�]B=:"���0=ހ/>G2>��*������=�9�=�kE� ��x<tg�<���;��E=��m ?��Ѱ�=�c��̢��N�=�������q�=J�ɓ���W� �o=���=�,D=�<c=�2��Z=_����}'���r~��4۽T_�=;u=��=@ܺK{�-�0��`1>n���eR�=�<���Ù=�( �vQ= � � ����>s&ٽ� >�i!>��Y=�_b>� �=E*>W��=��v=P�=����X>QR���4�9T�=���=�����������h�ս�>>����S�;}C2�Yԡ<����n�=.A���=E����S��g�=0
&<�%�=K5��Ѯ�����{�=Bڽ/$<N���,��= Y�=�V�O��b�ȼ��>���%c�=�k��y1S�N�="ǰ��r�<��=�u.=}=<X��|��q�<�s��ͥP��� ;b|>�H[;��Q<j��= C<a�>=/v*���� �4<��=0�ν_�9���=8�A��ђ= %y��[==9��me���ɽ��!��Ԡ=Q�����/�������� �K�U�=I;�=�I^<�<Z&�<����]� �|^`=�g�=�.>�������;�ф=JK>U�>��p�=ϛĽ
<�v.�FW���� >����g��<V�/=��v���w�>�C��'Y�<sL=|H4�<��=3��<���=bX��YԻ�s.>6w�d��<�I�<���h]�=���=_�G��t�<@���*=Ë;��i�h��=�B��]uU=����X>�=�>����:�A�=9K��Z�=:��=��>��9<���a�=-�=�{����=�3�=Y�\��[+�����R>xⷽ����D�=����c4>Y�u� կ=(À�_�=JS������Q�=`2���S>Ј����>�Y=Kӭ�/g����)�Q�<J��<{������ۃ.��ސ����;O��*�W=*��<���=���= �:=j☽��B�~G�=Ep˽i������=F�ҽ���<6���l�>����`����<��Ǽ��ѽD�`�� >���=m>,a0>��>or~��r��2����F=-��=�o)<C�=���:���,e�=���=�L��˴=�Y۽�:����ټ�����N����p�^<������a�N�G=j�}�ˬ�<y�=2O�=�|}=�]1�ZB<��.��];�'Y꽹9�=W)=��亽�Y>� �=��K�zO���<��=I1�=��U>k��=Eh������=?�b�2��yʭ=%X��-"��vʽ=�j�JF���(��CO=xx���|��6���b��=V�>)U��t6�c$�=؎��aJ<�x\=�F�=zL�,���_-�PY3>ǖ½�$=�8�I>SB�=tӽ�D=��>�q��=���=����(^�=��S��􄽒g>�<��b���C<��>'S*��N�=���=�k��P�T_=�q>:��<�>����J=k�Ҡ:�N"s�?HM>C�y=��7>\���y�>�_>�r�=g�!�����jQ<�:>��8�V����t�޺O�ѽ��C;��=>r�;)[]=�U=5��� $�����<RqE�دۼ�������?V�=h)�=�|>7�V�6�=0>Y����4��0j<��B<�d��������="V_=^�=(�����=kQ�Q�_��*_�Nr�=v;Y�#��<ۍf<��O�y}��,>*��p��!������=D΂��iW�b��� �=� ����ʽ������@�=��=0>�ZR��(�Iƽh?�<��Z=R����>�g�!�U���<nx�)W���:���\M>��ںA=���醽��;��F= >�JR=�`���?�/n>�U �
>?�=fVq<Vn�=x�=�軛#�=�c�=hBW�h�8H?����t�an�=� �=��>$�=�.��@�]���P��Z�=Wb��+�%<�R�=]P4=س�=�.�=��'=<�=���;П=��O>b���o >ϻ&>�#�p5�@\佃�5>���<�
�=�*<z8�=}�?=�=��'�����ex����X>�Bi;!�����K��p=u�ϼ������T��<(z"=�Q����,� �N=v���Z�i=�E/=��
=���=�s�����=gk����/=e�<ϫw�
#�=�;>���<l��=&�= �罄�Խd�>0<Ļ7��>V(���Á���<��<ڤL=P=)u�=��ĽQ/�=G������=P]��/vd=�Uǽ.|�d���B_�+��<��#=�v�<��=׸%>��U=��;��q���٦�! r=c䢽ﯲ9�$@;m����=ݕ�=ni�=��U�j��=��ƍ�=(�2��`=�ѽ9��
oI��$y��2R>l�G�m�� m���=���>r�<ҿD=�ҽi��gc�=���=������<<Ǽ�����Rv>&�p��lѽ$t_��ۗ�*Ľ����H���𧭽��<�bRm<
��=g`��*f�=�=�/q=������=���=�X=m��<��2=���=8f��n+(>��i���Ἒ?=����T�=�����Ľ�e>��=ɧ6��y��<��:>�C)�;g�=�rL>�D��ɻ=���<���'� >��%��'�yM���M>^s;>�о�:�;� �=�e�=j�(>��W���h=�����2����7>���;�q&�v����M>Z��$bN��GŻ�j ��^5=l\��y�)�ɶ�:�����)>��5=����rq�=�����=�h�����=�,�Ѵ������ݳ=�t>!=�0��������)`��<�K�=�~m��fu�� ���*=2�B�ږ�Nm�=2�f��X�=�=�<a`����m3)���=���=jZ\�Q稼�>!<�=��>��T��GE� $۽r�&>�����$���,=���=���W#�=G���_�=�#�f�̽�~2�ݸ%=� '=Ӄ=�M@�J�<bt�<T+o�eGȼ۽�׀=D�=)C�=�f
��6;��j�@�=Y�3���y=6��<Q�X=Dl�:8i��F��hk��@�=��<g�=d����>��Y���'�P�t=���=���w��=E��<v( �b�|�+�����4<žN=��>?�5���<�H=��^���3�?�[>�B=d�=Z�<�]|=.(��� ����<���=��ý�Io>x�`�<$�:�����D������Zs׽�0�=���=;uؽf_=׼�"�ؖ�����=�������=�h�`��ľ���h<��Q:�B�x��=��9=�y9�c�>��
�"~�<�d�����<��<��)�2��<��<������)��N��`����>���Ag=l�]>�ɽ>��=�h=b��䣽��L=+4>��y���M��d��'�ɽez�=B�:>��R�Ըw��6>�:{�A�;�=��=�]�<6F�=z2>x���;}G����=yŽK��=�򋽊}��cvR�)��=�=�=�˗�L.=�����q=�6�=DH�;������=f�>�6���@>�A��h��===�ཝ>->�@���:�=�E =���=��ۼ��=�?=�_������rڽ�����n�<�"��7>s�G�*6��Xm��X>��=�2�=rü;��p=���9��Ғ=���=X
�=�D���u����=T��=�k>򣭽��b�L�0��K��1��w�8�c�F���_>�|f��T>��%<���=��=>�:5<�%=�2>gc�<S��%[l=��˽�\ȹ�i8��m�=\=������W3=�0�<�]���U����=�P������Nk<ߩ���= >�#B��W޽�Q��P��5�X��_-=T=u�=i .>C}A�理<ep:�b�<U@�=su���ݽ`�����=D�<8�>qN�=@!������=��!>5:�<�z>�;=�9l=�0�=>��0pŽ6���鶽5�=���='�=���=��>/�!>���=׈S>Z�=pV��*(�=��N�EQ��
�=�/�fg�=i<^�� .�<Nf=��=�-8>Do�<��#>�(y�3=�#>���=���=���;\$ >^������0?=X{�%>�׽8����V�=�Gr=�� >@:ӼH�ѽ �z<��6���?>ý�:M�r<`V�<�8�<���<�~��m)��i>>� I=�p�;��d<�E>��Z=�N���Ώ=z$>�����={��=���;��=��
=?Ž�)T=m(�<��)>/�t>B> 3);�?��hL9e�B�,��/>�E�=|ɴ<?�=7�}�ۼ<�0>
i��Pʽ#j��|Ƒ�4"�;� �=�qd� ߽�
¼y����W� (����<ȑk�

��_=Q�=�T��P:<X}]������%r�Q~=������=3j)=|g���`0��zg=鏲=r~#�"�Ľ������=Y���ID:8]"<��H=+>��!�}M'>�:�&�=;>�n�=���<�E>�� �I�>=u�=�|>L[�=�R��}�o��=�5�����i6>嫋="ã=g�+=�彥���%�ý��<�/9����IT���� ����އ/>�>�<���<p���V�μ��c=��y�ʟ��d�H=�Z'��4�=,� >&(�pXɹe�����/��y߽��Q>��<*%T>q5����=��ڽ_��\$�2>t��=I��=4m�䙏�k��� �8j��B�'�ă3>����v`�ޯn�I/�9��=�`P=���C�=��<�!>�kM>8<��<g���!\�=�q��
�<@|�=r��=�z=w� F��� ��S����=�'���RF��F[=�o!����=b�=�1��u��U>r�I=�e�<��=[=��>϶�<腧=M�J�1E?<!��<t =�����<X� �n:���><�:��x��OP�=� b���%=�iQ>`�T>;���=#������'=W󹽒��<�*J>4��-������}U�+U��:�� ��=0��B�
=joݽ�67>�����"!>�x����@�f�D�K��ý��=�;�[�W>�ի����= }����<��9>�i)>���<��n�2�#=����:I�<���=5p��k=zM�<���; ��=c>��ix=q ><N콘��%<0>v=���=� ��Y��Þ����=%혽���<�\ ���+= tn�����C�H����=>z����j=��EAӼDo���G=J�W=�6<�O4��0=H�0>VQ�&��6-�� ����=��">Q�)�$%v=��=�U/����;��2>�]�<��,>��J<��˻����Ґ=7��_>l�e���7>hn>�g潳���,��<|5��v�=9)X>K�>�� ���6=$,/=����:��=�C��a>�.�<(N>$�=�������q���1>9��0�;CE�=UQ�<lp����=!�q�C�������=��=���>�%>%L�=C��,�W;�W�=|�O��R>y��̫�:|���ֿ#>��o=�4��=U���M�=���=1j�=h2(��׼O轧c������sE�=B����1���ࣽK���ٖ�cS>�ɏ��c =�����=̘�#���Q%>��=�\��}$=��#=�&; 0�=� A�7K��h =F��=J�=�ȼ�ة<�Xc>R���}9=�Q�=��<�#<�� =�6 ����<o��85����L��<pg���=�Ϗ��=g=��>�N��<rK >�����=A?>����x�K�:�$=�5)>�N��@1 �j�=-�B�&X�<��^=7�>�.�=T>z]��Ԣ=��="��=2 Q>0Z �Qf]<��=�� =�+>�=h9<�������:o�|EH�W�y�w뽗6���,>h�=$���C�-��<��I=B�F����<�0�}���XE�Y;>K�+=iW>���]i�=o��=GF���`Ҽb� =�ĉ=��R��G�=���<�q�IB�=.P�=��мQ ?>DL��A�=33@:���B��햽,W�ל�=���`�r��h�=�� �F1V�27�<n���Z+9>Q����])�������=�\������P�=~�:�����5=9ҽU��E�>���>~���f�=��K>/��� )>�lF�����j>�M���>[⌼�y��l�> w7��ӣ���=�In�hD�=v½���=m�>�<�=l��fM#��u><��=|].=���2��4B<���Q�����F����μ{/��1�>����{�;��ֽ����o)�=����.[i�Rɽ�,�����<�X>�����K=����
��.$�=�M ����=���=L>G���I�W�~}�=�$s�6=.y��R����=&�E���:�Z�)>��������J�&4=ȭ: 9 >F��=���=�� =��=��2�1'��a7����3�Xv">N��s9��>���:i���R>�e >h^N=!����I=h|C��Ғ�aO�;���na ���,��N�,{A��92��&�;���<{�=��0��$��=>�y"� 㓻8�ӽ������<Y�齭[����=� ��A�<�<�=��=�Y��\=~$�=�D=v�3=P�#�?K�=���<{. ����<Ĉe�^쏾R�@>�դ=r��=��'�a
%�z�Z��=*A?���E=��y��u=��g=�#������ͭ콗Z-��7��&���=b��=���< ���o[��T�y��=5w>,@�=nہ��Pr�C �=��<>A��5���0�G=�2�< ��=�ň��@�=.ؘ�aG������|G���<6���m���a����C=�y3�u�3��pټ؂ ����<�Bɽ��=��=I�t�H>{]�=�k>���~��=�-��|GK<�&p>��,=���X���ؽed�=�����J<0 =##Z�� �Ďk>�2��c���=�T`<�%��<X==#c=���T�/<2���{����r�R�\4=�m�v3=k,>�9��Ž�����>RX5<���=����ᳰ�l�������^���=�ݪ=�~@�뉍=�5Ž��>D��=����>3��ә�=�@�=��8Ah�=�����5�aD�-i�=�I�=�d��e�>�e�<^��=#������hT�t#�=�Þ=��n��M�=:���p6=��0>��E��TN�����G=��Ż�If�������=�W>7'����� >�����=��=���=��i>;�x�h��� P��]�=}�O��(/����8�̽p�>�F��"I�����b���(TĻi��=3�=a��=o�v��dR=H�>�N�.��[ũ=jGi�0Y=�D��4G��<�1�S��M��=�2�=�b<��U= .���V7�qU<s���u�T1ܽ>#����e<���=c1>�k�>����>�[>�@�<.�t=ۧ�=�
���h�L����ö<{cǽ��޻ y�=�ǽ�C����r������>L
>cC��9��=�|�� ]����H>O�=}�+>�q#��O9��q�=h;+��b��%W:=���=��C��R;=��]�,���q2ؽbF��>����2�<���<a>DG�= =g>>�yJ��z����=���=�q>�4�!�;���l�]=g��=�-��Ӈ>&᝼�}��q�<��3��\�={���YӼ�Γ�c����J�=�qi=(���K�=`E��� �=�!>�C>� ƽF��<�N3>��`w=��[>u^>���I%���=*?
��͕<�l�=��> �$=>lY=ܑ/�ֶY�}霽(��=�B�=0 ��29��ݽ4|����<!�ƽ+�U����7�x��9��b"{:L�:= �Ҽ�㦼4��=�(�����m�<��L���=�5���[��ek�&�>k��=��=�ao��p�=��O=�B>��b>��V=�L�=]����}ڽXS��+f=���=�>�񇽭�w=�>=+�v=�1�=�{���
=��Y=W����n>L�����<xĘ�a�=2FG�}�C<�%ҽk���x�G����<�&!��6�I�<c�=؆����׽���<� =����c�
=@=󽣪G�#��-�2>����~Y�'�=ʹb�����(= �a��}"=O�?�W(��-ͽR�=�S����H>�̓;���=��>p淽��.==�'�^����V��J%�� �=i�4>��{=[d���=� =�������b6>�>���=�q���>�H��}�E�_�=^��=�cq=�)�=
D���M���P> �=���=I����������m<Rl�= ��~�y=�m���^���Q�$w$=����e���4<�鞼e��%;��M�=��f�]�=�3=�\a<��o�'�,>n-=<ğ���=�M�= �$=W7=�O���9�����OF=�0S=�1�<�^�=Md�C(>FN�<o�%�ZZ˽5怽�\2�"��=q�2=]<���A�'?<ޓ�=�34=2^t����<�u�� �=���&R�=X� >�o���=k���-=9Wo�3H���k<�r�<`4���� ��{9=eW<��>?uؽ��S>�8Z=��O=� �=f� >��W>D�4>�|�="$=����e��;ߋ:~M)�7�%��o>��]=>���d��ZI=�
{<o�.>Wƽ;�=��?�v�=���=y0�=��R�)�K>�P���`ƻ<S�y[1=N�9�6�>P>Ù ;0K<\���n֋�DPO>y����!w<�X��r��=_D<��޽�&�<>�A>X�:�������>�LN=��>Ƹ�<(�+>ƹ=<�<\�>>zV�=�V��Y=+�>��<�F�=���=� a=Q�'>�����Q��,�<�� >�hm<b%�=w�vG ����<.Y^>�4���=��=,��=MC�|yh>y�[<_�e=!.�=��'����=�O>��&:"���ى>A��=���<g��<Ȫ���H=��<�m�=+8���`�N��R6N�E�����3�U_���18��vw���4�P����9��]�=bM��=.�=��-����=~�P�C��<��.�6�;��>:��` ��7B>NJJ=�5���=<%���r�=�C�=/���̊>?3�=�KJ�����"����o�H>Iِ�e��=�>>�Z��\=S��=�T���8����VĽZ<�=䄽��4>��G�����K� =yj�=���˼zr�=�X�2�F</�9�����L<
g>�<�<nOƽ+���.��$m�=%W>?�����=�&>���n����=� ��}�<+;�=���;�k>�c0=�� ��=YW�Yt��0x=�a>��޽����)_S�g� �c��;��?>���=�Ӽl���H&=�����up<O��<��"��֍<|�Y�𿐽h"�=�_�=L@�=��d=�H==�9�<��o���N<hD�Ez�����{u�=�_`�:;���sޚ=���=���=2r�:�<5ٗ=8���� >����h����,�f�=��W>�� >pѹ=�R�e�+=��='�<p$G����d�\�_X���� >��w=�� ���:��KA=�㈽W뇼�5�=J���M�7;���=��<-���㞽LI ��W��
T>�n�=�»��=���<F�k�ߘ�= <�����SK�������`=��*�!*+=.�f��y�=���=E�>�PN�
� �*�|�w��<� >fp=N~|<i1��K=�0�=���=���<���fp��������=w@p>X�=�1��
>y��=?����1�=Ke!���%<�Q/�œ�=���=S��;-���!��8��нBo>m�������`�=r\r<��̽8��:��=�&>A����༐��=g �=���=�g ���N������.��Un ��~i�E �b��=���=�Y�>=1H>'Fk=k��(�(���轆v%��p���g>����o��;�=/!ݽ� >��#��į=^� >��3���Q=r���q����3>�{4>��=��=��� ��8P�G�ǽϢʽ��#�?�=����C=k'>Ma>���=�E>�>9�q=iy�p����"����<����gC��u�}< yν���<������1����=�4���:6�ս��D�����94�;��V<�wJ>����b >莶=�F꽑 �<��l�j�۽�%���?8=8�����=y��<�޷=h��=�m��-����=$>�ō<����L�g���=<{v�C�R=��̽��8@�yb�<��@�H��=7f�=���ˡ�Җ=�O�<z���}E=y5�;�:��p=D(>Tg�=���{���� >XD>�<����:����)c4=�E�=�yy;A�K���5 >��۽�2��Ȗ�V�ĽBPw�%�-=9��=։*�hK >p5�o�N�3�V�g<���,�l�=�P����3>$�_����<F� K=�o��֡$�:�
�`����c'>�_6=��=�ƀ���6=�T=�������<\�E��m���!��[�����"=��5�i������DՅ=��Z��Ѥ=���=
�Q=���惽䏘�"�L> b�=B%�~� ��F���|^=�J=7hQ��XX>lf7=/�����:�+���8�<�瓽��<M'�5��=������9"�9�� ��Ӓ̽�u�@>��9�������������<͜M=Br>e��=gذ=������j�$2��I(���ʽs��=��= �]=��߻_}�=ʤ�p�齭T�=R᥼E$ͽ��ż;ݼ7��<���h���=��|�=���=�ʽ�_Y��g�=utý���=�R�9�V=A_ǽ~X��z%q���<��v���<�h8��v�!)>��̈́@=g�����>��A�ZA��$U��=�K3���I=�㦽e��=���=�F�<Y��Шڽ�d<��d<���=��=6�v��1���+�t}��'�={�>j��=r��<M�%����=1Q�;�i<���-��e6�=�c�<��Լdh�=�Ǽ�t�=�f~<��6=Ρ�;�̻���0w�<���=m�
��;ӽx:�=��པ��<�R�=�� ��A=����L =`�&>�<I�A��)[��ħ�{O���<_��}{s=Sg���X>�8t����<it��8�<�N���2}=��:�j��1������&��=�6нP>�ڽ; �~�i�=f��͑�< .<�&7�=xX=���.x�<&�;������B��=Q5��qм���;����5m�= #B>t���a>�؄�_����2��c�=�=��M�,o=}͘;% �ʍ򼻄h�Nӽh� >m���y���ͽ�>XSԽC��=�0����=l�=xm����;���=o�;U9>�>�D���8�� ��ԣ��] <(4����<{F��3�;=n����=�="��A�=�P >�dX��q<��lu���W�#vܽ�I>u���6=E��<6��=��$>`|$�Q>�=���� >5�=L�>�o>D��/<����t�S�p'>���#��=�ڌ>'3>��3�N��G��<����b���P>Ľ@���K> P��8��'�ν�� �.E �*��[ŽrѺ˿���M=��6>a�G��I̼Y"->Г�<z
p�}T=P�E>K"�=� ��oV���=M콎�ν���=�+e�� o>��>~X��Cͼ,��=T�½u �0y�<�w仞����D>k7>I�>���nB>�����"��xK��ȼ�E|=I��;tU��Iጽ��޽p��{�0=� >6
��4��KC���ʽA*�<��=x����>w�-��׃<��=���#�;��:=7�N<��G=�Z/�a7�==��<
�����A`>������K��>�읽B��=W��� �=2U=��t���ʺ>F�m��
�=���O�B>���=�M>�ޣ�Ƞ��?Ly=�������h�j<{\��}=�1ѽ #���=�3�:�c<=B3��,&���
����=�g�==p�Լ�6���%'�R��=��=W���&˼���5=�=�-ؼ3����g=�WM�l1�c>���=���=��<Xo=� \�,٤=�K>��޽��>�K �08����=���iz��!���� >>��`j���
�h=4��k��-��=�%�|����=�(�=��r��f�=IE�#c�Tw��갽�b���l�=t#;<�P�<�n���Y�~$5��5.=m�=���=��S��JK=�d�=�G>>��<; ��˽<F)(�`��=�y��жf�+U۽w��=�����3�����)����|i��齨�/�}�W���ٽ��(���@>���8 =>���=z��]a5>�C >4/(=UK=>P���->W�� �W=��d;H�^����<�֓=�1x�ə���T�:��=zk;�:���OI=|=�=��U�e���a��ƽ��4�F�D��̖�zi�=@>5�t�=�u�;�*�R'�<D�=��b=@����=��>�^)�&�y��Q=ğ<D4𼨿�<1!->$2�Qv�=l��=l���V�=�Mؽ�jD�Oì���=]4��pt�=7zZ��4�=~�q<~X��y]���P=��=�&���v=@�(����6*=��<���=" b>k{�=�|=U�ϙ����8>#�]<9�t���=dQ��2�<|JͼO�*�G����m=�>����� >N_>�����>�a�=0�(�ß�<���=�f�9oH�<��4>O���=�g���d>gj���t�gי=�&=��ͽz9�ڮ�<�=�`�<e��<6#�Xe�<�������=����T\=�x�=g�|�d*��?_������7�\=Ť<�%���K�����<a��<��=zͽ��oM=GFR>���=|4<m���Zr>��g�2;��ļޱ����/d;�,$L=��;�h�ڹi��Iν�&�<��?>�I��1 ��ۥ=������=A�<�!7��ry����,�>WX������k�=�(�=mI����;��ƽ�[}<�K�<�,�Cr=��ֽ��L���X=��i�8��T���>���=��f=�꼽� "=ю��� ��R j=I�꼐������=}��㌲=����=�q�r>��Z=��E>���=��'��� ����^��8���
�<m�P>77)>~⑽�Ů=��=���C(!�T���Y#>�<�=1��=��=��F;:� ���=A�<��O>(��<�`>���=}�=�[��A>� -=�'m�[0K=�i���� >f>�)3>��=文=��;����*�<�'V>��I<P$=�����|�<�Y#�k��� {�<#%�pkt<��>1��'�=�i����=we%>�E4=N� >�^�=��b>n�������>�eK=������=4-�=
뢻���p^���3�]���-����Z<g�8�4?&�����)E�=p��=��v=��<��=�E��X1<_�V�R`�ܼ"<�n�=�>�ݾ��hr�sC#�0�߽�Ѝ<��>�Ir=8օ��:,>>���=���ת��p�v>AJ*��Ƈ<������+>lX=��G=�y㽈����2�=����@t��𤾽���=���=���k�^�-ڨ��s�=�6�^o+�Ģ���;S���==����ހ�a~�}���ꦆ�&=�7*>��L��S|��мP=;ǭ(>Ja�=%I���W�@d�=�>���zh�=�I4�3���{��<����~�x=Js=�¨=�5������K>�p��
�<� ��%:'�]Tͻ��=��qh�<с=�o���uy=��'����.H�{-4= >ݽ��=����Y&>��]�o��=�5�=N����=��j�Ґ�=�Yw�8=�=�䴽U_ս>S6=�h��0cټr�W=)%=]��F��<�Q����<���q?佃�x=����~Y>w��=�W��������<���=���<��=��Ժ���<
�� d�%�C>�弽����v瓻䳮=GE��pJ��좽f�=F�#>S������Ă��O��=��$�໨����=�����I�>������=�/���=w�=�~>� �=�#�=ҝD=Ĉ-�fB/���~��������|�n��<�0.��4��v�ڼ���=te�=OJb�n�R���ѼE�+�o^���ɽ�g='�)�o+4>�z>`z%�r=�̠=R�Ȼ�W��0�]�����q���fd���>Q��=������P<�z�<�$�=f������=f'1�9$�=��C��n[����=�����6>O
˻C���Pu�ѶH����<���=0�Ef2=�v|�b��� �νÃ��J��pkE=�xH=c�⽕M=7@I>�r��E:1<�(�;Y��<�m=�8>���39�=�����%��3?<�΃�uie=v��Z|�����=v�T=n�e���=�@I=���$�=/�.����6<W]��j���F����v�=��ҽ���<����u<���=C�B���)=LTʽ��1��,��ޒ=7">ǂ���u�y�:<�悽6;�TJ���;����=��>����yB��/н��=P������;+ O��<>�/=�ۋ���^�wq�=O?�=�7��_�:�Z
>�F���@=����);>z6�=��=�k=���0>���=RT�<�?>�"��$�-�Y�����=t N>F!7�����:,�Q-��(���=Y+�����=�����-=�8���/˽$�۽sE��3�=�,�<#^ٽa��$��x�=\|!> ;4��9�=��ǽ��">A��=����1Խ��)>� �=�� >���<�v�=��a��bc>�0�;",�������9;�Xǻ$�>��<9$�=nޤ<Ě���|<Dt�����=�l�=���<5���Ȫ�����;���=��=��%=��=���:�ڼ^[c>�k<�#C=Y!2�M���(;��#��-c^< g����n��߽��A�O>��k>&k>{Z>����1�<������:�^@5>l��=@=W{���\���[g=r���Z;>�4���eҽ.v;�#x�=�� ��0����<<�6�����j0�
�U=�Ș� ��<R��=���� �=��~=6?>=�[�ZG>v�����= �Y�S�z<v<q=$�-�%]��!�x=�cb��\D�MT�<�B(=Ob]>�Q���L�=}㪽Sb^�!D��2'=XU�#��=�c*=&����h*>:��=o�&�M �<��-���׽ [��g����=�"�<�t�=�E=����=x���̌��] �=���=�@�ca�;���=07�=�˼���<��8>�z<��󽤌�<����\�<���� f�� �BR߽�H)><��=amӽy\5><;>ә���ˑ=#��=a�=6=��p=X)���eѽ���=��=m�ǽ%��=�#>q���G�4��J�/N��,+���ѽ=o�=�J�����#,�U*A�ÁN=/\�=�3Žy�='��=�S=�)(��ڏ���'>|���_����'��LC=�a�=S^c��C�b�p�7P�=��W��.�\��=~>q&�_�>�
�<؉�=o�>��=z�=�{߽qw��С�<��C�7צ=�~0���!�"�-��-Q�>��=Y\!�l��='�h�f�)� ~��O��=�>#�6�ڻ�=�I&=�Z��$G�=fG=F�>~��=ca>d ��*t��!Nc<Lk��4�����@=��(<$jQ���ͻ���:�q<��C��/�K���t�<�M���T<ɤ >������2>V�%>)��=}�;�x��:�=�I>�e�&Ɛ=� н-f(>�š�O�=Ҝ�=s���ҥ�q����������=�21<J-����」S����;�N�>vT �{u��p"����ֽQ��ƽ>���9� �{�='Q�=���=���=����#ս#<]偼�� ����=:�)=4�����L�D~Ͻ��:O6Ѽ1���1 ���v=bߍ�V�>�,�*>�L
>r��=��>�Q��뮛=*mh��>��2�i�=#�:���=n������ ������=�=|pO>�Ǹ�*��>�꒽���{i�=��3������>�����= �z=9j�2i��X�x=�" �*��@u<ʚy>hgZ�xy� ^��lb��&(����9<�V�=Rg3�c�c����=�6��U�?�!�<���=}35�B�����<���� ��=< '=u�'>>��� <��j�>\pu=�e�n�r={��<| ý�6>� 8<��=[�����,��=���=�r������� =���� �=[���&�{��.���.>��߽K�=>�gY>@����.>=�,=Ϭ��a�4=K�%����=�C<��C�7>����l�;�*r�롚�<e�=V_������H�d�?"��7��Y��=�%=N�@��>���=��"=Ê�!w�=��L>4��=��'�t�s�=�=��}�3y��YM�� x�=�Fw=���=�I�=�J���/R�&��=1�!=jiy�_�ͻ��ؽ����q<,��������%:�n�<>��<_`���O>O���4���x�ϛl=� ����㽋��GE><�=qN�<���=D`�=�m3��+H=���=0\� j�<�4^����< �>��?>]��=�T�=�A�Kٽ9r�=��q��j黨!��/��í=����!1=��A����� =eK�P8R�6E�؂f:��B=GS�<�G�=jcx<�j'�����)]=�O��C[�=�O�<�A��dL���p��:Z�=s3�=b�W=�?a>��$��<)>�M�i�;��y���U� �����#��=k����{�=��=kv,<n�,>�n���<�*cֽ�C�=��ѽH�ѽ������SQ��k_����s���(os=�dy=i:0=�Fh>�b�=X�<3t�=:���Ѯ��Hʽ�]0����=ŊĻ��=�߇<�7��_�����ڏ=���� ��B85��yϽ �5�͝���٣����<&��<UE�V��G^�=>���n�_�b��y�=M�g<>�N=���� �=9ω<�Y�NqF��\Ҽ��D>nMu=F&�= �=��G���A>Y �~
����F=�4W�Z��=�ȧ��粽�`��U��=l�>5h���2��7�Z=��<�=*���S>G�=��> ?=c���])��2=A��R�K>�(�jTe>����]r=\<F�����T=r}�=��<>ެ�=�;�e�={�,��:�=��y������r ���E��"������ ?Ѽ�L���T=cF>X���0W>�M�r�>��>u$�= ��=�������<.�ҽ�W�=hh���,��*�I�:��U�<���� ">ሽ5�=3{��T2<=�=���=����W`��������=�!Ľչ��e9>��=� .����<����oyX�3_�=*�!����� 9="Y>��=/���H��3
=w�&�s��^�=���<��=pl>�zν�d<l�= �
>:I<="��<䵠�f� �vR2>�+>� �<����m �\����*�<����Sa =�z>����x�<J� �[�\=��q��:�=�h��瞢���q�l\=(�,<�%Խz��������ɽ�-����c<hüN�6�@YE�a��{��<�0�=b��������<ؼ٪�;���M�
���r����=4�Ž�1�����=p�<=p����\��(�üM2ٽ,?���g���ͽ��B>l��JI= �;�McR�gK��G��=���<)␽��.>�g���7�=g编 �=���<T��W=gk�<Pa<��|�O[��F�f=VpL��c㼫
c<�P��\��.e=��]<u�������ϽZ0�#u�~�n<��=�u���`�=�"��m��=f�"�Gt =�:w<���\i\�.[<���=t(�o����*=�� ��&�m�����.�%��D>���=���\�l<�R�<|��=�s�<'Rx�{
���̗=y����v�=BoN�]X�<{Ͻ�#�Õ����<���=� >^����Z= [�=)�=�rG������ <^�"=�0a=Yu�=(}���*��/�=
w>�ʽ �r=��0<�Q�=��1�%���x��� + �A�=��Z����=��нv���U>p�<�v��d|=��L�mq���!>Bf��)ּ)A׼�$5>��@=�<:�!yսK��<���t����ͽ�a>F�=H��=V{��lH�x�>��L=g���b���,�<ט����`�񗣽������2��Tu�c�=N��=y:>�m���r�=v��==��=�ļ%I����K��]?�B_>¥h�y�=���oq=����f㬼i�8��7'>>�j�a�-= Z�=Lm����Nf8����d���K��<�"*>MS�;��=��~<9��=žg�1�ʽ�������=��=���vж��W[��gԽ��7�z���@N>��<����ƽnk=*9ͽ�&j=��<���=��>�� �vt����<Y��M>��ͽ��:>Vl;g�V�o(l��q���\{�F�=*� <�
>�6�=I�ü��>��=���%�k��o�=:��=
?�=7l�< �<I�ཪ#P=�� �G`�=�l��]�=�S���L�V�N<�3'�`����6��㽭p+=>Z=��⻞�(�D=��T=^��=�>/�<��e>�J�G�ּ���<�=M�'=�=e�M�A=>ƻlk >YY*>�Jb�{�#=����գ=�F�=��ս���=F�̽N��=7�`>���
���J�!��=: 5=���<�P�|�>�b6>�<�=4 �=��y��}���у���j�6֞�=�
�\J�GCa=�/�=냔=.$��� �=!���n=�� � �'�5Ӹ<��.>���<��>xw�´==O���R\>�x��G�7>E�=s"�<�I:�)�=@=K>��=�����Օ�жb�}�=2���G�>��H=>Pz=|L�<S�=A��<5��=��|=�X�=k0P��l��D=,$�<:G�=���]I>3b�=�ቼi �=Ӊ^���6>���=���ͣ��F�=y��<>f=���<���.62�����zL��Hd���l��N#��x��L@=�2A��V^�w�=� J��g=q�6�98�<�=�%�, ��+�0�>+����'R<*��� P��f"=�Vӽ ��=�� �
g��� m���׽7=�g�Ⱥ���=��Ž�>G�=rV��a=��=���p]>���=�쵽�*��g���cY=˸�<��]=��\=T�=6����G����&�-��$w6�+����-�2�����<nA���O�����˽��0>r@���פ=v�> y�=׏ =�� �;�^=8=`<���ȡ=Se��e��<��B>��b���=�+�<�^�9�Y¼�҉=}�1�MD6>�4�<�Sa�ky�<:����=�O��tBz=�[��꒼� �=���<��'�* %�s��9�I�`��Y�W�UW�==y��������Q����<��={ԡ;!P;�h�� � �$;�����S�=����Kڽד >�h�<���;�,.���/���^����c0�<�9#������ 4���h��9>��_��,��,�V� �c�\�3񤽳=�=�Ͻ���R�=�Q&=��6;�((>�k���Y�=c��<�����><��z<�4�=�-�=��Ƚ�ʞ�dY=7�+�=w�b� K��_>ėz�-ʰ�S ���0�_ (<=�<�Nn=�� �����KPg>�a��Ee�Ļ��F��}�<3_���A�=L�%>R4�<1U���|��Ͷ=�2�<�>6�=м��>���<�A =����! =�pa����;����٪u�b1^�s&�=+��=I��<'�N>ᔦ<Z��.[=QU �<�]�>(,��B��1�T>ר��K=�"=/C�=7v�=zΘ�����}k�F�c=%C�=�=wTͽq�K>H�ӽ���=<��<��;`�>�$˼wн�-����=��=��<��n=��Ѽ��W<��#>n���ʑ��!�=��F<k�R>�h`>i���t�=#�/����:��,���4>�$ ��ƿ���3>�bT>bS��ve\<A(�=#�{�x=G���"=|����ֽz:)�ՠ"=�;������00%���=`-μ��>I���%��=� 꽴D>��WK�Q�ƽd�>�Zy��7轤F�H�
�Cs >j���0 ~���uC�������0��~��7?��$��=�=�Ȱ��A��,�˽���<z[<�3��Q6����<���;h�Y�e� ���{#ッ�4�y�=�zS�ҙ������.C>��"� ��=�뽸��=��ǽ��c���4=��#�D
�=xd<�]�<)������=�����=����2��NE>Q ���47=�}>�b���>� >ә�=x^����W>�J�<<��=�`M>��-�v�2=�0E=�" >Y�)=�0�=�^>�D=���=���TQ�=�=�=�䴝� %=��,�B@?=���;�V���=j+�<A��=���=:HD�5����D>�ʶ��"A="�%�^,�=�� >�K�=�K<���<p�ֽJ�:IQ��XY->3�<�!-F�c��=:n����r>Dni=�N��s���<����;G��k�I�uX>I�һ߮�=KU���g[=/RR=��=��s=�\���F�=��4��̀�R��=@[���k>�K;���=�R�=��<���=��g��H��u��<�?�=JhR=�p¼��=M#�<���;Y���� b�D ��k�ɺ��;�v�̽��m=[���:��~�#�܉*��Q �40�H�YZ�M�+>pq>&'��"P���,�=0%V=�m�<�@L��=Y�g�a�� ����=� +�A0e�B�l�Oa1=�
2� j��5'>����(� >s�!�4೽�c�r>�h��#��H�=�?u�S�!� �L�n����=
���������5>��[��$>��%;��;1Q�=� =W�彨3�B���m&�����A%>��f=:�=�s�; �<8�<0A�G���n_<ns
�>��=S�J>!c���b?=�S�==��=�ѽf�$�R~�<���<���=|I��L�½i�=W+=?��{-�<V��<�E�<��=���<.%�g�0>�����)<Te�<�>��Ҽ��>�&�=�?v���ټ� >�Ľ�a�=I‹�kn$���!>~]�<.,���e�=ATڽ��ּ�:���,>j�y>%
>ޓ�=� ;��⊽-��������={!E>B52>$�>�8�����<J�t>��<�j.��L=��ř<%BK�:�<�����<�B�=�;='!��_e��<�n��0 =.�ý��h�~�н��2=����*�n�>ﮄ����=*}>��ʽ;��;w��=������P�܍޽��L�Nj=���=�;=.��=�^�=����>H�<�(Dp�S�J��TJ���Y=��G�r��g�&> >|s���q�=$ >��n=c����HK��H}=Bm�=�U�=6Fn����;?2�OO>�k���B��/��1V>>h^�!e�=c"߽�I��\O���z�s����$=j=�d�s/w<�a��tC�F)�<�,)<�?��f�Ӽ�C>���!B�=�j��<�=z��=���R3�<m����=?��J'B=��<���=�2��(����j>c~@=x�&8Nd>����b>["�=����F�1ný�ֽ����5�)�=�� >AJf����܀G=���=9�=�ٖ=\d���$>�`3;�|='��<ǙO>�5D=��� �b2�=��D<*�i�@>�� D>v�{�������=T����T�=_�>کC>b�e=xP��� ��Pb��%�=$�r>I�/���=��>�*�S����=��7=��7��Ġ;�(�=����<[�=P�/=�z >K���������;�d � �꽊e\=
�=�L5���?<-3=c-�=9z�=��M��= ^��">�F?���ܽ�u]>ln�=��+=>�ҽ�?��8���/�=�AG�t�N��ُ=�<j��=�z��'�
��[ ��ߔ<��o<O�%=��=�C���s;>�a,=��J��2R>���=@4�=��4�b�O<��X��"��#v=�Z�=Q�>��j�K:]>�?�SF <�?��h�=��L�o�E=L��>*7t�g����Ž4�D�4�����=GE��c�<P�@� ��=`ڱ���ͼ>�����Y�<��e�:z>�+>F�B��� �r������D >]U3=��9���i5=Os�=X6��&pD��>�����輈�=F�z=N����6��`U<d4�=� }�ߥ�>�0�,��=��佅[p�|��x�=��=��ʽ�����>�t:� <�<��<�q=.��=V,S<+�c=p����X��mJ���g�'�Ž*���q�?m>���=�R�=3��<����h <ߒ)����=l�U������P���+>޾�=��Ž6!�=N5��?CZ==n�=�P���(H��+��.
>̱н����1�<�=1��=��I=���=ˠ�; �%� *��,'ܼ1ý��L=���r�M��=�"ҽ�1���d&>��V>"����3�{���h%�-��=,�<a��>,����=3#;єL�6� >���<�2ὗ�A��<��@�<l�=Ϛ�= �=��Z>U=�����q>��#>�]�=^@ ���<�#�<��r�{k��!g>�t�!�S<��j=�w��gB=ʖ=���=�% =
�Eu>
@��"�<|̳��)�����4$�oS��ߜ����'>+��=����g3=�T�����&7�=�d�=N�;���=���<H�C> �=�Œ��4�� ��=�W ����^$��V=�}U�ݔ5=��u>>�<r�>)F=*L��[��"��w�haҽ��=��=�舽,���Rq�P�=V��;�<�U�;�b�� 薽ғ��S�8>�� �����,�y�ST��RG�<�q6>
����)�=��=j}>Բ>�T��r��G��=�X�<��=�����ى��R�=7s >��ὦS>Y���&n;�G����g�Z�J���F>O`=Wn�Z��%��=�/�2�t�5繼=4�<�>R�f�KWp��
���&�3 h>���=�h�<z�$>@�_�"�<�.��n�N=@�=���=y����|̼��R=�oŽ>����{�=�(>V�5=aM��w ����%=t�c���[�44���8> t>d����d�[,^�0�
�1|a=��<'�>�x!�1)���>+>���=�d>%b���=�QX=�9<���=2|��3h���>��>�!�r)���?�=y�=���e_�=J�=;��<���o��=��T<��=�c�j � E@>c{�P�=���=�`(�|}/�(��=:x�=�3�=���=�~o�?2>���=�˳<9 L=#4�1t�=�Ӫ�y �A��=����!7�=:�"��{�=
��-�=���=.8�[��<�<�7<P��=�GF=����V�*�e�O<��@��*�y��9��{7<��=(�z��@�=�ze=F$�>'��=hU-=RUI>T+>�)=����
ȴ���{=fW���<[��=B�=�s�<�y�="v�=;�ۼ�2��- �=��>{D��څ�=z�2��A�:_�=�3�=�y#=׳Q�U-�в�����g�z���<!���H���[�t=M�2<��Ƚ��Q�
>b�ڻ�m(=�WO<� �=��6�O�g�( C=���9�=4p�=� ڽ<OڼxE1>UT�=Y� �S=����r��Q��H=4�0���|�Ƚl��<r��<�1:�Y#���L�= ����H��-���4������W=�Q>E�t�˽��>��7=M ?�@?>�
>`�=���=��]���m��bT�a1�<5�����[=�ڛ������ =��>^���L%]��_*>���ݢ=���=���@t&>������!!s=q���,J>);��|<?��J����~<��><�ܿ���/���7�D�㽧{�;2�����㼺��=��=L����K��*���
�"=�|N�VV�=!�s=�����\&>�b�=�tĺ(��s�<`���� ��N��ڨ컌_�����v w=��6|���ĉ�ux=�9l=����-�">f4+�ϕ�=G?�=�+�=<>�]Ⱥ� ��o=U�n�#>�G�=[,>9�l�i=7���c��=j?�����=�~Ľ1 ��y��=6���3�<a�N=��=H_�=��;�J
R�D΁<���p�������>�vs?>��P<�c= �>c�|���޼�,�<����p��=�mʻJN*;C�9�*PX>�����>�ә��a=5��=����/:,�/����=��);x&����;�
�[<E� ��mj�ZE�=N��� v<9ߵ��7w��{
=r����[��n��= �=�q�=0C@�NS���ܽ�,8>4>�<�J� F�;�v����:�A��=��m=ޫ-;n�g�m ��v�+<�R=��<��V=��d=�ڽ?�V�z����=W��==�#=��Q>�e�=�˽j�d=�.�=o>���=*a����)=���M�=�LٽU��<���<�B\�ص��P'����e�K�w`+�=m��>% =�Ew=¬���5>� ��z�=PG�j��<�)�=�'ǽ�~�=���=`>i���f^�=���=œn�{�=Z�ڼ�?��;#�7�= �0>�>��޻@�ͽ:l�<�_>��'=4�=�3>��m����=a��<{6�=�C�=�F��=�b=���� X �C���7Q���K= �f�d��=+�5=�&>�:=�����7=���=�s��?�7>�p�M�]='� :��;b����-��`ݽ�!��}���$ɽޏ�<���>���c.>�=>%���;�=d�།m�lE.�P�n�1�=��"���=M&��v�c->�x ;>�>M�㽭�H�յ�X�<4F��k��-����&>���=�H�=6+���m=�N�a�����S='~0>����=wK�<�*���ܛ���>j���]�S�<���=�z��ֻ<b��=��k>�X>��8> A��ů��0���ς=sӳ�=�B����� �.L>Ư�;�r�׷%��e!����=77���C>�=hʔ�l@j��$��m��=<�=���=�l>x�����=B�Ͻ��P����� 3�c�+�<k�=厼φD��j(=�V�ȇ��N�=W��=�!0��\��/�z=��g��>u���5m�lF�=��_=��� �aች^��ȣ(<s�󽀙.>{½�g��Xs=̙�=�v(=�þ='zq=��=�@<Y�9�Z �*L��丏�S-��v���&>
f��(� ��
=J��=;6�=ι�7h9��>��+>�2�<P=]�=1�<����7�I>�x<D�=e��=�u��g�d=��/=/��=WD�/1ɽy4]=���61c��ҽ��2��2��R>�= ������=�ڽ��R;�;
>}F���sZ=�Lh=/8���b=3�Q�^����]�= �=h�zǔ=\9,������ ������dr=�lU>��<��=R�=��{��%>�~>�8��v���,n������ �p�]=�G����d�Uwr�B!U=`�=O}/�5��<�a�=�Q�ּ�7�� �q�p����>�;N���6<����ln>Mg>�S�*?�����`7½4G�^��=�'F>R�����=��v� Z�P =��j=�<qB>8��=�./��/=��@'��Q+:���V�C�="���x=ҽ�@A>ɘ#�o.�y��<ք7=x��=b6���:�=�o�;�k">*�>=�$A=^޻�S7=�q���ɽ����[<޽_P�=P�I>�����5>#~=k��S=N�7�|=LQ*<��>5
��y��>힞�}>�#�<7'H��E%=V! ��*̽�.���t>I��>5;�= +�����5���y�~=�����A��Q)=�-4�f{�<���=i�����>��X>��N�=�y�<H��=��<>�!��Mʁ=q8���E�=<�ż��4�2�9���=�@^=9��=�zc��=7y�Q���Γ��/������K =$<8��|>p0{=O!��B�9��=�x��K���� �����ʡ0���<<��$1�<Z伽�&ݽl��=6Ď=w��<# <t�L��T�=�i0=�J�=��= n���J���u >�0�=�.�L�������>��Z��W���S;�-,=��B>�v{��e��>��׼�5A��M��kL�j(�&�>$7Ƚ}b��%>Ɨ<��į�=�ʗ;������{��퀽�I=>^^�=�A>�i�=��[�^���j�ν?�z���9�Y��=�:[>G_ >�~ >h�ɽ�W�� >s��<R��Rv<E%(�)$���:7�<����\2>F`�=�[X���.>���&> #ν�0\<����W_3<"�㺂��>��(��01�^����iI=L�?>RBL=��>�ӽR�B�g=�=�h>�
&�)�C� >h꥽�0<�=7��=�*R=�ͭ<%���8�=F���`n�����׽=���TÜ��r���L7�]o�<R^)��<c�S�a��,[=�֪��o���c��¥=[GY=��7>�dڽ]���M!�����< ���;g ������h�<@��]�=��a�vgA�e����pK���;�> ��=@�=�$���e>���!���E�=*>:�<�6q<<�$��E�<�{O>s��=u�= j�=&��;��O�C
u��޽
��3��=�-���p/;����9��P������? <!N9<���!�n�q=E�^=|���|����'���F=�U> x�A�Z=s =nA��ħ��!i�b"t=cýKJ&>h�I��h>_=2� �����B��;ydO��w��K�=�邽Y�ԽAs��1 &>��=E�>7̥=xws=ZK���=Z�� �>w��=��}�d�|=P9[�ʞQ=��������x�;���=a���� �7ֽ������/��9<�ߑ<�'�=�':�B�=ox����=��?�F]?>��;T3��ow��ܸ{<�4�I��;���=���=�;�=��j=��=P�=)��=Xŀ�GQJ�f��<^1>��=PM�g� ����=������z*��zA��gI7=��=��=?�[��V��B�=.�>�࠽��<��\��M��@����]ٽ�u=�A^<�4�=5[t=��<�A6<H%=���<p�>
\�T�=оA>�:,��Ƶ�_`��T�����>� =z݀<ם�:����sǽ�9�<E���H����=��4��~[=� �=���=SJ��o�����b�f�����!��O�=�f=���=�L >D�ǽI� ���V��aZ��Ά=��=U@û�)�޽/��=��=�x����<�g��(.=v��=w'���=�!}�KI>�8�=
T�Q+<�����L��2�/�ս��[��=C��=�=��~$=m�i>���<1+��� >��*���!�v��<�=6#>��=+�;�=
=
>0�@�DWB���.q=�>7�D���+�}�='��|hԽW]��R?<�o����=@����Q�<���L�:
��/ū=��=����f
=�0�=6�>������>=p�<S �=�π=����I�cGT���=��9=q9�<��C=/$P>�n��2t<aX�����˶���!>-��=b��=��$�1�������=G� >�ߵ=� >��<eh����=7�Q>�uO=;ߙ=�c<�Ѽ�r�=�=��
-�>z3=u�>*�=��x<��l�1��=����=�i<6='�ýᮮ=�`�<�Ȯ=>��<�劽�r=;9����=V�Ƽ��=؝(=�>�*���<�ED��-�=\��S3��~n����=>򯣽�yp=�����#�%J��_~5=mF�3��VU]=��;���X��g����=&> >X�ӽͨ�:?>�!=�_i>�ٓ�N���8½���6p��`����>Y3g�l>�Ψ=ԝq=��Y>�[>W�<L}��Td����
�����P<b=Cf�=����f/��{��ש<=[��<+��=�Nb<�-k�ؼO�G�K��vƨ=�j.��E>Sc�����=��<5�T�1h�=
T��������<`#۽�IJ�:�>�C�?������X����4�>.�\���=xHJ�=� �QjO�6A���h���� �����
��>1�->&����tI�� �w��;Rء�q5�=K�����<r���<@��d�=���<�<>�;�oL�~������aV=���S������=���� ��[�����J�>�f�=R̽tv>�u���'����;�h����=.��-��4v���
>�,>S����>�7�<~���Q��'j��%p�=\����.���D��F-]�0v%>�_`�� �݃>B������7��=����+ ��#C=��v� =%N=:R6��g�<*,�=�� ��G���!�=� ���=� � qʼT\����A>���=�Iu��=ý�&�=)�\�� q=�.�=��= ��=0>�? ��t���F>j�C<++(���v=p����=jN>����.
�:
O5;ð̼R����l��x@=�����5�$���<��G<c�\��?#>m�O@K>Ք�=
�(��ɽ���;��.=�'e�8�s�������=uy>V+�ú�<�B��T7��7�=���=w\�<k =���=��!;k�׼�"��i���%=��;��}�<��><��<�RgŽ�nż�:
=�e�=e2�Q:�<'x�==; ������= Ѿ='����/��DR����Gd��+�=�s}=�p&>�Z��껼C3�;�+�w#`���s����=4"���R=��\4��� *=Ƴ<gt�<����ѡ]��醽Uww���!>3��<��y<-�;����"��}9���Q�=v$�(��j:�a���������=� �;9#\�� B<"���F֤����=C��=�� =hA��Jr���� ����=��#=׬�=ܚȽ[黌�'>]h=#�W>��u�W>��f�=�M'��Ɍ���<�B��36�<�] >;!�?����;H�O=;1>���=g(?=/H<˜���>�V
>����G�=��>˸G�� *>j)�<�J ��mӽ��(��v>t�='��=<>#�l�43��7_A>ol�X�������c$<�Ç���c9)Z=?��<�~U���<�_i�3���P>��<=�h>_�F=��<Z�=��@=;��P�=�Ro������=�; =(��<�D-�N���:b����>��5>�ں�1C>~7=y�޽�]��$�V�6�s��q�����;W=v� =�7�=m��<uyR>�-'>ihR����t��<6������<������AV
����:�cȽF䭽ν8�p��Lż#��=�e���]<��V<`�a��^m=�2�= �=�_<�..>W�s=�Z�������#���*>'!5��@<����)L=)A��(�ּ��s�r3>f =�p���u��^H{=�R�!k >��˼;3)���w�C{ֽy#S���}��Z�=� �;O6=f������U)e��H���>{�>!ta=O��>U�������P"=�WG��zc���5��@���W�3d�=���=�t�<�u��F(��n��$���a�=)���8|%�����S��i�=2@/�K��=g{M��0="��=�b���>�@q�
wO����<Q]��nۨ����J����<� `"<3ɸ�6�$�3Ɵ=�r>H��=g>��R>d�&>m9ɼՖr>2S��M=�>j=�w�:'��>�� ���o���+�#=��>=����=���-]>�`��T~�=]�1: �޽�8����><��=w���ځ>��0���q�#�޽�i�=ǞĽ���=�͢=Fc=��=�3�:g��j=��>�'���G��>ϚJ>9���b�d>jaz����=*:鼴�f�O�=M:μ4�N��H���ک��* ��,�<g��=�@�=�E>X�ؽ+ l=լ��1���e=�r���Ӽ`��=!-��ڸ����r�4s#=��=�� <���= �5�@�=�& >Iͷ=��B�׉ �\�"��+�;Wu5���=��żـ���Q����k=��m�Vu����=F�y������=b5�=���pT��w��=��>ޠ���ئ=rL���7��� ���*�}⧽@���ƀ�����'V���Mf�QG׽��=�(�1��=�L�<VB>g` �e�>L��qX=q�A< V>�+=Xwv<�0�h��<�U�=�� �����Ҽ�1����Z<Aq��5�j�VtD��QE=%z�=���=����̓3>S�=s����R]<� <�<�)
>�_!>_�>:�|̻.Ђ�/�Q=~�3�����1���Wt >}�>���D`|=���<Ȅ�=*���yǻ=-��jd��M�=O�ټ���5�P=cb =��f�:�>�;>-��$[ >|ͽ����!��x��<5@U=ƺ�%<쥡=*>�>���;yG��*偾߁+�8p2��G�=���;���)�z;��=ֽ�<6�(>�9�0���_������j=�V��>��ؽ��=���=Px<��5>� ���@=�� ��p�=*)���=}$S�֛���gN��7��ċ=h��=���=k&�=��=<Y�=�A<%P�<� ���-����w���� C�<uHr;Z��>�y>���=3gн5d=ӆ =�N�= �^���s�t�S��`>���ƽ��P=� .<���=v+�9/�=�j�=� :>�D<s�=/A>xU5>��<�]=Oʽ�٣=n�l=C��=����6�=|��=���=(����N>�?��D�ol��s{>he==��=�)K�w��yf��jW=�=�j��Z:�=�~#=
�F;�ܟ���>r� ��d����"=�&$�Aω=As�=S{c�u��=xTQ=�e��X����P>�w漇�>L$����>]�G�y 4=���<�0�=4�6�`��=�_����@�W�'��<��Z=�3Z���=�X�E]%���ǽ��Y���3�C"����w=���wL���6�n�>��>�1��>?Ɗ=-�Z��Z=e�->2u�=�a:�o��7w<�ӽ�%� q/>�;�;����=,>2��:�=/��=^��<Hu%�����b���S?�r'6=�޼�>���8���н4>^4z�6c(>�2 =Ӛ�<K��=�ԑ=�[<��5=R���.9p�gK�]oY�泊=1UA�S0=�>,���U=l�V�X�0=$Mν��=p�>6v� H�=� ���]�Z�a�@2&�t�νl�?=>�>ܢĽ�� ���9�m�.>ǭ�=/��=�"Y>�u���2=�}7=#��<wA����o��;����M=�fӻz�&���?>�8ɽ�}Ǽ�z=W���ؾ���H�:� >��m<���=a��=t�?�$wq<�<'�=��v=��=
AX� )�=���=�F�<6 �����y�=4�׈���w�:;_>�%�:���Nڼ��g��^�=�]>��Z=��{=��D���!�;"�=P��=�4�=j5�>�e̽�C<�gl�,���c��FG��.�Y�����=��¼G/!<Ή<X���&~C=�/g��ݤ=���,�w���=eih>���h������=�A�,u!=KL���V�(��=�9=>���������;�;<�གDZ��R�' =��=5tU�m ��' ��̈=� �=L>ç�= ?���J���*>��D>$�=�r>Q�=z$��~��=� y�gn�9r���`�� ?;&QC��{۽u�W>�O ��Sۼl�y;]�+���̽�s>�X�?���u5>{S���K=J�[<�� �$˿;�Gc={EZ>v�Ľ��:�i�轗M\=\�= [K����|.�=�Y@�`k�<6w�=z�T���m��$�=M��=�`�=N�U��^�/d'>B��A�)��߽�g>��L<�ٵ���=���H�"����=^J���R=��D=����7�B>|��=�ԭ��xp��6�=ǵ̽�E+��٘���U<��F�8>�����$=KV�<���ܤS��V��>���V�=!B>��ݼX|=|hY�y҈���=N�=t*ýD�a=ґ�=��=8��=Ӷ�\��� �<�J����Ѽ�=�Km���μU:��a'<)�'��y�Ҵs��� ;�B=>A��<�}�<Z|ٽ�C%<���RQw;��0>"&��k�;��m>�m�= �<N<��Íe�u�<���=���� >���H�=zSƽla�<d��H��< �=YG�=��=�>�a���Q>G]��o�� �9� ����H=ڝ��n�G�;�ǽF�<��f=ف�=X<>���<��j����=�JZ��!�<�&��$�|=�z����>�|�=8�^==�=�-6>e����h�=:��<��Ľw��;M�<�����S�C����=���=n��i�I�q=X)=Z��<⿣=|�{���<> ����i>���=�<>��=*ܺ�B�=��:����<�(�={��<XS�<pNY=ͫ >4�I=�=)��R�0=�Fμ�C=�ԟ=G��=�=s->�$S<T�=�>�f%���f>� ˽��</l>�ӡ=S&���˽���=��������оr�R���� =z��=�=��@��<hw>
�"����9\9d= �o<�s=����%>��S�Z��={$���*=�+�����=Bq��9��� '�Qp����*��K �I{�=2����8��J� >�>u�1o�=/m(=�������; />��=�`�>�7�<U��=��;��=�aF>�qI>������;���=��ҽӖ;^4���<߽��=w�<�̛<dI/>�޽Csݽ2��=�?>��=��L�d�r=51�=�ջ0�6<��~=f��=S �=�`��uU>���=��!��U&�x:=2L�=XG�=ӸY��֧=O�=��������6u�c�%>҈3�M׵=��<��
>��= .D���<Z�k=����J>)Rǽ6�6���kXv�eڼ�O?=��0�6ռ{���,> J�=y�=e]=Ɩ>!g������W���Hx�߶���=�Џ����G���mE��\������/>Pr>@7���|�;T��=vu7�Cw���(�`�
=�im=���#��=���h�O=�f@=w���^X�=��>�M��=��b>)��=+j�=X�.>UP�=��.�dT>Ʋ߽�<�y>|�=a�Z������6�=��=���;�\w=��4��s��q�ɼ��<���=s]�=7 �=�<&��7 >�� ���Ľ:� >]u�=�����b=� =�j��>�u/��=/�ü�gh> �==���� ?�n3Ľy���|��=��>��=>��k�
C�D���=v��������PN�9-=r�r=6Ἵ���;�7>��׼�W��[�:�Ǭ=�)=�O�<��*��߽D:ϼ�_�=���=���=�R]=_�=;��<H���m�4=�����&���|���7�qO��3'>��-��=K�Wn�'_>1z�Pr��N>*����<��&>u˦��&Z�5� �����i�U�>u��=�b
>�=>v�>g�H=���<���<���<&3-=$6���=�伉�&>R���<�����=����b��_=�3S=cC�=�aƽ�>Y=$��<��k���=O��=*4׽]]����>����/#�<�>�u���������G� �キ0���>B�=�l�=Td=Lӽ�;8>���=�_�T')�*���m�A�R��<�|m=�������{P�����Q����=DR�<��6�� =P��G%�=��+9���=��b~l����=�ʜ�S*�=Ì�<���=2��� >�۝<W����ϼ[��a�_�:�D>���{/���s=(x�o� �6�<۞
�{��<+{(� /�����:��<Ԑ�<=�=$���kV�<au><=��<=�g$>�¾�A�l����<��
>�&��T̻
�\=J����U��4v=Y��< P�����<��=M%��㽙$�=�k=Ѱ>aVx�r)>&����۽�\l=��������d:�< ��l�}�KB�=����1��dYh��Q�A��T�0����X^��Q�Ž瞴�o��g,�=��o�[>�=-Kn�pֽe��HE=\.>L��=,'��nҍ��;Q��'=��=��<>�=e(7>����bQ�=����m�=xEk=��W�|�f�Ҫ�=VH=d�;=�/�%h<�FV=3�!�U��=���ѽ�����0 <�>Y<�#�=��z>~��=}�=�(�=[��=��W=���I�U>�:��ϵ�h�ؼ{�����]=X�>�*�<r�R=8f>��=#Ӱ�r=F<��[�@��oF�B�<_�t=�����V�=��=1V
��3� ����cQ=�V�<�)�� �='�=>�G�;��Y=�7���r5� �#>=���M�C�#�>A B��Y�=�ཌྷN`=�}n>)Έ�D�q�q�[�6I�=V7��l��=�ۇ���n���b�U�(>�=��(�ca ��ɽ��=Զ��x�������8 <6�Ǽ���=��W>�N�=��M�� ��Ҽn�=��<��e����3>�����=I#�H&�=W��=M�����L�nz]=&�J=�<7��\�U���8��� >�n!�Ӷn>�h�ɽ���J_��鑅��*>�&Ľr_U>�)ӽ�$>w�=# %;�5T=�H�=��=���=��>f�>p�k=���=����gT�>?Ƽ��2=�4@�M��!��<蠑���&�J0 ��b>�u_�ij��
��� �<~C��C��z�%�k�<U�g��>���t���o<�QI=��7���$>�M��
�=
��^�<����f�>��>��L��Q0����=��=5�� @�=6�"�jh6�v�����:s�4>'���2�=��"����=SMν�=�7� ��w<�g���B<%#���<u<>"�)>Di'��;�=I��<��N����� ���7�Æ >�>�,�=�ᕽ�[�=�0��(=">�������=�|)>��ؽ��L>�ȿ= ��<�7�?!�� Y�z6��� ��w��=���=ЈἩ:�=\�u=������&�;�K>ƌ<�^=5>$��v��w��"�N�}!�=y�>����W��y,��~�9=F����˽�&>��=��)=��$=��Ͻy���5�=^tr�l�=��>.��<���=�gs=���;�==z.�c�����<~��=ry�;�Z��#t�� ���{�=Ս2>_,���{��� =�P�=�>�E�;��h���Ǽ^K���n��!�=�! >���F��=����*;p��B�=3 �;�IT=W���&?�:�=�!�:"ą=�轕�K=��Q=�Z�<4��<��=���=A�b=����0}>���=A�t����p�>����›]���=�al�����ؐs�|��=��A=��q� G�<�#�=��@�����l>�v=�g��]��<�`�=!R>���<�Z$��I+=!�B>J����V��s���*��/W��i��m8���3.�B������|�%<�=�@�<���=K�/=��h��3=< �;�ɽ�2�=��,=�� >���V����½C����e�����M�=whw<`�ͽ�Ӑ=��M�=�]�<`Ƚt�=��=��=%��� ��=���=��=v��w�H<m�;Om�Ў�;��t=Λ+�U,>(�E�^��=}̖��Ĝ=��M>�~/>ױh=�cL=���<VMD>�����ݪ=��P;�%�=�=q�j�%.=]�>���=µ[��� >7q�VO>�L�=�����/��_⸽�i=�&�<4$��>��F=�����>vʼ'fd>�6!�nt�='�Žݓּl���s��=q��=Ѡ���q����=\�$=r��=��<F�|�](�=�S�p��=�i�=�)%���>��K=\�0>��ۼU��=��=m��=c�d� �!�l�'f�=G�!=�½��{����=���=�i>�5�^)�����=%-�=�Qq��S]=��V�ܙt=��(>��򼈬+>�xe=�P�=�������<Ǝ>W��=�K��#�H>MF=Ug��W��>����>�����g��<��W=���=�cE>�9:>�o�=,<KCn=xP�;��;�y�����=���=��:�5�=2�;=���=��*���=�[1�pn�=�4�=�{g;$ӂ�~i!=(����=���i�<�R콆��=�\��sW3=�\c���ὐ�->�Pq=����� �� ߽k��=�k߽B��=��+��!����Y<�Hܽ`B��P>�� < s̽t��=�1|�ފ,>i�p=�T�<����4���޽�թ<����_?>�6Q>��>=]^��Ń>@��;�&S����=��;�S>0v���x�<u�>E� =��N��BȽq/����0�l͒��91����|���w�5Ƹ�Ik�=zս
���>�W��)'�����=e�(>$A�B�.>��������"�O=�z,>�n�=j�W>3�>)�~=e<�w��= {6��d�=�R�;h��;�W�=�U<�R<���=?�p��a��*��=�מ���н)���U��=3�=��5>8Ϗ=�](>���N0����=m��=og�� 铽�F <`$>#Q�<#�@<��.�S��ͦ4=O�P�~"�<F$߼{^����>�-=m����]���5=�
�=����3�=�#>[?>J]�=Ҥ��q����M�<���=��.�������%4=\p�<�<����=���r�b=*�>� ;� R��.�=|i>�Z�=�Z+�|mO=Nؑ<��彷�'��7�$��p�>7�|� ��<�v�=z �Y� =��=e��=��'�!�̽�S�ܣؼ������Q>߉޼8��<v������!9�=�:ǣ�=�A[�>q+�e,<�&�=f��<JC��$yP=ǥ1�X|�=�o��֘�=9��=�B�N�<h�ܽ� >%׃��j'=���'�o�\,��PH'�%c#>gn�=�e�= $��zg���v<<�O��B%=,�<��)����A�ͽ���=r��=�Ӈ=+����X=�p����=0G2�?�`=q�=���=�^�>���B=�_R>�u�=���_��m=�üҡ��Q�=j#�\�'��)$><ᴽ��>A|�=���ݽ/@�=ˌ�����=r��=ܚƽ���<����7�����=��1��:�=eƊ�.h>�J�=���;�^����= d/>��&=1�Y� �?�e:���E=���=��p��}C���(���W>��<Ob9�]�M�k�ʼ��ۼ���<; ���>�s�=~ߌ��I�=
��=���ƯU�2�T�϶��!�=���<��[=�Q%����= D>�ͣ=�ͽ����g=oq<�\�=nX\=[�=�-=,h<t�o7�;xת��I:>L���֩<�",N��`.=s��<g�=�Z�< ���*>:��<ϻ��g(8���#=?��<�>P�,���m>u�I=+D���%��U���e���,�>t�F�}=>e�=]����dA=~��G�3>�</;���=�+r<$c==q��Nz�=��"��5�<���;= �;�Z���Q�4�V�v�&���;��=B�>95p�Iq(>��!=�I;�Ο=�:�6�n���m=[z���G>�����>���B��^8�=)���e�:�l>l�v;��=:��= ��,,o=/���lJ=L��<k����b={�߼粽��;�l�=Eb�=�[G=��*�f/��0_>�V��@�9���O<Mg<����R��=����<f���ed7��٨��_>�p˻��*<�P>���>8H=�F�2]�=��i��3"�vg�C�(=���7��̀�� ѽ��#;n@мu:2;އ���]��X-�Ľ���<��><t��+�:��}���u�=Iq��ş =��:=H��=of=0B> v�<W5��2&;�fѽ�j%�56>+IC�;�> ޤ�#$.=�j��I���,=<j ��D=�F2>�=R>�HG>Ń�:�M��.y=��-��� �^��$�r��<K���)>Ζ�=2���½���N�.>i7�=&� ��^0>r���8�A����<Ȃ9>�&3�T���{W�ľ��&^>n"��x��
��=E��=�. �h E��'}<8%"�4��H#=�o�=�>)�f��m�<��˽��?�0�+��g">�[���3 >�U,>��=a!�=���<#�=���k�!@>zJ���J�=V$�=T*l;1$��y7<()ɽ&��E%�<ʈ<E�̼L/�<))O>Z�8=�#�;.���1;A>?Q5��񵼠�ý#,C=k{;=��߼q�H��<�=�q��a�C;���=�d�=�#��>�F���:�d�=�"�=�#�Sw½���=��=��P��埽D�p��z� "f��� ~<�`�����BD�q��=�8<��=?����>�j��������+�ͽ���<�p!=���<���%4�����T�<�V��ɛ۽ɨ�=kQ��g��=c�c�\���ǨL=+��<�- >��A��7i��,�8O�<a����H���U>5T��V9>k*���y�=�@<K���`ֶ=�=�H��N�C=!�<r(>%��<�JX�^M=�z뼧����R���c�=e�<ug��ۺ�d���7>��
>g��:o��=̆ >�y-��=��U��s=<��Q�<�t{�?D�����Q�E��>�U�=�1;n,�=�d��8����S���X;>2�=�; =n�=�=���<A
;��|�=����ʰ���:=�q��}��R����ܥ=�\�<�Ѽ���ƀ�8:輔Q�<d���.}��sx:���=�3ƽ�-�=��=����G>�>��=�qb�e9�9�;)N=�Ŧ=BÔ;|8I��2Ľ�r�=���=$#8�����9@��-#�e=�;�/!=f&>B����,G=ɑ���;�z�=3o���#U�ߤ��!��~��9 v�=�1<��=K���,hi��u��.�=�p+�{�I=�S�
�p=�����$�U\�}�����=*sc�j6>���=#ꀼ����˺�<���=�2>��>�~�=}��N=�Ь��/>���=�RF�;�=K8�=h�=j�=j�=S���ʡ�r��
,C�4i���]>�6�<Ok =� [=1]>��r=82�=��6�Ҷ�=�W�<)�B����=�.����=�_ȼ�(D>v�W=�i\��� ����=�s> �=�M|����,�3�L�����=�%=�o<����ڔ��N�彝^����|��<�G�<X����]y���<|<c<�O���P= �c�ڏ8��(=�]#�ƥ:�÷�='�ɽ-X����>%�o>��=�!>G?�� ��&s�F�I����=Q��W)��|�=���$gZ�R��=����,A�=�D����P�t=��>T>�<G����<D>�G>}ʕ=���=�$��� ��H��E=�V��Aļ���k'>?&>�?>��P�T|6=H8��E����vvj=�ẽ��=���e�b��̈=��"�ży$=�t��������x�[�?��=` �=��<�걽{�d><X��#���=n >��⽏�=8��-]�����4�ͽD� �p�n=�g����[�K�V=F!J>�c�hs=P�<=3��b�=槍=ϥ<V����g弚x=E�=�a�=t=;>��O���0 =��8>��t=�N�1����h��=XW��>:�7���[� >���=0=BU=�݊��lνfM>sBǽyU�=��<:'X�'�*���<�T�<�L=V � ���<N�-�P��� �����N��=�$��v�=_�Խ ���a�����>���<qoƽ���=�nN=!��=7��<*�<N��=KG:��?^���b�=�)=���6��{`�������J >�fb>(>�9=�p7=RӖ<�F>Ŧp=l��z�.>��5���;=�k >����k��D>��,=PN�)) =;r��)j�.J=��ƽ���� ��� =������������"=x2�=��C��4q�T���Jº�< ��: 9��<���=z�.=h[�=a9U�\��������[$�WѶ==�����=��z��=�٫=���D�;�� >��=�ڣ=W>�
T>����\L'���߼s�<ʉ(>!�4�� ����L>X��=5�>�!�>�=5r$�:O=X�!���w�����>8��=t��������82m�[�=�0;�m����j6�B R��v�[�
��Žˆr=F�<'S���K,!<��>
�; ���^Q���FE=u)����c����=c>T�@>FY�x+��E�>���k3��z����b >�:�=y=�=f�l���3 ���4�W��=?�����􈔽�d�=� >��]=P碽4j��x�y=y7>c+��ʦ2=���= � �X� ��8��=��W�>��mq=q�>����x%�=�Y���|ƽlh���\ >���=H�Q���#��=6�r=�ξ=Vp�M����}�=��I>�R=6�*>B9d=m&L=�la������ >���=|?�;M��<�ԧ=�@$�c��=�
�D��<��<=�'Ľ� �=�<=�$>�yܽ`�=pt���=�$��}U����<,܈=�x�=���_��$ӽ޶y�d
н���k*>c����~P;e��.Kr=���<���X2�jG��/^q����=��=Bu_�"�^=�V����'�9�=8����;=���<5>? ��F�=*���L����=+Ë<ԫ=5[߽��>Fzh��1�=ς�r�_=�8P=���x:)=Y����� >��B��7P>u�m=�#���X <̴e>�ks�^��=*>��=_�m=���l������5*�B�=Tm$����<�C��* ~�+�����=ǻ6=Ef��m�u��3 �4��½�l��5=��k>�����1��v�2��4�<S >��1=�yƽ��=W�z��]A>_���oo �V����9� ��SIk� �8!;۷*>�]��k��= ��=η5>��3>6��<�S�����=�n� �=7)=B%>�2�=אQ��ѝ��k=����I���ܽ<j���S��צ<6�=_�7>�n>|���Dƽ��d�u|�=&#��0c�=3MG=v��<�]�=���;�1��[Dz=�zD�����gU7>�t�=��L=UƆ=��&=��:�� <�h ��=�홽�!ɽT�=b �=�f*�.E����潭~>��w>�٘>h߳={_���@�]� �I�<� ����u|'=}�Z��[���0= ä�\z�=\<<$�=�t�<�h�;=_=n4���r=�Xr����=ï��Ih=��f�)�T���]�s�K>��P=#ʑ�]JϽ
��`�ս&+��;.=����h���a�=azּ�\���s���̽՛^<�pA>{&=�@w=w�>��I�?�ݽ�> ��͗m=�G��e���<x�n�'�>遽��Z< @�= ����h�<ŀ��� �=��=�>��ڻ<8h>� ������#^�=�����%�<�����y�
�P=� >/�h�g����,���M�:�|=,�;��>e��=��X>�52>Cwc>�T6>�SD��;�=�b��� ���{:�� ���>�=0*W�Aݱ�D>^x>u�Z=lC�[�����A���=�t��!�=��M�Cӽ���:��0=|_�=J���=\�=҄c����=uU�=~�ɽ*ju;�젽C�A�\�1�h�=�+V��k��#
'=�m�>gG>M��=�&=X$�={7�;{o�=�ׂ�4c��4K��Q>�oB�O��Td��a�;�ۯ��]*>�����\I��y�:4�<�����9>��Ӽ� ��*���sa�82�=��y�>C�=#���6^�����=����->��?�=�>��ϼ% �=�����κ�f����X.8/�;��;��l����I��=���<��=�At>%��=s��=�F����$� 3�=9!�=�ώ=٥���>�༟)���GR=9����%>�F��nN> wQ���p���<=7:<}�+<�!;��<->2G��Fv�o��=�����K����F=�b�<�q >��LK�=��S>�@=�%>�M�=J�ڼ�E=���?���,��=ޠ>j-��82> �@=���zK�.ǰ=�� <���=_j�<5G�<)�<kܩ=[>=KLH��h�>��-�ޱ�����<��<3[
��������=�A�=��:>�#���<Xb��B���a�h�齖iK>��c=�ӹ��0 �����ra=)<�i>�K=���� �!��=�ޓ�\�>�|(:N8����=�Z)<]��=��h�Q$B�] �=�hJ��/e=���<�?�=2>~<-��<ʃ<���>�� ��ȗ��G
����<A2i=�����=D
=٩>�x��+~>JH����u���f=�B�=.�-�)�N�$�P=���Fl=��k�x�=������X=�_���&��>V?�=-��q*6���>���=���=􅰹�B��>!˽cQ�=���<��<ɐ��k�������=c�->�l�=�� ��}g=]C�<���<������U>�4����:Z��=��)�����-�b=ޫx=�쐼�SX�k$4�PRb�|��=�{p=�$P>"�<["���]U��Uo=П>�� >1Z�����=+C]���>�+��%\ټym{���
�t�>��=�RK> ΐ=�_�<GC'�B>�}9���<z;9>E3��+4��^<�*½Q�#��}#�A�<�3>�k��
�=���leH�*0�<�׽���� �>�꽕�R>��J=������L���=�,�-=���=��<(*�_ܦ�SC<����L=�+=f$">����T��!Z˽� $>֠�=�t:>��<�dA=ʗ�;,S�x˨�a =���<u�=�L���!&�.�ѽ|=�;�2󽪃�<.3��$��=P/��r���&����<��V��=A`�<�_s�1��=�sm��2���߼�5�=ر1��%<���=�-4�,�=�����>���J19�?U�=���<0z>�z<x�~��C�<Ӛ½*>;o��[��?��Ş�=� �=��A�8�=��a�Xg�=rF�=������ڣO>'�K���O=�'=8 t=�y=1�<�9z��i����ʽ&�f��"Ƚj�4�<�>��>��==X>\
m��1�= �����3>�]-=%(��L�:=&�.��ѼHF�<%
>r<�= �ּ� y=�=D�ҽE�=�#P=�L<���\���>�f�"E%>�ۑ��w��.��A��Ӌ���8�<���\�t�A��=I%׽�zd�[���Z��9ݽi��\�6��M"�A|�=�~7��i=��X�#[�:��q<N��=tG=K���[q>pqM=�d�=�I-�}�
��5�<�+�� kͽ�!C>/j�='�r��=>}z���=�D��@�"�g�>�*L�<�Hc=����������F��J�I�
>��=�����=jڽe��-j��.J2>$� ��xڽS����?�=mc
>}���i����=�w�:KS=�l ��f���~�>(��=d��:���=���= m��4 �=�%ν2��|V=���%��Ǫ�E���mpT=��1=S���ދ��7�;����߇��x��,C�<3��=��r=MP=�>i���>K�ؽj�V=`*>�����0>� >Sk'>B@��*a����=��W=,��=\(�K)t>%���<
=��d9L/����0� �y�I��;�EҽxVM�������ӽgm�=^'˼�չ<�ir�<'3>/�!=d>�����؅�]9�� y �<}g=���=B#ѽ���أ=k�J��5%>g�&>���<�N>��Ž^�/��`�=���=��-=�f��l�=��1V0>�r=L}i=r��< ���X��<e'�=��>&'�=�|��9�������=��2��WP��۾=��
>Gʜ=
�����>dX<;d-�0u�=��<�`���������Pe>m���y��� (>���AR���> �𬌽������=J�� �;̕�=��&�w�ӻ��Լ�o��%2�n$�=/M�=�o��%-<�X ����<}[e>��>�}�=���=�f=�H�=�.�=�H��bG>�b =X9�i��=!��O�+��*
>DR\���t�l<E>�>�g�����=6l=_�F�`�*�ʽ�=�C�#D����
=O8����">l�=�ʎ�Z�l��7g�jz�=�_�=�L���K!=TT��S�=�#�;Ff���Ea���=���=�fM<UP��"��=8p����4��,d>X ���Q<;��|����
>��+>µǽSD&>��g<���=����~<��(�V�=�,Ŭ��j>�w�f��n>�E@<cz~�Uz�=m��=+c�<���b�
��7/>!����n�����f��=L$��8����뽂/> ���E�<�й��6>^��=�_>Zâ=Ek��@Q�����p�=�WQ�6�?;�� ���c�S]˽��̕�=��d���3=Qm=��=M��<(�û-����=\��=�XS����$ݼ�B��#���]�=�d���X<�<~��-Z���Խ��=x�ʽ�<=��-=����h>z&�=]�Q��n<Mv=͗k�b�н4��%����ǽ������=xH����=[K�=����CG=��=���a8]>���=L+��(p���������ĽH <������q��
�<�n�=��>4�'>"�!�e���w�۽$���~<!��=�0��V��<��">�z=>1`��ɟ��%j;@��4,�=�`=|�S<����Oҷ=͸:�)+����4>\�>&�l�~ �̔,������`1>���=�1�<��=�4����~(;-��=�}۽���=���='N<mc
�/�I�Q_@>B�H�7���4���P=W��<�QL�\<��A>W>R����=Qyv�Կ�����<̔0>��8��E���l{��>B�� u���mC�����~<esF>
��� �����$o��M>�q���@�=/&>�=6=�e��;��.�<��O��h�=�"��� �M�9=�LR<v=_�T�Aý��s:�;��;�1>'�P=m���@�������x�7�Y�=k�=����aü�F�=đ��9����=.>vH����=:n=��<M�4>�E#����R(�=��=��~�|>���=��D>�&�b�s>��[�b�?�%v)���ݽ�IP>v�<���=,q�=��!��h\=�;Y��̐=�"y�]��U\�=h�c������B=<�5>���������=@/�0� ���rG>ߊl�6�A>�D��� �V����箽s�C��\��r G����,-#>o?���3C>��Y>�- =m�6��2O=��=��=V��o�=���<�2>R;=��(>b6�= �m<9�#�N�+�̾�>�C�=����K��i'>~�m=��">�w�;[X=FU��� �>������=��k=���=� B>,I��i���W�<��>�;.�wk�Ä+�C0���#>9���W��=��2=��-���b=�8>�8<�k�=�6н��=ͷ;��a������k�;�"���- =g�<d�#<���< WM�w:���@��6�4=���m>n<o=��)<pnD=�ݹ��� ����{��X> ��=\�=���=�)$>eYl=c�<j�f=�孽C\�<���=.[�=��?>@6����E>�wR����=.Qg= ��IJ�;��R��3=���;� =�D����_n1=�D�����<��W�֩>?f �� t>��!�:��=���<V�ټK)>ܸT=D�4�%�=�a>=}���.�G���>)N#>a�K=���<ǮX�Oc-��9���ǽ�͟�JF8��g=,eŻ�l&���"�İ�<!>� �=>s�<��=_R>䄿=� �=��k=�0��ϟ�z�">���=�P8>$k���*��S�%>�#>c�ۼ��'=�8�=N�Y>l ��r�нo� �:ڦ<HD�<\� =F������=��<w����}Q���3�r�*=��K�-1�`����-��fؽĞ�������6��=�a>�5����������n罛��hR����= ��;�r'<WG�=7ϓ�Ū�1��=̬�=Gף���I>)�$����s>J�=I1=�٤���=�ז�[ِ�`�>洬��)q�NH1��>B�p���>m㮼�5F>�N�����=.��=���������=o�b>5��gY4>)Y�<w��q�����u���Р=3M$=�D> ],<@�S>�9��㇇="���y�<S����)=��(��]�=[7<�m�=no=(� ��Θ<\�����[=ֱ���=��>�v��<��-�@�=;kv��^�V;0>LK������ �r��:w?���DH>@� >O������ �=�#���K=�x>c�k=US4��ĸ=��%>G���==� �����<��g=�48>2M>{w=�Y6>)�(=��>
��=��<m��<֪ڽ�-,<Y���6�<{;��bq`=�����<7���=�$�<D=���=L5�=���B�!�U�\���5=�K> %K�WH4=fCx=��<���<��n��� >%C��3Մ�.S�=a�a�x[@�ӥ��Xʼ���=�!�;�6��5j��g��F�=�k>�"2�_{=��}BY=�F"�wԨ=�y�=*.3=2�=`�z=���<�5=�a�<d�ɽ���<�z�=?L)���=9����e#>��=�6��8�㽬�y<��
���Ҽ�;1>_�=�򚽆wٽ�]�=�X =��н�*���=���m��=7��=jh�=�w��WN�=M�<p���6<����->�(>���="�{���A�3�Kb=�b���Omʼ�����\�yl���Iһ 3�<���a_�<�ټ�RC<g1��c����&>[<�<>�=����X̼��;~>���=���=���;�"<|*��ve�={�=���<w��=� =b��=�����<��%So��0���n<���=Aս=؆�p�Ƚ �>���=��ϹOSҽ^㢽�|��s꙽�U�<"4�Џ{;�8�=R�&=���,p2=����A/>,���%e<��)�A=��
>��N�� c�J-�=����x�=Po]=��.�@Z>ͭs="e�=\���#=��G>�Z��yo=�K<�.��Ǧ��v�j��{�<<�=]l����f<FU�� >&N�=ZB=�>ݼ�s��]�V�O��� >(L7��񽫽z�:�=�1�<?p��Ā;���=�Pغ��|�PRͽ��< �������=�<&������l�J<��D�a�<����,=z"!���=�s,��a�����]���� ��=O�b�$X�=�b�/Z�)�X=U�E=�ᐼ5��=�ɼ�b�=f_���R����뷤�Ͻa��=`N =c��%:�=#���>�%P�a��<���c�=�B�k� �������A>��<t}������U�<‹->����/4;=������H�1��+'���C�2 c<�N<����<R�� ���r=�0'=����n���s8���.��y�?=��ѽvVY��Z=��<���<�+�<f�����\��>h�f=�\�=�*<����\q�=S1x>f��=��k���>�[x�s�<���=�P.>��Q��o������ =��=8��=��}/=^� =����U�=ׄ����=��߼:�r<��U<�Tμ��Y�9��=Jo�>�6ݽcMs��խ�R}>>ϗ=�>����K=�T�= = {���]���v��u�=3��=��=��A�vȠ=��罼OԼ+ͽ��
>����}>dO�=
-�<8����Ƥ<4{�=���<%�+����W>���=����g&�����G ν^H>i��=�w>;�)�M5=���=�;=�;�=�ݐ=�bc���+=�`��������=��j=ĕ�<Z4=^��=�Ŋ�k��=��=��[>�[ͽ�Ų=_`�<q����=��y��\�����(ჼa �{@k=>� ;�o�=��нPk�= ]������2=��A�z��=�=|CB>� >�W>��8�q!��6�1=>�9= ��<B����ȱ=��=����Wt<�0>0���hٮ=�^|<��L>|yI��[�<��#��m��>_ؽ ���I=�1U= RM>i��=K'����=�-��]> �w>n ջ��5��6����ƽ_h�<)���=���#���w�=��n��<�=M6=/qZ<��:==.=.ؚ={�<�?�"��;D���m�=�(y����= 2>i�T<��Y��Q�������?����=��<��=����� >���<w�P��������<2=�V= =�~½'<No=��=��˽���+�$<�e�����ek�=��k���B=۞���<�^�<KC;�p����K>L w��8����@��Ӽ�1�<;r
��ֽ�ƿ=6��=�X2���o�0�� <�=+jh�"��=ʏ转�"=W��<mvQ=�.>C�8>h�W�L'�p�=�=�½ ��F��:�;�;!h�=�NҽEB��bz�=yV�=+
�=|(߽bW����\��:��Ⱦ=t��=�����d�pؽ�J<5�<� �4�=Ƽ��->�Ж�`6��,8��>Ό=����I;3�E�>=\�1x={R��/��=OV2�\�m=���<3|0>Aӽ$$;��e=�4�=���=�O��H>81Q�Wu;���=��Z���0�u�l�.��<��ŽfM�=�f��S���WVq�&?;�����Zl=ʜ��)���P>��E�=*��h>�Y�f�E<s`��>��;ZY[;7?��q���Y[���:<Tt
=��=sG�=�o�=S�1�,<� �����< ��� =o)�%c�;��νtYݽ�`��A\#���ۼ��=�y��#5>����.�Ҙ�<����y=F7H<�&�=��ɽ��S��.�=�߻$y>쿢�%*۽{ =퐼2�n���1��c=�?>��B�=��>*��=~����HM��=&mٽR�G��=`W�=Q���yQ�=�5��u����$��嗼723��2�<� _>c��=���<[��=�h�՗3>n��=J���0j>�h�<�7=�럼)"ν �ʽ<�w>� �=�n��J�0<P=�����U�V3=�q=V��=t�=!U�=Q3=ċ̽��:<��A��o�=ߴ��{/��4�<�༼F�m=�」�o;\c��r/>����{�=�F�=1��� Nj�D�>��>��>:�;hU�<�=��$> ۽f�W��s���i=Cv����=��>\<)��=�>!�� �<����>��=�ǫ= 5=��>BU�<�����M���&=%� ��yW�{�>|>,>`Ɍ�7�ȼ�x=����Y8�=�+);J0+>qX>��D�z4��i�e���N:��
s����;�}1=�^�<�4>��<4E>��]<SsN>�㩽���<��뽹.�=;S=����I�F<�->O>9�!>�5E<W0�����=�����}�<
d>^�[��%�=v�C��;�=,ք� �G�)�!�� ;�e.,>��"� >�=NK��"�<>?ܒ=����^o=���<鱄�6�<���<��;>O�彰 ɼ� �=|P<��?�.=��=������M=�����Vս�M������M=���I���>=��D�����۽;�<�@=P�|�󀖼j@½$ս�Rk=� 4����?��<��;�,���Ҽ'C �t�)<��1�4SA=,d��6;�C>��=���<I{$���ҽ]�ʽ�=>���|d��-)�8�<>��=���=�1�=[F��t�}?ݽ��=Wֽ�G�=��̽=�=g�>ن��h��8v�<^yD��
�L��x��p ���W�0RF�0���C5?>��K�OȻ�����3�&`���iλ�¼;�C%==��<1b{>������ �B\�<���<�l<(����cT=eD�;��>ܱ�=������=��D<|غ�����!!�aX=c�*=L���mi=��J���T=���<4�_=�36>�c�ȹ7>Ph|=�(>��½�˽)k�=~8=&���꨻�� >�CX���E������� �
>t—�[����=��H=�9�r�8���_�{��=ڞ2��ˣ=)/����#n�=�@����">�>�7$>�h<ܔ�>��
<cj\=d`��[C��ų<g�H��1� ���`�<v?�=$p��SB<~J�=fį=(�S<V�U�qK����=���@]P���!�#�R��SL=�7*=Zx½�-<V�1�x��:���=I�l��=9yP���1��<<��=$����>���=6��=P`">"�̼����&$�9�N�\N�f!E=�a��-k=A���;|Z�y.�.�>|4/>�-=X �x��� >�M��:���=B�� ���\�/_.;Ca���L����>��=����0q�;E��<z�{;� ������\U<H�j=��b���ཕ���7����=�O+I�{�Ƚ[���s�=M�l��D�=:�#>�R&�)�O=9Y��>|�>[�vڍ=n�y=�(׼%`p�Ƙ�=.�-�n`�=4�E>!a۽ />�$��bx=g�Z�-7=>�=6U
=�,�<(蕽���<��@��=p1]�^o� �/��*�=�tۼ�#%��9���[�<����:��C'�=�KӼ�sZ��R&>���=�"�=�=<���<Y8L��+�=��Ƚ��8<
-�L��=��\:8���e�6�e�J��C&>o[<��K>`l}=w���f��Ju�=��"�C� ����K�=n���r>нս4�i�iэ<�u�<E�L���|�P>�C���= e.�� u<��;�C��GA�<9w�=��=��>k��j�=M-]� *]���½��Z��
���{����<' ������:���d�5Ὁ�[��륽a�Y�4�~<�ۥ<��#=
>����Mօ=� ���?�� ���Ԗ��ˬ�u�=+���C4�<�9 ���7�FX���*>���= XP���r�=!�
��AJ��+νD�=�ѼBe��%g�<������<�\6����d��<�����ᦼJ��=B���3� >֬�=��->8�}���=d��T�>�J�=�3���u&�-�N�F
�=󂂾����F�]=}''>���<&��=,�D=�;>�)2������B+>{� >,��= �P=��񽨁��uA=���<���
��;���=;>�Ey=}����� >n�j<[�%�;Í�m"�����X��=F+U==���~׌��&�=�&�=j�5�ݽ��l����+>`�����O� >��ĽJ��s��X! >7-��}S�_q�뢅�$K��"����,<����#O="�ּ��Q>&[N>�wؽ�E�/+�=e��8�&>���=������ʼ>����=��s��=�����.�<��ν��>;�=�b���6>���<��>ZP�<��f<d��=�'�<�n1>�펽�7����;�䏻_ni=��=� ��x�J>-�=r� <�~E=Y��<By�����=�i+�>+>a��;�2ż����?7��.���3���^>q*Z������E>t��\Λ=ud�=�6�Q�;�>�B�9/K<�H< ��<�ZC�)=����F<M�� �*��I>��=�%>��;>��R���ټ�r �}�ټp�w�VB��^;2qA<X�3��-�����;�� �� h�1؍=�S�<�6罖1�.&=��Ƽ��=�j������u>UvP>PB4���<s��Y�����>����<��]�n\����Խ�#V�8�[=W��=���= H����<�"��XO>�� >���<vb�<��>r��=<�Y=�]�;ó�=#r�=1��ɇ<<��>��h>4�<��=�7I�٘�P�>�����<Ge�<d�\>$�!�F\�=��c�X��=���<[N���j=����(<��&>�D:��c >T�c>�^>;����=+���_�<;�a>[p�Q"=n�>Du��Y�7>���� �����;��p޽fnv=L�R=�s���0> �H>��*>�k=J�S�W�=~w��^��g$��<��>�R��Lv�=�4�=���=�a>њ=�b���b���<��=��>XV�<��;>�u��ؽI�_�W1�=T��="ӡ�b@)<����~a��^�&�q��Ͻ[�R=~&�=��#�bO]�ҋ'��F��9Ʌ>5�j�g�=7�����ܽ�s�<�����~�{=�mȽ�}�<�Y=���=����"�/"��L#<���l�>x���?<̍ɽy��=D_=�m]>�q�=�*��==z��=0�|�P�½[u��2�X=���=�(=ο���E>����9�9=�X��0��Խ6�T=�e<VW!>\�i=N{�=z�����=���8��|���i��V
�����B���>7c�=���=h���='�=Vqz=�<s�e�bc= 窽��>ߪ���Ӆ<�@�<��=����{-��-�<<��0� ?�=y���G���������d=�� ���4������w���p=#�=pj�=�_��+��=�ݞ=���=��=1�� x�=�4�<ڤ�� �=s5� �����=�;�D�q�|=��>�m#=a��|���X�i�{��+�C�ܽt
B=��c�t=K��v����=!�):���q[H��t�@wL<)u�=[p%����#�1�9{$�W��<Ŋ��  �����O��<�#��� ���=f��=��$>ɑW>sb�=��O>\_�=�k=D"W=3��=����j�b�u�Ѻ��>Հ�ua��r�|��LG�����L�ǚL>�F�=��?>�DN�H�I�2ؼjʬ���=0������������� >���=Fo=]�V%�=j�/�4p�=R�Ƚq1����=��8��=7���:���G�����#'%>3�I:��>l>ϳ <&Y�=� ��l߽�����[<]�׻LvB=j��<bf ��S�/w�۔�=�%�=_Q�=~ԇ�����]T�vT��ܾ�=;o�=�J�=�6�=Í�={�9=s�=��=�)��Ò�<S�V=u�2=)���=ԍ���|&>�A��LK�=G+���>k
>1���az=���=dn�=#�8�u��]~����&�_f�7���7�خy��|�v>R�9�0Be��(P=��=��)��Q�0�
>�� =�>}�����=�8>�� �AŞ��(�"�ὣ:1�_���n߽��,>��;�ż�м=���6�ý����>�%!=frk�XM����콪6<|���.ϽCV��l�-��`����+>9���>_L�J����~��B������;��f�?!�ۏ�)|��Ka�=���~{Ž�a=�t�=��<T�<���<Z��=�4>΅� �b<[NI�_���Q�=N�2���A��"�<�׸<��d���=P�ʽeO���TN��\L>��������m6���x���}=Ҙ�*���r����=�D^=@��J��/�3���\=[Ȣ=}9����=M b�pU<�B����"��k<?~���'�<�~�=lf���3=��ý$U >s8�=�m:>-�P<�b����E=�wJ=��d=&�X�
O�:6X�Pr�<� �< 5=��!=�7�$>=b)T�|��E������;���=y����F=�������=0��=g^����<<��������ڻ�@���4D�aa��7�`k�1��=p#<k�=�����Q=3��=�#��yJ>�a�=��g�w����z�,��<�N=9������K�b=�ߒ=�I>����Ͻ) I���1�9�=-���]����#'>K%�<�@��A��=��w�Q��Ο��^T�����B�2>�>�W�<T��t��=l���m�ʼ*90=I�ۻ_q����S�L6=��#>c�=VH���m�=�PϹ� >|����������:���(=�=�k�=��<�1v�I�ݽe8߽�Ƚv�>�a��^�=�p����ۼ����3=D!�����vG��d�=���;���uX=�.�<Bϭ�>l��ȼ��uب�2L'=��5>��8����<� ���=����ʞ=�E=i.->�;�ܽ����qe<���;=������<#�a<�L}=���=`j}�S��<��>J/?�E�߽��<)p$�ڳ >��=?|&=�ǂ=���uG`���<���<���<� I�0��<���=�`>>6�>�#9���b�� >Yk�<�� �Q��<k��<�K������E���m��E˽��:]�Z=7=�=x�;t����ʽ[U�k�V�>`s̽z����I�<�.�>^�N���K>�����������=1�=�8����B��6;w�[=�CX<-a�:i ;���=���<X��=�� =CT�<(��2�m�;9-ٽ�`!�tn6��c���_����n��U[>��=3V׽������~=$��=,X�<�L���+��̽��(=���=f� ��������;��-���<�B<+=��e�uѴ<ͫ!��S4�@�A=m4J>ˇ��]Fs�<�� >�廼���T�=W�
>����r�T>�>=�i�;�Y��Q];��I+���k}ǽ���=;b_����Q�=�S)��{��o�2 N;�*
=fu��Jc��aºm� =���� �:Ć���=�g��`�{����FY�=T=�П= Θ�M޽����8m���=���=8f���-�����{�=�>ڭ>��2>ѓ>T�I�8�1�
&�=���=8�˽�o<�t��=��\=�����F>�&~=���=� W�89��!�WI
�H�ɼ\?>�2_<E�A=�Kh<��d=hҀ�����<hK��hb����-��J��T-->��->" ������*Ԉ����=
�� �p=k�<L5ν�(=�o�<ֻ�=�L_��"�o2>��.�W1 ��Q��%��o?c="r����=�:�=
���ҩD��=��F��=�'�=�=��<�1>��#;�'����/<ߘ��T��<��c<*NC�'��=�L=���3_�=�] �s醽�ֽ>��#����k=�A��R�ڽ�\l>oV>P٣=�֋;�/�:U�<\���"�ȼ/Y���ļ,=/��;3ꆽI��q�O>��;[�J����=����R=�Dٽ�=>����¡;u^��@
>�w�=�~�ãx=s��=��m�P5c>�{>侣=����WV�~��t� ����`Rm=���<~�;I���Kf�oU���<�Uo�Y��=|y��|�=�Y��@���}�=�o�<z��=z5���"�=�&�%u�UȲ���<f'
�\�>%o�=02�=D �=#��= ���P�����8�=<q-� @M>p�k<?F=�@L>{π<�X,�(�"��3 >A8��v��1��Ǖ�<��ν(�<��G=����"����*�=)-ڽ��3=�[��� ޻%�)�dT���z>:r�;�n�<P�s=�z�>F>A�>&St�UX<<w��f=?ٻ�C5��}K�aZ�=��<A�:>�d�= ��W$k=�p�=�Ē=��C>(�0>�y�=�y���ӽܯ4<� =&9>O� >��<�����W�=��.�u>�,6�˟5=�#s=�F1=�>b��kn�=Vػ��%5=%��;�}
=r>a�� >���+n>��?��=�4�O��=y�7>�1a=���= ����=��W=�M����ɪ߽�[���=�'�;�|>�������:��1=zo�=���=U඼Fh��I� �Qa>����.V���m���:���&�뺷���W=� V�c"*>����mi�=�[>8j��$�;���+��JB���߽��;/���Վ0����<׉}=mݽե�<X��+�i��i�=".��f��� ��=����֙'�7.,���k��3>Wۂ=
�N���ܽ���=f��=��x�Ρ޼`���F���&=�>��a�`=b���Yf=3�=Hpb=�.>[`D�Z�׼�c=X�C�� �=UO�-��<K���Ɓ>>�uq���9�+f����w<+o�=�*�;.�<=ڧ�: D>��Z��9�Ui=S� ��C���ؽ�v�v�)>05���>,����e
��Q=���=���=h�ż+�=�;����=6�>�S��G�<�L9��1>$�=��н8���u|�</���/�=�<>����u�ztڽ��:��ʣ�Д��<u>S�;VL�= �>B�e���=$ ����=mQ�����د�<�3���P�T�=dy�= ��<�k2=�� >&�p>�<�=�|�<�M�����0��t��lM �.=#�A��u�����=�0�6�m>T�=�>���=a�Ͻ���<%�������Ć��Ȱ�eGg=��R=2�=r�>�)=�Z#�Ry/>����ٓ=13�=.�#>��
����=i��������z�z��=���1����C�=�n=�u��#>e��v.��(����'��4��� 7��ѥ=�T�=Fƚ=Wj���<͎ �f��=µ����)�r{'�B�><�7>sK=�m�� WF�\�T<Q��?��qf>�B�>+V=1€=���ī�>|��� �=w]�P�n>� '>���=L�0=��>L��o��=�C�=^m��R�b��Y*�
H=Z��=?��<:F �� ��:21>���q>��
>k����;f>�g���,>bhr;�e=���<�[>���=ʹ=둃=Ե�<󦫻븅=x��� y(=+�<��=4�b=� �=�CV>�.��c�fH����=%*[<x60�l���C�.�7r��I�&��\,=����E轞"9�|����^�у��F4C�<Vr<hO5<-z0����<\ >Bx�<i�>��A�
�p���r��<�K�;��`;��Ἕo<?�=y�y=+����.�=t�=[.�=��{=�����b�=�oc=O�"=��@=@I���C�D}>mK��Q �=U�P>
���f �=sݽ���=Bǚ���>`��=���TjW=���29��wɽ�c=�a`=�|�ݵ9>@���T�4;]����7 > ^���=�/\=�k�<����R�̉8��^�=��U�B��un�;�5��B����<�ng=�+W=�^�=�'��m>�3�=Ͼ�=Ј>�b<-�F��h5<�aȽ�ɼ�E뼨v�=v�=�{8=�>���=ml�=|d�=)�<��X=~�3<�ޢ=~�A�j�F�^^6>�
E=�E9=� ���½�߽�P>r���,Bb�����m]w<����λ�ܰ=VW8>��>�� �*�*<�Ž���uqe��䁽��6�BӪ�����>�$V��>�_>)���dn0>��>ܖ���@�<�.�еw��e���|���!��N�<X7>~s���{=z��=����`�|<y�e��7��W�x=��o:�͡=���=�rڽ DY=�׽�&�<M��=Zx�
K��6�<T�޽<H�<>���#X=<�� 4�oO^=`���95s=����������D=J8�<�e>cq3�g�<>��>`s�=�3��Ȭ���<J�9��P5<�D�=�I=Q@e= �2���Q=f�Y=\x>�����E�6��=�v��@"g��� ����=��1�g�>22e=n�ؼU��Oü]Q����=��`=A\#�c��m��=Ɍ �"�'�L(8>6;^�*?g�S��=��_=���=�������z�=�aA����=Yd��Θ�*����E=Ĝ�=}�L=���=q��<}�J�>��,���=������N=g����$�ټ#)L=��M�ô�=�ʎ���%�*��=E<��*�����!bV>n<��\�:����'��=\��<`�j=��>"����߽/�=�zf=�׹��Q���<�<�-�=���<�(=���=���<�P<]�<���C��< (�=:/�ِ"���q�����>�=�=E�3�"�Y�sս��Ͻ�x�=�>>�ag�v2���d�s@]>������=!��=(� �{�� � ��e"�=<o�<�7�᠋��T��M����-_>�r!=܃/��=���ue=�+Q�a��=>
�=�#��T��=�⭽��=��н���=�=8���T�1��=��!��������USF>$*ԽQS��:=���<�8=ׇ�;�{���Žx�ӻ�j�= �=0��_�<��n=!(��4�z���^>�>�S�z>^ҽ�"l9����<Y眽�<�=�Z�=�tH���s�)9�1�>A��=�N�}U���*<�낽7�<�ܼz�2=�B�<I��������5=�7"�;J�<� =�궽��'=Ӏ���F>b@���wO;,�=˄5>aζ�r,=#��;���=ŕ7��>k���� �̃�=T��= �=�q�=5��<"�G�fk��m7�=xQ=�WT��ἑ�l=��^��c(=���| J>����^�Խo1�=�h����<���O�=�d�=��ɽ�I3��1�<�F@�J��W(Խ����O4=�� =ZgŽ�>��3#�D�5�kb<d��<�D<�B�<������轐��<E�2�`���x<'%>�=C�~=��/�->[�� Ὠ��=�{]�n��=��>q�ƽ��: ��:A���I�=U�^�(_���^�=d�μ�I��_��D�����Aս�$�<�ϟ<��=��>��<�� >M��5�;i�.>X6q����N
q>[+K��PW=�Z�=��ӼT��=�� ����<��.>��>�5��w��=X�׽�1��e������7>��1<���%f��\0=`�%��B< �ӽ<�<�Y�w�O�ϚŽǔݽ%xv=x�E��\Ѽ���Y4 ��V��y�=EvL�3j6�͢�=��y�<_�<����-� ��-
��RL�Ke��#=*�����*;�3�=Qt�� (���������=x�˽7M6�i{;�W�=<��=h@P�Ԋ:�����b N�����������<5"�=�䡽V?>��>�I��'�;rZ,=6�W��q��Cս4 �����<�>{� =OU='�Լ� ��pF�[惼<r�=)�6=�ͽA 7�fC�<|����M1����=�~����4>�H=�C����I>�0w>�Q��R�<�$ >��>����'>\j>��g��؂<��y=�X<�S�Z׽�����=+�>I�O�2��\p��J�*���<|�=$�K=j�M=G��;,�C����=�2=����Ì;���=z���Ё�=�(һ�s6�^R�$蒾�ݓ����Y�<��=)�<��`> �=H>��= q��4=�k��>�������Evr=X�Ƚ��$�霻����S�� �;>Ap�=S�l=� >��H=}�6>���=��׽k�!<��:���A=����H���^y���@>�U���괽���!.�>݀�=t4c;?ۿ��l�=�\�=ذ >/���=���`|�=j1���>� 8�#��;� >�j�%�����=ͮ<<6�}� x:��GU>fO:���R�^�>'D��t$��K��OJ-��m����;1L�<��=���<��f���&�@<m���~ʽ���=� r�i߽t���O�=<�f��0}>�}*��>G�u;�q&=^��K�ѽ��1>vJ>C�����< S�d�N=0�m��/>WP�<�'��Nj=���<HE>e� ���<x=��-�뷠��>��Pd� k>>돘=���<���=;1w=�y=C��>�m�����<8��=k<�=�N�2P4�Η->����t��#��H�=q/;��<=� ����i��m� �=���V>>��>ո۽nԬ�40��/-���%���$W=Y��<s>�=`��K�k>sn�=�=�a��:,���)(���>���P�N=�v�=`�=�ѽ�)J��,��+�=3V��)����@�=�,�!>H��>�ԯ<&�z�mf��*�<4��=]�½ �;>�ݽ�nU%=��=�%>Å`>9Y<k�=��=K >-:d�� �#G�<�%�<d��8��<f9��.>x끽c+὾����@�&�Լ���=0=�� F=SE�=2I�=���<���<��(�U�'�kߝ�vYq����=�^Q��^Y��$>
�.�/7=Hٕ=(���9�w�\��� >������j��ܷ�=�_�����b�7=?I=�����x��ʙ�=C`u���������T���Z=�9�=�ԫ=ם��i4߻���=�������A0�=u:Z>��⽭�>T�'�r�J>�6)�����X���!$�� � D����<�jG��>�!h=���=)zw��0�MT�N�>��>9 <=�\>�I�����R�=�^y����<$\c=�>T�/=�Y��Vc��3�$r�=a�k�S��=�t��>s%�R�Q=,�=֕�� ]���>�Q==��ۼ��e�=y�<��=�l�=��{=���� A>P�*���=.ɏ����<�T{��9���,��ZнJ��۷ ���Y���:O6�<��&>&�=&�>�ƣ��Ӽ�0�-n?>X�:�U{��P���8����7���=G4��3ɽB?��|N=�����=��=N�<�(�=-���7� ��ꦽu:�=<Z���lѽS�b����=��<�����N���#�z���Ku>�$� O����m=wb��*��\l�=�s�=�f�=��)>��q=��<�{G>,��<Y;=c<=4�߽>���=��M>�ֽH�=
��<�z��"=���==�=Y���.�=t3j�>��=�Q�=��6=�O�A�"=|��:�%%=�Ic>\�<�W�H>��=��n%��������=[��ׁ�< ���W����;@�2=�ͬ��- >��U�ml���a�����=��o�� i=��Ž=F�&�Ѷ~�v#_;�Q��^tN=dK�=�[�=�'Ľ�[>@<㼍��qp�=4����� ��F���#�/=Op����=(����?��z¼HXJ���>P�<!v(="[��eC>��̽ 1&�5�~�<�0���=���=� ���=6:�<1�s���� ,Խ`B�|��=�O{<ᵛ<e��^�=�/>>�\�=���=6O�< U^;��b�Rt5��뤽1�=٠�=�(�;���=^b=��<(<�<�_ ��O��v�Ľ휫�ղ����h=b��==g��yQ�Wm��*W׽j�}=�='�Tb���=����u�6>��*<��>�LG���%>��=�+(��]�@x޽n�=��=��
��-6�*����<�f��=O=}{=��|����=�3>�<���=���=�G��㌧=�]O��k�=Q��=���="{�;���=�p{���^=|#��� >��-���?��+>�S:��k=�J��L��۩_�ݥ=���<T����8�=���< �d=�7���+����<U�R>HG2> ��:�ȷ��,�����$�=@�>$�=|k<>�Nw=�N�=�p^� �ϼ���=^� >��̼�����&������<�=H
>,��=X��=�i#�5��=������}�y�:��=�ק=əm���>������](�=�
ܼϰ=��v<%%�;Z�K��h�<��=��!����=���,X=ߣB��^>=��> >(��� Q=M��=Pn�=(J`=O�C>*i=��>���=�!=�f>�Yx������&�=H�;��ꌽBF�<B�'>jit�gW�=��==��<��@;�d�=Zw =��9���� ��=½̪�<�I=���<�K= y�B���n�b>A�[>�@����M<��ս��P=��>M��=�M�=q➼'��=������0>_O���V<���i.��5A���]�=��K�9�/>��:t�>�ê<� > m=Y��=�O��E��;,�F=�Kѻ�m>:&�=���<"�&>�<�֥�=a}�<M����+�=�x�=��޽�!���m4=�}����=��%����;����c=�@�ʰz����M����'{�C"�=%k�=^�=�E5;*����AD=���<X�J�k�ۼ��<�7<bW+�������<+*=wz�<Tz�;
��<�.=��s�UﺻS��P܂�+�=�I��w�<�=�����.� =���<�^<՞F� �_��]ƼZuE<�P�<��~�VҨ<y�A<���;@i�<u&}�ɠ��V�;o����5�w�L�<-�@��o<AS=���;u =�@X�7�V<��<�y����)�iQ�;�I���A=_�C;Z&q<���<fR2<�Z�_�q�PC7<w�=VDV=nɕ��=��t������<=�<�����k�<��� �\-I��*=���<6���`�<�������<c���<�!�����<0��n�<�`�<�d=L�$=�<����upE=��<P�<�oQ<���$48����wع<��M���= ��<A�ۻ��;rJ�<i׼H# ��wA=��!�p�T���<���;@~�;���<2k-=�t=���<���;���<cg�;��<��O��];��7�c�X=q7=���d2�=��=��I="��=R��<ld��յq= c�����=�è��c�:�� >���tF=�Y�M&�=��'��^A=���<�=d=�i�=�����x����;�[=`ٞ���9U���ߎ;�΂=It<��H!t�2\�=���=����#��p�<���m�����#���G=cY��\9=��<=w �=$�Ž�/ɻ? �;
��=��<�y��tF =�Be�a��iz>�"W��Rw<<�%=hн?��=�9����J����|<tz�����=�)Y����Qb<3D�<�}>��*:={��<��=w�=kWH�*���*<P ��t��<��0>���<I_<<ӣ�=��=���=�/�=�g�eW��I�Q=P��=�\��a�$���=m��<FTҽ�!���?����o�2�>��u� ��<o1�����L����E=�w��s��;l��7,�`�=��!=�*>�\�=j�;7P <x��<�����n<O)м��=��|<E����(̽�,=2���0�=�,G<��=T�u=eM����=Wi�i�������w=e���K�5<��=�-.=I��N7�?��~½��7���������}S�k�=.뼑 �<㸽����*'=#��=GM�9�6= �Խ���<��=�U=��==>.X=���=x%�=Yg���D3</�=7��:��=o<X�
>IE�<�7>,g��ſ��1C=�ɒ<\|�=��������"=f2=c��<WsG�iѸ��н���;�=[�'�{�K=!i+<X�I<#`�=�Dz��<½�U=�鲽E-�=�r(�~y�tV���9M����=5�=���ꠏ<�ݟ=Me;[ڈ�A��=�oF=���=��ļ�>�=^7����>�x�<E�<kW��+E=�aM;m��=E�ལ '=
]L=ը
���˽w��G�=���=�A����=i?%<���;w��=�\ <;��F��=s���r��z�<�@�=J^�=�i���L���;�<�v;��*���=�#=�M�;���H@�=�,�JCн���=�x��׫���n�<J�=jT��?ռ��8������=-��+�9�<�⻙/�<$�&=�jy<tK�������=$qu�bO�#��=�ͼ��<%��=� �=M�i�Qz�<����sP��)���Ȓ=��2="�<��'=�&G=}֧e=ޡ<��S>m<�rK=M�|���`<
ڼ'�)=��r��ڽ��ys|���ؽ��`=���r_<@��<��ּ�t��$����鼓�=��z��*s��a,� l��VĔ��ǯ=ņ9�W�=?�k<��f��=��޼��.� ��ì������+�<�^
<)��u�=����<2�� *�<�l�=��U<j�k�qBF�۬���p��+�<��=��"�¯�<�;n;���=�ȕ��\��0T�<tp�=*� =����Gz��趻����|I̼�69{;�=n��=]b��ϥٽ8����V$���<�{�A=K𯽦W>�y=Kw=�pν���=黍��{=T ���Iݽ�D7<TA��͉=.Q����S�:K��̤<�Ě=�D>�XI�X��E�:W˵���0��K�=P���Cd=4"�<� �=��By�<���<VJ�=�5��˽����"�C��<a�=@H7=?@��&~�������L�+.Žv�Ͻ� >���<���=в�����<����x�[�+Hp�a�(=s�C�k|=D��=Q]=9l~�S䕼�X+�tr<�� P=a��<-)F=�mN�a��<���ս7=���;@*>�˴=T�N=6�%<Ñ=�T<"ݒ=+]= �u�Ԓ�=�%�=`1#=c#�=�½6��<_��=��=�(� ��=y�̽Iq��ԕG= �;�g�$�bG>k{�=��̼Ό=}9��� �=�K��+xw=�
�㊮�}��<���� ����=��~��j��U����G�=�V�=�n��Xļ�kG�e��=��Y}}��$=�$ּ�ӗ<�ʽq��=M
s��z�=���=����S=h՝���T=̈!��q���;�s�=���N�ɼ����'�B��;

7
Project/Assets/ML-Agents/Examples/Reacher/TFModels/ReacherLearning.nn.meta


fileFormatVersion: 2
guid: 0c779bd93060f405cbe4446e1dcbf2a6
ScriptedImporter:
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 19ed1486aa27d4903b34839f37b8f69f, type: 3}

7
Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ArticulatedAgent.prefab.meta


fileFormatVersion: 2
guid: 142b1673ab3eef5f098717cab90c53bf
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

626
Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ReacherRoot.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &35915141843403843
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8854354080020382614}
- component: {fileID: 4417543546184838136}
m_Layer: 0
m_Name: ArmBone1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8854354080020382614
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 35915141843403843}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -4, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1589218660688886730}
- {fileID: 6591214048622287047}
m_Father: {fileID: 1589785597498866906}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!171741748 &4417543546184838136
ArticulationBody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 35915141843403843}
m_Enabled: 1
m_Mass: 1
m_ParentAnchorPosition: {x: 0, y: 0, z: 0}
m_ParentAnchorRotation: {x: 0, y: 0, z: 0.70710677, w: 0.70710677}
m_AnchorPosition: {x: 0, y: 4, z: 0}
m_AnchorRotation: {x: 0, y: 0, z: 0.70710677, w: 0.70710677}
m_ComputeParentAnchor: 1
m_ArticulationJointType: 3
m_LinearX: 0
m_LinearY: 0
m_LinearZ: 0
m_SwingY: 1
m_SwingZ: 1
m_Twist: 0
m_XDrive:
lowerLimit: -120
upperLimit: 120
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_YDrive:
lowerLimit: -120
upperLimit: 120
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_ZDrive:
lowerLimit: -120
upperLimit: 120
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_LinearDamping: 0.05
m_AngularDamping: 0.05
m_JointFriction: 0.05
m_Immovable: 0
--- !u!1 &1592656336736303836
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1589218660688886730}
- component: {fileID: 1614613305533636978}
- component: {fileID: 1727442758111244906}
- component: {fileID: 1606994499362618638}
m_Layer: 0
m_Name: Capsule
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1589218660688886730
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1592656336736303836}
m_LocalRotation: {x: 1, y: 0, z: 0, w: 0}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 3, z: 1}
m_Children: []
m_Father: {fileID: 8854354080020382614}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 180, y: 0, z: 0}
--- !u!33 &1614613305533636978
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1592656336736303836}
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
--- !u!136 &1727442758111244906
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1592656336736303836}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &1606994499362618638
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1592656336736303836}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: eaad04b0e0dec42229c9cb00a981d7ac, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1592717429903089754
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1589464041819523486}
- component: {fileID: 1615186784853956802}
- component: {fileID: 1728584120109218864}
- component: {fileID: 1606752842428399740}
m_Layer: 0
m_Name: Hand
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1589464041819523486
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1592717429903089754}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: 0}
m_LocalScale: {x: 2, y: 0.22000001, z: 2}
m_Children: []
m_Father: {fileID: 1590037996085689246}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1615186784853956802
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1592717429903089754}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!135 &1728584120109218864
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1592717429903089754}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &1606752842428399740
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1592717429903089754}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: c9fa44c2c3f8ce74ca39a3355ea42631, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1593012518587548326
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1589785597498866906}
- component: {fileID: 1614683975423105078}
- component: {fileID: 1729231592186904744}
- component: {fileID: 1606849972676077564}
m_Layer: 0
m_Name: Sphere
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1589785597498866906
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593012518587548326}
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:
- {fileID: 8854354080020382614}
m_Father: {fileID: 961689143316173633}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1614683975423105078
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593012518587548326}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!135 &1729231592186904744
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593012518587548326}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &1606849972676077564
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593012518587548326}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 69fefdd39d2b34b169e921910bed9c0d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1593189527601031332
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1590037996085689246}
- component: {fileID: 1615151378391047378}
- component: {fileID: 1728331429712653810}
- component: {fileID: 1606242221140539734}
m_Layer: 0
m_Name: Capsule (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1590037996085689246
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593189527601031332}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 3, z: 1}
m_Children:
- {fileID: 1589464041819523486}
m_Father: {fileID: 6591214048622287047}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1615151378391047378
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593189527601031332}
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
--- !u!136 &1728331429712653810
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593189527601031332}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &1606242221140539734
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593189527601031332}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: eaad04b0e0dec42229c9cb00a981d7ac, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &3557625978573213022
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6591214048622287047}
- component: {fileID: 2814553969608055777}
m_Layer: 0
m_Name: ArmBone2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6591214048622287047
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3557625978573213022}
m_LocalRotation: {x: 1, y: 0, z: 0, w: 0}
m_LocalPosition: {x: 0, y: -6, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1590037996085689246}
m_Father: {fileID: 8854354080020382614}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 180, y: 0, z: 0}
--- !u!171741748 &2814553969608055777
ArticulationBody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3557625978573213022}
m_Enabled: 1
m_Mass: 1
m_ParentAnchorPosition: {x: 0, y: -3, z: 0}
m_ParentAnchorRotation: {x: 0.70710677, y: -0.70710677, z: 0, w: 0}
m_AnchorPosition: {x: 0, y: -3, z: 0}
m_AnchorRotation: {x: 0, y: 0, z: 0.70710677, w: 0.70710677}
m_ComputeParentAnchor: 1
m_ArticulationJointType: 3
m_LinearX: 0
m_LinearY: 0
m_LinearZ: 0
m_SwingY: 1
m_SwingZ: 1
m_Twist: 0
m_XDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_YDrive:
lowerLimit: -120
upperLimit: 120
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_ZDrive:
lowerLimit: -120
upperLimit: 120
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_LinearDamping: 0.05
m_AngularDamping: 0.05
m_JointFriction: 0.05
m_Immovable: 0
--- !u!1 &4151261966004313255
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 961689143316173633}
- component: {fileID: 8493763919717438389}
m_Layer: 0
m_Name: ReacherRoot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &961689143316173633
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4151261966004313255}
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:
- {fileID: 1589785597498866906}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!171741748 &8493763919717438389
ArticulationBody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4151261966004313255}
m_Enabled: 1
m_Mass: 1
m_ParentAnchorPosition: {x: 0, y: 0, z: 0}
m_ParentAnchorRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
m_AnchorPosition: {x: 0, y: 0, z: 0}
m_AnchorRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
m_ComputeParentAnchor: 1
m_ArticulationJointType: 0
m_LinearX: 0
m_LinearY: 0
m_LinearZ: 0
m_SwingY: 0
m_SwingZ: 0
m_Twist: 0
m_XDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_YDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_ZDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_LinearDamping: 0.05
m_AngularDamping: 0.05
m_JointFriction: 0.05
m_Immovable: 1

7
Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ReacherRoot.prefab.meta


fileFormatVersion: 2
guid: f517fb76e96ed5801877e6fed9d8e45e
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

408
Project/Assets/ML-Agents/Examples/Reacher/Prefabs/ArticulatedAgent.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1065277484498824
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4836354168995630}
- component: {fileID: 33827327769986516}
- component: {fileID: 23913365403597130}
m_Layer: 0
m_Name: GoalOn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4836354168995630
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1065277484498824}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_Children: []
m_Father: {fileID: 4984025405280428}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &33827327769986516
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1065277484498824}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &23913365403597130
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1065277484498824}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a09ffeb044a1d89499e880ce9790458d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1395682910799436
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4067321601414524}
- component: {fileID: 8825304141050044247}
- component: {fileID: 3631661136292700196}
- component: {fileID: 4734153522148485267}
m_Layer: 0
m_Name: ArticulatedAgent
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4067321601414524
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1395682910799436}
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:
- {fileID: 4984025405280428}
- {fileID: 1965543810841106237}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &8825304141050044247
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1395682910799436}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6143635a8af8679a8a563a8820c9c9ee, type: 3}
m_Name:
m_EditorClassIdentifier:
agentParameters:
maxStep: 4000
hasUpgradedFromAgentParameters: 1
MaxStep: 4000
reacherRoot: {fileID: 3423762949051111643}
pendulumA: {fileID: 1612288809266921535}
pendulumB: {fileID: 2828438114980972834}
hand: {fileID: 1654288206095398}
goal: {fileID: 1986879271678326}
reacherRootPrefab: {fileID: 4151261966004313255, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
--- !u!114 &3631661136292700196
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1395682910799436}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a5c9d521e5ef4759a8246a07d52221e, type: 3}
m_Name:
m_EditorClassIdentifier:
DecisionPeriod: 4
TakeActionsBetweenDecisions: 1
--- !u!114 &4734153522148485267
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1395682910799436}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5d1c4e0b1822b495aa52bc52839ecb30, type: 3}
m_Name:
m_EditorClassIdentifier:
m_BrainParameters:
VectorObservationSize: 33
NumStackedVectorObservations: 1
VectorActionSize: 04000000
VectorActionDescriptions: []
VectorActionSpaceType: 1
m_Model: {fileID: 0}
m_InferenceDevice: 0
m_BehaviorType: 0
m_BehaviorName: ArticulatedReacher
TeamId: 0
m_UseChildSensors: 1
m_ObservableAttributeHandling: 0
--- !u!1 &1986879271678326
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4984025405280428}
- component: {fileID: 33192810276213476}
- component: {fileID: 135746602902751552}
- component: {fileID: 23595512991530936}
- component: {fileID: 4817652318333382091}
- component: {fileID: 5615031093200569454}
m_Layer: 0
m_Name: Goal
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4984025405280428
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986879271678326}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -2.41, y: -6.25, z: -9.8}
m_LocalScale: {x: 5, y: 5, z: 5}
m_Children:
- {fileID: 4836354168995630}
m_Father: {fileID: 4067321601414524}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &33192810276213476
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986879271678326}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!135 &135746602902751552
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986879271678326}
m_Material: {fileID: 0}
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &23595512991530936
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986879271678326}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
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_ReceiveGI: 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!114 &4817652318333382091
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986879271678326}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2d2344574cfd47319259fc8d3483768c, type: 3}
m_Name:
m_EditorClassIdentifier:
agent: {fileID: 1395682910799436}
hand: {fileID: 1654288206095398}
goalOn: {fileID: 1065277484498824}
--- !u!54 &5615031093200569454
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986879271678326}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 0
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!1001 &1594160471321281660
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 4067321601414524}
m_Modifications:
- target: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4151261966004313255, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
propertyPath: m_Name
value: ReacherRoot
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f517fb76e96ed5801877e6fed9d8e45e, type: 3}
--- !u!1 &3423762949051111643 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 4151261966004313255, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
m_PrefabInstance: {fileID: 1594160471321281660}
m_PrefabAsset: {fileID: 0}
--- !u!4 &1965543810841106237 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 961689143316173633, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
m_PrefabInstance: {fileID: 1594160471321281660}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1612288809266921535 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 35915141843403843, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
m_PrefabInstance: {fileID: 1594160471321281660}
m_PrefabAsset: {fileID: 0}
--- !u!1 &2828438114980972834 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 3557625978573213022, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
m_PrefabInstance: {fileID: 1594160471321281660}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1654288206095398 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1592717429903089754, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
m_PrefabInstance: {fileID: 1594160471321281660}
m_PrefabAsset: {fileID: 0}

7
Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacher.unity.meta


fileFormatVersion: 2
guid: 36c2de1a721aa550b8b9a53c6736ed89
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

589
Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacherManualControl.unity


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 4890085278179872738, guid: 0c9da8813ae6fd9dfafb2953273acfa9,
type: 2}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1001 &159831605
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1065277484498824, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1395682910799436, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_Name
value: ArticulatedAgent (1)
objectReference: {fileID: 0}
- target: {fileID: 1986879271678326, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3121518955567099780, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
propertyPath: m_LinearDamping
value: 0.05
objectReference: {fileID: 0}
- target: {fileID: 3121518955567099780, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
propertyPath: m_JointFriction
value: 0.05
objectReference: {fileID: 0}
- target: {fileID: 3121518955567099780, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
propertyPath: m_AngularDamping
value: 0.05
objectReference: {fileID: 0}
- target: {fileID: 3535560371474816925, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
propertyPath: m_LinearDamping
value: 0.05
objectReference: {fileID: 0}
- target: {fileID: 3535560371474816925, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
propertyPath: m_JointFriction
value: 0.05
objectReference: {fileID: 0}
- target: {fileID: 3535560371474816925, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
propertyPath: m_AngularDamping
value: 0.05
objectReference: {fileID: 0}
- target: {fileID: 7187870112728913865, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
propertyPath: m_Mass
value: 2
objectReference: {fileID: 0}
- target: {fileID: 7187870112728913865, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
propertyPath: m_Immovable
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7502585849089161407, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 8825304141050044247, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
m_SourcePrefab: {fileID: 100100000, guid: 142b1673ab3eef5f098717cab90c53bf, type: 3}
--- !u!1 &159831606 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1395682910799436, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
m_PrefabInstance: {fileID: 159831605}
m_PrefabAsset: {fileID: 0}
--- !u!1 &159831607 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1986879271678326, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
m_PrefabInstance: {fileID: 159831605}
m_PrefabAsset: {fileID: 0}
--- !u!1 &159831608 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1654288206095398, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
m_PrefabInstance: {fileID: 159831605}
m_PrefabAsset: {fileID: 0}
--- !u!1 &159831609 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2828438114980972834, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
m_PrefabInstance: {fileID: 159831605}
m_PrefabAsset: {fileID: 0}
--- !u!1 &159831610 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1612288809266921535, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
m_PrefabInstance: {fileID: 159831605}
m_PrefabAsset: {fileID: 0}
--- !u!114 &159831611
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 159831606}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 156536e3d4854870b084a1f1de48e49e, type: 3}
m_Name:
m_EditorClassIdentifier:
reacherRoot: {fileID: 1343193114}
pendulumA: {fileID: 159831610}
pendulumB: {fileID: 159831609}
hand: {fileID: 159831608}
goal: {fileID: 159831607}
reacherRootPrefab: {fileID: 4151261966004313255, guid: f517fb76e96ed5801877e6fed9d8e45e,
type: 3}
useAlternativeKeySetForInput: 1
useArticulations: 1
--- !u!1 &277186347
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 277186350}
- component: {fileID: 277186349}
- component: {fileID: 277186348}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &277186348
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 277186347}
m_Enabled: 1
--- !u!20 &277186349
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 277186347}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &277186350
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 277186347}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1331339557
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1395682910799436, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_Name
value: Agent
objectReference: {fileID: 0}
- target: {fileID: 1986879271678326, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_LocalPosition.x
value: -18.48
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_LocalPosition.z
value: -9.5
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_RootOrder
value: 3
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4067321601414524, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 54174454281860166, guid: 2f13abef2db804f96bdc7692a1dcf2b2,
type: 3}
propertyPath: m_AngularDrag
value: 0.05
objectReference: {fileID: 0}
- target: {fileID: 54420197405084076, guid: 2f13abef2db804f96bdc7692a1dcf2b2,
type: 3}
propertyPath: m_AngularDrag
value: 0.05
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 114955921823023820, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
m_SourcePrefab: {fileID: 100100000, guid: 2f13abef2db804f96bdc7692a1dcf2b2, type: 3}
--- !u!1 &1331339558 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1395682910799436, guid: 2f13abef2db804f96bdc7692a1dcf2b2,
type: 3}
m_PrefabInstance: {fileID: 1331339557}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1331339559 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1986879271678326, guid: 2f13abef2db804f96bdc7692a1dcf2b2,
type: 3}
m_PrefabInstance: {fileID: 1331339557}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1331339560 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1654288206095398, guid: 2f13abef2db804f96bdc7692a1dcf2b2,
type: 3}
m_PrefabInstance: {fileID: 1331339557}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1331339561 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1053261483945176, guid: 2f13abef2db804f96bdc7692a1dcf2b2,
type: 3}
m_PrefabInstance: {fileID: 1331339557}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1331339562 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1644872085946016, guid: 2f13abef2db804f96bdc7692a1dcf2b2,
type: 3}
m_PrefabInstance: {fileID: 1331339557}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1331339563
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1331339558}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 156536e3d4854870b084a1f1de48e49e, type: 3}
m_Name:
m_EditorClassIdentifier:
reacherRoot: {fileID: 0}
pendulumA: {fileID: 1331339562}
pendulumB: {fileID: 1331339561}
hand: {fileID: 1331339560}
goal: {fileID: 1331339559}
reacherRootPrefab: {fileID: 0}
useAlternativeKeySetForInput: 0
useArticulations: 0
--- !u!1 &1343193114 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 3423762949051111643, guid: 142b1673ab3eef5f098717cab90c53bf,
type: 3}
m_PrefabInstance: {fileID: 159831605}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1565872349
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1565872351}
- component: {fileID: 1565872350}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &1565872350
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1565872349}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &1565872351
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1565872349}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}

7
Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacherManualControl.unity.meta


fileFormatVersion: 2
guid: bf788df83625a74d8b9568a1ee63a418
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

918
Project/Assets/ML-Agents/Examples/Reacher/Scenes/scaling.unity


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &167556899
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 167556901}
- component: {fileID: 167556900}
m_Layer: 0
m_Name: rootBone
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!171741748 &167556900
ArticulationBody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 167556899}
m_Enabled: 1
m_Mass: 1
m_ParentAnchorPosition: {x: 0, y: 0, z: 0}
m_ParentAnchorRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
m_AnchorPosition: {x: 0, y: 0, z: 0}
m_AnchorRotation: {x: 0, y: 0, z: 0.70710677, w: 0.70710677}
m_ComputeParentAnchor: 1
m_ArticulationJointType: 0
m_LinearX: 0
m_LinearY: 0
m_LinearZ: 0
m_Swing1: 0
m_Swing2: 0
m_Twist: 0
m_XDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_YDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_ZDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_LinearDamping: 0.05
m_AngularDamping: 0.05
m_JointFriction: 0.05
m_Immovable: 1
--- !u!4 &167556901
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 167556899}
m_LocalRotation: {x: 0.41331053, y: -0.027365169, z: -0.12993167, w: 0.90085703}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 192061208}
- {fileID: 858920505}
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 47.524002, y: -13.419001, z: -22.344002}
--- !u!1 &192061204
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 192061208}
- component: {fileID: 192061207}
- component: {fileID: 192061206}
- component: {fileID: 192061205}
m_Layer: 0
m_Name: Sphere
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!135 &192061205
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 192061204}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &192061206
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 192061204}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &192061207
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 192061204}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &192061208
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 192061204}
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: 167556901}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &270716407
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 270716408}
- component: {fileID: 270716409}
m_Layer: 0
m_Name: bone2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &270716408
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 270716407}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -4.25, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1757323893}
m_Father: {fileID: 858920505}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!171741748 &270716409
ArticulationBody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 270716407}
m_Enabled: 1
m_Mass: 1
m_ParentAnchorPosition: {x: -0.000000059604645, y: -2.2500007, z: 0.00000047683716}
m_ParentAnchorRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
m_AnchorPosition: {x: 0, y: 2, z: 0}
m_AnchorRotation: {x: 0, y: 0, z: 0.70710677, w: 0.70710677}
m_ComputeParentAnchor: 1
m_ArticulationJointType: 3
m_LinearX: 0
m_LinearY: 0
m_LinearZ: 0
m_Swing1: 2
m_Swing2: 2
m_Twist: 2
m_XDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_YDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_ZDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_LinearDamping: 0.05
m_AngularDamping: 0.05
m_JointFriction: 0.05
m_Immovable: 1
--- !u!1 &456935350
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 456935352}
- component: {fileID: 456935351}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &456935351
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 456935350}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.802082
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &456935352
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 456935350}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &554120679
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 554120682}
- component: {fileID: 554120681}
- component: {fileID: 554120680}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &554120680
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 554120679}
m_Enabled: 1
--- !u!20 &554120681
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 554120679}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &554120682
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 554120679}
m_LocalRotation: {x: 0.0000002682209, y: -0.00000020861626, z: 0.000000067055225,
w: 1}
m_LocalPosition: {x: -0.44699097, y: -5.8617096, z: -14.927282}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &858920504
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 858920505}
- component: {fileID: 858920506}
m_Layer: 0
m_Name: bone1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &858920505
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 858920504}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -2.64, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 953926812}
- {fileID: 270716408}
m_Father: {fileID: 167556901}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!171741748 &858920506
ArticulationBody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 858920504}
m_Enabled: 1
m_Mass: 1
m_ParentAnchorPosition: {x: -0.000000014901161, y: -0.64000016, z: 0}
m_ParentAnchorRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
m_AnchorPosition: {x: 0, y: 2, z: 0}
m_AnchorRotation: {x: 0, y: 0, z: 0.70710677, w: 0.70710677}
m_ComputeParentAnchor: 1
m_ArticulationJointType: 3
m_LinearX: 0
m_LinearY: 0
m_LinearZ: 0
m_Swing1: 2
m_Swing2: 2
m_Twist: 2
m_XDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_YDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_ZDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_LinearDamping: 0.05
m_AngularDamping: 0.05
m_JointFriction: 0.05
m_Immovable: 1
--- !u!1 &953926811
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 953926812}
- component: {fileID: 953926815}
- component: {fileID: 953926814}
- component: {fileID: 953926813}
m_Layer: 0
m_Name: Capsule (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &953926812
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 953926811}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 2, z: 1}
m_Children: []
m_Father: {fileID: 858920505}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!136 &953926813
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 953926811}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &953926814
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 953926811}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &953926815
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 953926811}
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &1757323892
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1757323893}
- component: {fileID: 1757323896}
- component: {fileID: 1757323895}
- component: {fileID: 1757323894}
m_Layer: 0
m_Name: Capsule
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1757323893
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1757323892}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 2, z: 1}
m_Children: []
m_Father: {fileID: 270716408}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!136 &1757323894
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1757323892}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &1757323895
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1757323892}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &1757323896
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1757323892}
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &1945244207
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1945244211}
- component: {fileID: 1945244210}
- component: {fileID: 1945244209}
- component: {fileID: 1945244208}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!65 &1945244208
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1945244207}
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 &1945244209
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1945244207}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &1945244210
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1945244207}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &1945244211
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1945244207}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -3.31, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

7
Project/Assets/ML-Agents/Examples/Reacher/Scenes/scaling.unity.meta


fileFormatVersion: 2
guid: 7115f6ae17ff06bd99b4e7797185e2ad
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

875
Project/Assets/ML-Agents/Examples/Reacher/Scenes/simpleTest.unity


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &62469051
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 62469053}
- component: {fileID: 62469052}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &62469052
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 62469051}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &62469053
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 62469051}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &580794278
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 580794279}
- component: {fileID: 580794283}
- component: {fileID: 580794282}
- component: {fileID: 580794281}
- component: {fileID: 580794280}
m_Layer: 0
m_Name: Hand
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &580794279
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 580794278}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1.42, z: 0}
m_LocalScale: {x: 2, y: 0.66, z: 2}
m_Children: []
m_Father: {fileID: 849939203}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!171741748 &580794280
ArticulationBody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 580794278}
m_Enabled: 1
m_Mass: 1
m_ParentAnchorPosition: {x: -0.00000017493065, y: 1.4200003, z: 0.00000047683716}
m_ParentAnchorRotation: {x: 0, y: 0, z: 0.70710677, w: 0.70710677}
m_AnchorPosition: {x: 0, y: 0, z: 0}
m_AnchorRotation: {x: 0, y: 0, z: 0.70710677, w: 0.70710677}
m_ComputeParentAnchor: 1
m_ArticulationJointType: 0
m_LinearX: 0
m_LinearY: 0
m_LinearZ: 0
m_Swing1: 0
m_Swing2: 0
m_Twist: 0
m_XDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_YDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_ZDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_LinearDamping: 0.05
m_AngularDamping: 0.05
m_JointFriction: 0.05
m_Immovable: 0
--- !u!23 &580794281
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 580794278}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: c9fa44c2c3f8ce74ca39a3355ea42631, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 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!135 &580794282
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 580794278}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}
--- !u!33 &580794283
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 580794278}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &849939202
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 849939203}
- component: {fileID: 849939207}
- component: {fileID: 849939206}
- component: {fileID: 849939205}
- component: {fileID: 849939204}
m_Layer: 0
m_Name: Capsule (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &849939203
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 849939202}
m_LocalRotation: {x: -0.6601143, y: 0.000000004190951, z: 0.0000000018626449, w: -0.7511652}
m_LocalPosition: {x: 0.0000269413, y: 2.5886054, z: -0.6561351}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 580794279}
m_Father: {fileID: 1152084853}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 82.617004, y: 0, z: 0}
--- !u!171741748 &849939204
ArticulationBody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 849939202}
m_Enabled: 1
m_Mass: 1
m_ParentAnchorPosition: {x: 0.000027179718, y: 2.4511123, z: -1.7172642}
m_ParentAnchorRotation: {x: -0.46677127, y: 0.46677127, z: -0.53115404, w: -0.53115404}
m_AnchorPosition: {x: 0, y: -1.07, z: 0}
m_AnchorRotation: {x: 0, y: 0, z: 0.70710677, w: 0.70710677}
m_ComputeParentAnchor: 1
m_ArticulationJointType: 3
m_LinearX: 0
m_LinearY: 0
m_LinearZ: 0
m_Swing1: 2
m_Swing2: 0
m_Twist: 2
m_XDrive:
lowerLimit: -135
upperLimit: 135
stiffness: 0
damping: 1
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_YDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_ZDrive:
lowerLimit: -135
upperLimit: 135
stiffness: 0
damping: 1
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_LinearDamping: 0.05
m_AngularDamping: 0.05
m_JointFriction: 0.05
m_Immovable: 0
--- !u!23 &849939205
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 849939202}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: eaad04b0e0dec42229c9cb00a981d7ac, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 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!136 &849939206
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 849939202}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!33 &849939207
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 849939202}
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &1152084852
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1152084853}
- component: {fileID: 1152084857}
- component: {fileID: 1152084856}
- component: {fileID: 1152084855}
- component: {fileID: 1152084854}
m_Layer: 0
m_Name: Capsule
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1152084853
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1152084852}
m_LocalRotation: {x: 1, y: -0, z: -0, w: 0}
m_LocalPosition: {x: 0, y: -4, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 849939203}
m_Father: {fileID: 1411436042}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 180, y: 0, z: 0}
--- !u!171741748 &1152084854
ArticulationBody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1152084852}
m_Enabled: 1
m_Mass: 1
m_ParentAnchorPosition: {x: -0.00000004004687, y: -0.0899998, z: -0.00000017136335}
m_ParentAnchorRotation: {x: 0.70710677, y: -0.70710677, z: 0, w: 0}
m_AnchorPosition: {x: 0, y: -3.91, z: 0}
m_AnchorRotation: {x: 0, y: 0, z: 0.70710677, w: 0.70710677}
m_ComputeParentAnchor: 1
m_ArticulationJointType: 3
m_LinearX: 0
m_LinearY: 0
m_LinearZ: 0
m_Swing1: 2
m_Swing2: 2
m_Twist: 2
m_XDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_YDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_ZDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_LinearDamping: 0.05
m_AngularDamping: 0.05
m_JointFriction: 0.05
m_Immovable: 0
--- !u!23 &1152084855
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1152084852}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: eaad04b0e0dec42229c9cb00a981d7ac, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 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!136 &1152084856
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1152084852}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
m_Radius: 0.5
m_Height: 3
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!33 &1152084857
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1152084852}
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &1361682104
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1361682107}
- component: {fileID: 1361682106}
- component: {fileID: 1361682105}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &1361682105
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1361682104}
m_Enabled: 1
--- !u!20 &1361682106
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1361682104}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &1361682107
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1361682104}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1411436037
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1411436042}
- component: {fileID: 1411436041}
- component: {fileID: 1411436040}
- component: {fileID: 1411436039}
- component: {fileID: 1411436038}
m_Layer: 0
m_Name: Sphere
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!171741748 &1411436038
ArticulationBody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1411436037}
m_Enabled: 1
m_Mass: 1
m_ParentAnchorPosition: {x: 0, y: 0, z: 0}
m_ParentAnchorRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
m_AnchorPosition: {x: 0, y: 0, z: 0}
m_AnchorRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
m_ComputeParentAnchor: 1
m_ArticulationJointType: 0
m_LinearX: 0
m_LinearY: 0
m_LinearZ: 0
m_Swing1: 0
m_Swing2: 0
m_Twist: 0
m_XDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_YDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_ZDrive:
lowerLimit: 0
upperLimit: 0
stiffness: 0
damping: 0
forceLimit: 3.4028235e+38
target: 0
targetVelocity: 0
m_LinearDamping: 0.05
m_AngularDamping: 0.05
m_JointFriction: 0.05
m_Immovable: 1
--- !u!23 &1411436039
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1411436037}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 69fefdd39d2b34b169e921910bed9c0d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 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!135 &1411436040
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1411436037}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}
--- !u!33 &1411436041
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1411436037}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &1411436042
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1411436037}
m_LocalRotation: {x: -0.024145372, y: -0.9154651, z: -0.39781055, w: 0.055564772}
m_LocalPosition: {x: -18.129875, y: -5.507981, z: -6.6263056}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1152084853}
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: -46.974003, y: 186.94699, z: 0}

7
Project/Assets/ML-Agents/Examples/Reacher/Scenes/simpleTest.unity.meta


fileFormatVersion: 2
guid: ff7b14fb14a982be9adc96b0ba886c1c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
Project/Assets/ML-Agents/Examples/Reacher/Scenes/testHand.unity
文件差异内容过多而无法显示
查看文件

7
Project/Assets/ML-Agents/Examples/Reacher/Scenes/testHand.unity.meta


fileFormatVersion: 2
guid: 75bd70b1648a4d3e79926f2bff292b1f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
Project/Assets/ML-Agents/Examples/Reacher/Scenes/ArticulatedReacher.unity
文件差异内容过多而无法显示
查看文件

11
Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherAgent.cs.meta


fileFormatVersion: 2
guid: 6143635a8af8679a8a563a8820c9c9ee
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

37
Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherGoal.cs


using UnityEngine;
namespace Unity.MLAgentsExamples
{
public class ArticulatedReacherGoal : MonoBehaviour
{
public GameObject agent;
public GameObject hand;
public GameObject goalOn;
private void OnTriggerEnter(Collider other)
{
if (other.gameObject == hand)
{
goalOn.transform.localScale = new Vector3(1f, 1f, 1f);
}
}
private void OnTriggerExit(Collider other)
{
if (other.gameObject == hand)
{
goalOn.transform.localScale = new Vector3(0f, 0f, 0f);
}
}
private void OnTriggerStay(Collider other)
{
if (other.gameObject == hand)
{
agent.GetComponent<ArticulatedReacherAgent>().AddReward(0.01f);
}
}
}
}

3
Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherGoal.cs.meta


fileFormatVersion: 2
guid: 2d2344574cfd47319259fc8d3483768c
timeCreated: 1571659206

137
Project/Assets/ML-Agents/Examples/Reacher/Scripts/ManualControlReacherArm.cs


using System;
using System.Net;
using Unity.MLAgents;
using UnityEngine;
public class ManualControlReacherArm : MonoBehaviour
{
public GameObject reacherRoot;
public GameObject pendulumA;
public GameObject pendulumB;
public GameObject hand;
public GameObject goal;
public GameObject reacherRootPrefab;
private ArticulationBody m_AbA;
private ArticulationBody m_AbB;
private Rigidbody m_RbA;
private Rigidbody m_RbB;
private Vector3 m_TorqueA;
private Vector3 m_TorqueB;
public bool useAlternativeKeySetForInput = false;
public bool useArticulations = false;
/// <summary>
/// Collect the rigidbodies of the reacher in order to resue them for
/// observations and actions.
/// </summary>
public void Start()
{
if (useArticulations)
{
m_AbA = pendulumA.GetComponent<ArticulationBody>();
m_AbB = pendulumB.GetComponent<ArticulationBody>();
}
else
{
m_RbA = pendulumA.GetComponent<Rigidbody>();
m_RbB = pendulumB.GetComponent<Rigidbody>();
}
m_TorqueA = m_TorqueB = Vector3.zero;
}
/// <summary>
/// Resets the position and velocity of the agent and the goal.
/// </summary>
public void AgentReset()
{
if (!useArticulations)
return;
string pendulumAName = pendulumA.name;
string pendulumBName = pendulumB.name;
string reacherRootName = reacherRoot.name;
Vector3 position = reacherRoot.transform.position;
Quaternion rotation = Quaternion.identity;
DestroyImmediate(reacherRoot);
reacherRoot = Instantiate(reacherRootPrefab, position, rotation);
reacherRoot.transform.parent = transform;
reacherRoot.name = reacherRootName;
pendulumA = reacherRoot.transform.GetChild(0).Find(pendulumAName).gameObject;
pendulumB = pendulumA.transform.Find(pendulumBName).gameObject;
m_AbA = pendulumA.GetComponent<ArticulationBody>();
m_AbB = pendulumB.GetComponent<ArticulationBody>();
}
public void FixedUpdate()
{
//float maxTorque = 1000f;
float deltaTorque = 150f;
m_TorqueA = Vector3.zero;
m_TorqueB = Vector3.zero;
if (useAlternativeKeySetForInput && !Input.GetKey(KeyCode.RightBracket))
return;
// upper arm
if (Input.GetKey(KeyCode.A))
m_TorqueA.x += deltaTorque;
if (Input.GetKey(KeyCode.Z))
m_TorqueA.x -= deltaTorque;
if (Input.GetKey(KeyCode.S))
m_TorqueA.y += deltaTorque;
if (Input.GetKey(KeyCode.X))
m_TorqueA.y -= deltaTorque;
if (Input.GetKey(KeyCode.D))
m_TorqueA.z += deltaTorque;
if (Input.GetKey(KeyCode.C))
m_TorqueA.z -= deltaTorque;
// lower arm
if (Input.GetKey(KeyCode.F))
m_TorqueB.x += deltaTorque;
if (Input.GetKey(KeyCode.V))
m_TorqueB.x -= deltaTorque;
if (Input.GetKey(KeyCode.G))
m_TorqueB.y += deltaTorque;
if (Input.GetKey(KeyCode.B))
m_TorqueB.y -= deltaTorque;
if (Input.GetKey(KeyCode.H))
m_TorqueB.z += deltaTorque;
if (Input.GetKey(KeyCode.N))
m_TorqueB.z -= deltaTorque;
//m_TorqueA.x = Mathf.Clamp(m_TorqueA.x, -1.0f, 1.0f);
//m_TorqueA.y = Mathf.Clamp(m_TorqueA.y, -1.0f, 1.0f);
//m_TorqueA.z = Mathf.Clamp(m_TorqueA.z, -1.0f, 1.0f);
if (useArticulations)
{
m_AbA.AddTorque(m_TorqueA);
m_AbB.AddTorque(m_TorqueB);
}
else
{
m_RbA.AddTorque(m_TorqueA);
m_RbB.AddTorque(m_TorqueB);
}
// Only for articulations
if (Input.GetKey(KeyCode.Escape))
AgentReset();
}
};

3
Project/Assets/ML-Agents/Examples/Reacher/Scripts/ManualControlReacherArm.cs.meta


fileFormatVersion: 2
guid: 156536e3d4854870b084a1f1de48e49e
timeCreated: 1571743684

14
Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherAcademy.cs


using UnityEngine;
// TODO move to ProjectOverrides
//public class ReacherAcademy : Academy
//{
// public override void AcademyReset()
// {
// Physics.gravity = new Vector3(0, -resetParameters["gravity"], 0);
// }
//
// public override void AcademyStep()
// {
// }
//}

12
Project/Assets/ML-Agents/Examples/Reacher/Scripts/ReacherAcademy.cs.meta


fileFormatVersion: 2
guid: 4c970415924214d13949fbd6cddd1759
timeCreated: 1503355437
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

177
Project/Assets/ML-Agents/Examples/Reacher/Scripts/ArticulatedReacherAgent.cs


using UnityEngine;
using Unity.MLAgents;
using Unity.MLAgents.Sensors;
namespace Unity.MLAgentsExamples
{
public class ArticulatedReacherAgent : Agent
{
public GameObject reacherRoot;
public GameObject pendulumA;
public GameObject pendulumB;
public GameObject hand;
public GameObject goal;
public GameObject reacherRootPrefab;
EnvironmentParameters m_ResetParams;
float m_GoalDegree;
private string m_PendulumAName;
private string m_PendulumBName;
private string m_ReacherRootName;
private string m_HandName;
private ArticulationBody m_RbA;
private ArticulationBody m_RbB;
// speed of the goal zone around the arm (in radians)
private float m_GoalSpeed;
// radius of the goal zone
private float m_GoalSize;
// Magnitude of sinusoidal (cosine) deviation of the goal along the vertical dimension
private float m_Deviation;
// Frequency of the cosine deviation of the goal along the vertical dimension
private float m_DeviationFreq;
/// <summary>
/// Collect the rigidbodies of the reacher in order to resue them for
/// observations and actions.
/// </summary>
public override void Initialize()
{
m_RbA = pendulumA.GetComponent<ArticulationBody>();
m_RbB = pendulumB.GetComponent<ArticulationBody>();
m_ResetParams = Academy.Instance.EnvironmentParameters;
m_PendulumAName = pendulumA.name;
m_PendulumBName = pendulumB.name;
m_ReacherRootName = reacherRoot.name;
m_HandName = hand.name;
SetResetParameters();
}
/// <summary>
/// We collect the normalized rotations, angularal velocities, and velocities of both
/// limbs of the reacher as well as the relative position of the target and hand.
/// </summary>
public override void CollectObservations(VectorSensor vectorSensor)
{
Vector3 pendulumAPosToLocalSpace = transform.InverseTransformPoint(pendulumA.transform.position);
vectorSensor.AddObservation(pendulumAPosToLocalSpace);
vectorSensor.AddObservation(pendulumA.transform.rotation);
// Below resulted in 1.691 after 1 M steps
vectorSensor.AddObservation(transform.InverseTransformVector(m_RbA.angularVelocity));
vectorSensor.AddObservation(transform.InverseTransformVector(m_RbA.velocity));
// Below resulted in 0.0732 after 1 M steps, not learning
//vectorSensor.AddObservation(m_RbA.angularVelocity);
//vectorSensor.AddObservation(m_RbA.velocity);
Vector3 pendulumBPosToLocalSpace = transform.InverseTransformPoint(pendulumB.transform.position);
vectorSensor.AddObservation(pendulumBPosToLocalSpace);
vectorSensor.AddObservation(pendulumB.transform.rotation);
// Below resulted in 1.691 after 1 M steps
vectorSensor.AddObservation(transform.InverseTransformVector(m_RbB.angularVelocity));
vectorSensor.AddObservation(transform.InverseTransformVector(m_RbB.velocity));
// Below resulted in 0.0732 after 1 M steps, not learning
//vectorSensor.AddObservation(m_RbB.angularVelocity);
//vectorSensor.AddObservation(m_RbB.velocity);
Vector3 goalPosToLocalSpace = transform.InverseTransformPoint(goal.transform.position);
vectorSensor.AddObservation(goalPosToLocalSpace);
Vector3 handPosToLocalSpace = transform.InverseTransformPoint(hand.transform.position);
vectorSensor.AddObservation(handPosToLocalSpace);
//vectorSensor.AddObservation(m_GoalSpeed);
// Below resulted in 4.18 after 1 M steps and reached 37.52 after 1.25 M steps
vectorSensor.AddObservation(Vector3.Distance(goalPosToLocalSpace, handPosToLocalSpace));
}
/// <summary>
/// The agent's four actions correspond to torques on each of the two joints.
/// </summary>
public override void OnActionReceived(float[] vectorAction)
{
m_GoalDegree += m_GoalSpeed;
UpdateGoalPosition();
//float maxTorque = 150f;
float maxTorque = 150f;
var torqueX = Mathf.Clamp(vectorAction[0], -1f, 1f) * maxTorque;
var torqueZ = Mathf.Clamp(vectorAction[1], -1f, 1f) * maxTorque;
m_RbA.AddTorque(new Vector3(torqueX, 0f, torqueZ));
torqueX = Mathf.Clamp(vectorAction[2], -1f, 1f) * maxTorque;
torqueZ = Mathf.Clamp(vectorAction[3], -1f, 1f) * maxTorque;
m_RbB.AddTorque(new Vector3(torqueX, 0f, torqueZ));
}
/// <summary>
/// Used to move the position of the target goal around the agent.
/// </summary>
void UpdateGoalPosition()
{
var radians = m_GoalDegree * Mathf.PI / 180f;
var goalX = 8f * Mathf.Cos(radians);
var goalY = 8f * Mathf.Sin(radians);
var goalZ = m_Deviation * Mathf.Cos(m_DeviationFreq * radians);
goal.transform.position = new Vector3(goalY, goalZ, goalX) + transform.position;
}
/// <summary>
/// Resets the position and velocity of the agent and the goal.
/// </summary>
public override void OnEpisodeBegin()
{
Vector3 position = reacherRoot.transform.position;
Quaternion rotation = Quaternion.identity;
DestroyImmediate(reacherRoot);
reacherRoot = Instantiate(reacherRootPrefab, position, rotation);
reacherRoot.transform.parent = transform;
reacherRoot.name = m_ReacherRootName;
pendulumA = reacherRoot.transform.GetChild(0).Find(m_PendulumAName).gameObject;
pendulumB = pendulumA.transform.Find(m_PendulumBName).gameObject;
hand = pendulumB.transform.GetChild(0).Find(m_HandName).gameObject;
m_RbA = pendulumA.GetComponent<ArticulationBody>();
m_RbB = pendulumB.GetComponent<ArticulationBody>();
m_GoalDegree = Random.Range(0, 360);
UpdateGoalPosition();
SetResetParameters();
goal.transform.localScale = new Vector3(m_GoalSize, m_GoalSize, m_GoalSize);
// Supply correct newly instantiated hand for collision checking
ArticulatedReacherGoal gc = goal.GetComponent<ArticulatedReacherGoal>();
gc.hand = hand;
}
public void SetResetParameters()
{
m_GoalSize = m_ResetParams.GetWithDefault("goal_size", 5);
m_GoalSpeed = Random.Range(-1f, 1f) * m_ResetParams.GetWithDefault("goal_speed", 1);
m_Deviation = m_ResetParams.GetWithDefault("deviation", 0);
m_DeviationFreq = m_ResetParams.GetWithDefault("deviation_freq", 0);
}
}
}

7
Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerDynamicTarget.unity.meta


fileFormatVersion: 2
guid: bfbd7e3aeb2a694ca83b60245ca03cd3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

580
Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerManualControl.unity


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 4890085278179872738, guid: c237d9a5f2c3ffcfb8d21ebf87e88002,
type: 2}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &251761727 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 3550960192034121212, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
m_PrefabInstance: {fileID: 671491189}
m_PrefabAsset: {fileID: 0}
--- !u!1 &600033709 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2410796975606634283, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
m_PrefabInstance: {fileID: 671491189}
m_PrefabAsset: {fileID: 0}
--- !u!1 &664735135 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2728942949337080834, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
m_PrefabInstance: {fileID: 671491189}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &671491189
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1129387478859796, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_Name
value: ArticulatedCrawler
objectReference: {fileID: 0}
- target: {fileID: 1129387478859796, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalPosition.y
value: 2.1
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalPosition.z
value: 6.3
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalRotation.y
value: 0.38268343
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalRotation.w
value: 0.92387956
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 45
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 75375539162916863, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.98527044
objectReference: {fileID: 0}
- target: {fileID: 75375539162916863, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.94548166
objectReference: {fileID: 0}
- target: {fileID: 391510198893407734, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.9852708
objectReference: {fileID: 0}
- target: {fileID: 391510198893407734, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.94548213
objectReference: {fileID: 0}
- target: {fileID: 484994017600599577, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: 0.34000015
objectReference: {fileID: 0}
- target: {fileID: 484994017600599577, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: 0.33999997
objectReference: {fileID: 0}
- target: {fileID: 952006233201449903, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.34000015
objectReference: {fileID: 0}
- target: {fileID: 952006233201449903, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.33999997
objectReference: {fileID: 0}
- target: {fileID: 2237312266892387086, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_Immovable
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2554796514669475169, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.98527205
objectReference: {fileID: 0}
- target: {fileID: 2554796514669475169, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.9454816
objectReference: {fileID: 0}
- target: {fileID: 5023289971425501548, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.9852714
objectReference: {fileID: 0}
- target: {fileID: 5023289971425501548, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.9454825
objectReference: {fileID: 0}
- target: {fileID: 5132821532538140345, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.98527044
objectReference: {fileID: 0}
- target: {fileID: 5132821532538140345, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.94548166
objectReference: {fileID: 0}
- target: {fileID: 5288259838805443623, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.98527116
objectReference: {fileID: 0}
- target: {fileID: 5288259838805443623, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.9454818
objectReference: {fileID: 0}
- target: {fileID: 5477127875235992920, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: 0.34000003
objectReference: {fileID: 0}
- target: {fileID: 6571351125315617548, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_Immovable
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7027398816889156176, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: 0.34000033
objectReference: {fileID: 0}
- target: {fileID: 7027398816889156176, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.34000036
objectReference: {fileID: 0}
- target: {fileID: 7568056552315507695, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: 0.34000003
objectReference: {fileID: 0}
- target: {fileID: 7568056552315507695, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.34000003
objectReference: {fileID: 0}
- target: {fileID: 7737080709538424164, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8326893706244448119, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.3399995
objectReference: {fileID: 0}
- target: {fileID: 8326893706244448119, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.34000033
objectReference: {fileID: 0}
- target: {fileID: 8512678418447755422, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.9852707
objectReference: {fileID: 0}
- target: {fileID: 8512678418447755422, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.9454822
objectReference: {fileID: 0}
- target: {fileID: 8815522623449137896, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.33999988
objectReference: {fileID: 0}
- target: {fileID: 8815522623449137896, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: 0.3399999
objectReference: {fileID: 0}
- target: {fileID: 8962597602698882073, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.9852708
objectReference: {fileID: 0}
- target: {fileID: 8962597602698882073, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.94548196
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
--- !u!1 &898447821 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1129387478859796, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
m_PrefabInstance: {fileID: 671491189}
m_PrefabAsset: {fileID: 0}
--- !u!114 &898447825
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 898447821}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1183164ed37748bf9cc8441ceb64df13, type: 3}
m_Name:
m_EditorClassIdentifier:
upperLeg0: {fileID: 251761727}
upperLeg1: {fileID: 664735135}
foreLeg0: {fileID: 2062026100}
foreLeg1: {fileID: 1085136603}
body: {fileID: 600033709}
rootBodyPrefab: {fileID: 1492398560106390315, guid: fb461eb64f693b4639620566527873a1,
type: 3}
useAlternativeKeySetForInput: 0
maxJointForceLimit: 1000
maxJointSpring: 100
jointDampen: 30
currentStrength: 0
--- !u!1 &1085136603 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 8286360490855051975, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
m_PrefabInstance: {fileID: 671491189}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1193539137
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1193539139}
- component: {fileID: 1193539138}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &1193539138
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1193539137}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &1193539139
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1193539137}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &1304015942
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1304015945}
- component: {fileID: 1304015944}
- component: {fileID: 1304015943}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &1304015943
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1304015942}
m_Enabled: 1
--- !u!20 &1304015944
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1304015942}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &1304015945
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1304015942}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2062026100 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 6098614094770839239, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
m_PrefabInstance: {fileID: 671491189}
m_PrefabAsset: {fileID: 0}

7
Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerManualControl.unity.meta


fileFormatVersion: 2
guid: 580ab7b7069371d8f89491f844c543a0
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerStaticTarget.unity
文件差异内容过多而无法显示
查看文件

7
Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerStaticTarget.unity.meta


fileFormatVersion: 2
guid: 6368b7768f89e5a2ea6aa0120235c949
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
Project/Assets/ML-Agents/Examples/Crawler/Scenes/ArticulatedCrawlerDynamicTarget.unity
文件差异内容过多而无法显示
查看文件

1001
Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamicLearning.nn
文件差异内容过多而无法显示
查看文件

11
Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerDynamicLearning.nn.meta


fileFormatVersion: 2
guid: abc9c8f2180154ed7ba3f116ab0beb90
ScriptedImporter:
fileIDToRecycleName:
11400000: main obj
11400002: model data
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 19ed1486aa27d4903b34839f37b8f69f, type: 3}

1001
Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStaticLearning.nn
文件差异内容过多而无法显示
查看文件

11
Project/Assets/ML-Agents/Examples/Crawler/TFModels/CrawlerStaticLearning.nn.meta


fileFormatVersion: 2
guid: 48982d8fa360a4ed0bb265495e4f378b
ScriptedImporter:
fileIDToRecycleName:
11400000: main obj
11400002: model data
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 19ed1486aa27d4903b34839f37b8f69f, type: 3}

438
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedCrawler.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1129387478859796
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4283901937423508}
- component: {fileID: 201389242582710296}
- component: {fileID: 7737080709538424164}
- component: {fileID: 3485593964014911945}
- component: {fileID: 2075637133560856131}
m_Layer: 0
m_Name: ArticulatedCrawler
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4283901937423508
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1129387478859796}
m_LocalRotation: {x: 0, y: 0.38268343, z: 0, w: 0.92387956}
m_LocalPosition: {x: -400, y: 2.1, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 2112924249096401637}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0}
--- !u!114 &201389242582710296
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1129387478859796}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d8020ed16eb94c9aac4589a46facb1fa, type: 3}
m_Name:
m_EditorClassIdentifier:
maxJointSpring: 200
jointDampen: 20
maxJointForceLimit: 1000
bodyPartsList: []
--- !u!114 &7737080709538424164
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1129387478859796}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7fe662b41d94ad2b94ff2f5fc596210, type: 3}
m_Name:
m_EditorClassIdentifier:
agentParameters:
maxStep: 5000
hasUpgradedFromAgentParameters: 1
MaxStep: 5000
target: {fileID: 0}
ground: {fileID: 0}
detectTargets: 1
targetIsStatic: 0
respawnTargetWhenTouched: 1
targetSpawnRadius: 50
rootBodyPrefab: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
body: {fileID: 2112924249096401637}
leg0Upper: {fileID: 5827816124375481957}
leg0Lower: {fileID: 3134531053216515652}
leg1Upper: {fileID: 5772055575215187157}
leg1Lower: {fileID: 5779682130346873511}
leg2Upper: {fileID: 5438891936273023713}
leg2Lower: {fileID: 3665876571507467910}
leg3Upper: {fileID: 7789397567473216629}
leg3Lower: {fileID: 2721224160527143005}
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}
--- !u!114 &3485593964014911945
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1129387478859796}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5d1c4e0b1822b495aa52bc52839ecb30, type: 3}
m_Name:
m_EditorClassIdentifier:
m_BrainParameters:
VectorObservationSize: 126
NumStackedVectorObservations: 1
VectorActionSize: 14000000
VectorActionDescriptions: []
VectorActionSpaceType: 1
m_Model: {fileID: 0}
m_InferenceDevice: 0
m_BehaviorType: 0
m_BehaviorName: ArticulatedCrawlerDynamic
TeamId: 0
m_UseChildSensors: 1
m_ObservableAttributeHandling: 0
--- !u!114 &2075637133560856131
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1129387478859796}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a5c9d521e5ef4759a8246a07d52221e, type: 3}
m_Name:
m_EditorClassIdentifier:
DecisionPeriod: 5
TakeActionsBetweenDecisions: 1
--- !u!1001 &3873886807597560832
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 4283901937423508}
m_Modifications:
- target: {fileID: 1492398560106390315, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_Name
value: Body
objectReference: {fileID: 0}
- target: {fileID: 1636700445481828705, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.9454825
objectReference: {fileID: 0}
- target: {fileID: 1636700445481828705, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: 0.38268355
objectReference: {fileID: 0}
- target: {fileID: 1636700445481828705, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: 0.92387974
objectReference: {fileID: 0}
- target: {fileID: 1636700445481828705, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.9852709
objectReference: {fileID: 0}
- target: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_LocalPosition.y
value: 2.25
objectReference: {fileID: 0}
- target: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_LocalPosition.z
value: 6.3
objectReference: {fileID: 0}
- target: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 90
objectReference: {fileID: 0}
- target: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4891424238010555550, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.98526514
objectReference: {fileID: 0}
- target: {fileID: 4891424238010555550, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.9454757
objectReference: {fileID: 0}
- target: {fileID: 4891424238010555550, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: 0.38268355
objectReference: {fileID: 0}
- target: {fileID: 4891424238010555550, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: 0.92387974
objectReference: {fileID: 0}
- target: {fileID: 5065949469066816375, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.34000033
objectReference: {fileID: 0}
- target: {fileID: 5065949469066816375, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.y
value: -0.16999972
objectReference: {fileID: 0}
- target: {fileID: 5065949469066816375, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.34000015
objectReference: {fileID: 0}
- target: {fileID: 5065949469066816375, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: 0.38268358
objectReference: {fileID: 0}
- target: {fileID: 5065949469066816375, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: -0.92387974
objectReference: {fileID: 0}
- target: {fileID: 5734710256944527080, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.34000584
objectReference: {fileID: 0}
- target: {fileID: 5734710256944527080, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.y
value: -0.16999972
objectReference: {fileID: 0}
- target: {fileID: 5734710256944527080, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: 0.34000576
objectReference: {fileID: 0}
- target: {fileID: 5734710256944527080, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: -0.38268355
objectReference: {fileID: 0}
- target: {fileID: 5734710256944527080, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: -0.9238798
objectReference: {fileID: 0}
- target: {fileID: 6072148052372686416, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: 0.34000584
objectReference: {fileID: 0}
- target: {fileID: 6072148052372686416, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.y
value: -0.16999972
objectReference: {fileID: 0}
- target: {fileID: 6072148052372686416, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.34000576
objectReference: {fileID: 0}
- target: {fileID: 6072148052372686416, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: 0.9238798
objectReference: {fileID: 0}
- target: {fileID: 6072148052372686416, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: -0.38268355
objectReference: {fileID: 0}
- target: {fileID: 7640323869839153161, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.y
value: -0.16999972
objectReference: {fileID: 0}
- target: {fileID: 7640323869839153161, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: 0.33999994
objectReference: {fileID: 0}
- target: {fileID: 7640323869839153161, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: -0.92387974
objectReference: {fileID: 0}
- target: {fileID: 7640323869839153161, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: -0.38268358
objectReference: {fileID: 0}
- target: {fileID: 7640323869839153161, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: 0.33999988
objectReference: {fileID: 0}
- target: {fileID: 8103242485489587564, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.9852654
objectReference: {fileID: 0}
- target: {fileID: 8103242485489587564, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.94547635
objectReference: {fileID: 0}
- target: {fileID: 8103242485489587564, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: 0.38268355
objectReference: {fileID: 0}
- target: {fileID: 8103242485489587564, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: 0.92387974
objectReference: {fileID: 0}
- target: {fileID: 8980568845972025383, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.98527044
objectReference: {fileID: 0}
- target: {fileID: 8980568845972025383, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.94548273
objectReference: {fileID: 0}
- target: {fileID: 8980568845972025383, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: 0.38268355
objectReference: {fileID: 0}
- target: {fileID: 8980568845972025383, guid: fb461eb64f693b4639620566527873a1,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: 0.92387974
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: fb461eb64f693b4639620566527873a1, type: 3}
--- !u!4 &2112924249096401637 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 2922927341164267237, guid: fb461eb64f693b4639620566527873a1,
type: 3}
m_PrefabInstance: {fileID: 3873886807597560832}
m_PrefabAsset: {fileID: 0}
--- !u!4 &5827816124375481957 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7287457951979997797, guid: fb461eb64f693b4639620566527873a1,
type: 3}
m_PrefabInstance: {fileID: 3873886807597560832}
m_PrefabAsset: {fileID: 0}
--- !u!4 &3134531053216515652 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 2180543645353669188, guid: fb461eb64f693b4639620566527873a1,
type: 3}
m_PrefabInstance: {fileID: 3873886807597560832}
m_PrefabAsset: {fileID: 0}
--- !u!4 &5772055575215187157 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7338820583308595413, guid: fb461eb64f693b4639620566527873a1,
type: 3}
m_PrefabInstance: {fileID: 3873886807597560832}
m_PrefabAsset: {fileID: 0}
--- !u!4 &5779682130346873511 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7347413611562870439, guid: fb461eb64f693b4639620566527873a1,
type: 3}
m_PrefabInstance: {fileID: 3873886807597560832}
m_PrefabAsset: {fileID: 0}
--- !u!4 &5438891936273023713 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 9131079995369125601, guid: fb461eb64f693b4639620566527873a1,
type: 3}
m_PrefabInstance: {fileID: 3873886807597560832}
m_PrefabAsset: {fileID: 0}
--- !u!4 &3665876571507467910 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 512566857783153286, guid: fb461eb64f693b4639620566527873a1,
type: 3}
m_PrefabInstance: {fileID: 3873886807597560832}
m_PrefabAsset: {fileID: 0}
--- !u!4 &7789397567473216629 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 6474962779490277493, guid: fb461eb64f693b4639620566527873a1,
type: 3}
m_PrefabInstance: {fileID: 3873886807597560832}
m_PrefabAsset: {fileID: 0}
--- !u!4 &2721224160527143005 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 1153332112213075037, guid: fb461eb64f693b4639620566527873a1,
type: 3}
m_PrefabInstance: {fileID: 3873886807597560832}
m_PrefabAsset: {fileID: 0}

7
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedCrawler.prefab.meta


fileFormatVersion: 2
guid: 1661ce2a8a3cdfd3480c3d24bddd72f2
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedDynamicPlatform.prefab.meta


fileFormatVersion: 2
guid: ef4eb61889a846e35a3fc88b75abcce2
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

801
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedFixedPlatform.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1306438584782738
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4309919623019186}
m_Layer: 0
m_Name: ArticulatedFixedPlatform
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4309919623019186
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1306438584782738}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 200, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 4924174722017668}
- {fileID: 4749909135913778}
- {fileID: 5559551363518430041}
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}
- component: {fileID: 248458943591167062}
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: 0.5, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4309919623019186}
m_RootOrder: 1
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_RayTracingMode: 2
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_ReceiveGI: 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!54 &248458943591167062
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1379819145489036}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 0
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!1 &1846708386698568
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4856650706546504}
- component: {fileID: 33154457665160180}
- component: {fileID: 23829097639811282}
- component: {fileID: 65552026022255230}
m_Layer: 0
m_Name: CourtSurface
m_TagString: ground
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 4294967295
m_IsActive: 1
--- !u!4 &4856650706546504
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1846708386698568}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.01, y: 0.01, z: 0.01}
m_Children: []
m_Father: {fileID: 4924174722017668}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &33154457665160180
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1846708386698568}
m_Mesh: {fileID: 4300000, guid: 5b535e54498332546a40dec193a2a56a, type: 3}
--- !u!23 &23829097639811282
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1846708386698568}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: acba6bf2a290a496bb8989b42bf8698d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &65552026022255230
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1846708386698568}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 150000, y: 5, z: 5000}
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &1949512470922882
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4924174722017668}
m_Layer: 0
m_Name: CrawlerCourt
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 4294967295
m_IsActive: 1
--- !u!4 &4924174722017668
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1949512470922882}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 250, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 4856650706546504}
- {fileID: 4791482523457020}
m_Father: {fileID: 4309919623019186}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1995322274649904
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4791482523457020}
- component: {fileID: 33250947921906712}
- component: {fileID: 23911663190224522}
- component: {fileID: 64915381469382996}
m_Layer: 0
m_Name: OuterWalls
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 4294967295
m_IsActive: 1
--- !u!4 &4791482523457020
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1995322274649904}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0, y: 0.5, z: 0}
m_LocalScale: {x: 0.01, y: 0.01, z: 0.01}
m_Children: []
m_Father: {fileID: 4924174722017668}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &33250947921906712
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1995322274649904}
m_Mesh: {fileID: 4300002, guid: 5b535e54498332546a40dec193a2a56a, type: 3}
--- !u!23 &23911663190224522
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1995322274649904}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66163cf35956a4be08e801b750c26f33, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 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
m_AdditionalVertexStreams: {fileID: 0}
--- !u!64 &64915381469382996
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1995322274649904}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 3
m_Convex: 0
m_CookingOptions: 14
m_Mesh: {fileID: 4300002, guid: 5b535e54498332546a40dec193a2a56a, type: 3}
--- !u!1001 &5559771452056956877
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 4309919623019186}
m_Modifications:
- target: {fileID: 1129387478859796, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_Name
value: ArticulatedCrawler
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalPosition.y
value: 2.1
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalPosition.z
value: 6.3
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalRotation.y
value: 0.38268343
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalRotation.w
value: 0.92387956
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 45
objectReference: {fileID: 0}
- target: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 75375539162916863, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.98527044
objectReference: {fileID: 0}
- target: {fileID: 75375539162916863, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.y
value: -0.15444617
objectReference: {fileID: 0}
- target: {fileID: 75375539162916863, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.94547755
objectReference: {fileID: 0}
- target: {fileID: 75375539162916863, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 75375539162916863, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: 0.9238796
objectReference: {fileID: 0}
- target: {fileID: 114824265617332224, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: target
value:
objectReference: {fileID: 4749909135913778}
- target: {fileID: 114824265617332224, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: ground
value:
objectReference: {fileID: 4856650706546504}
- target: {fileID: 114824265617332224, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: brain
value:
objectReference: {fileID: 11400000, guid: 0505e961608004377974940ed17e03d5,
type: 2}
- target: {fileID: 114824265617332224, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: detectTargets
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114824265617332224, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: targetIsStatic
value: 1
objectReference: {fileID: 0}
- target: {fileID: 153208165644155028, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: -0.0000046193595
objectReference: {fileID: 0}
- target: {fileID: 153208165644155028, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ConnectedAnchor.y
value: 0.62499624
objectReference: {fileID: 0}
- target: {fileID: 153258788415880078, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ConnectedAnchor.z
value: 0.2828397
objectReference: {fileID: 0}
- target: {fileID: 153475598826299386, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: 0.0000032511432
objectReference: {fileID: 0}
- target: {fileID: 153475598826299386, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ConnectedAnchor.y
value: 0.6249948
objectReference: {fileID: 0}
- target: {fileID: 153558694387803708, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: -0.000004619356
objectReference: {fileID: 0}
- target: {fileID: 153558694387803708, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ConnectedAnchor.y
value: 0.6249963
objectReference: {fileID: 0}
- target: {fileID: 153842898101386942, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: 0.2828424
objectReference: {fileID: 0}
- target: {fileID: 153842898101386942, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ConnectedAnchor.z
value: 0.28283963
objectReference: {fileID: 0}
- target: {fileID: 153987082673184770, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: -0.2828424
objectReference: {fileID: 0}
- target: {fileID: 153987082673184770, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ConnectedAnchor.z
value: -0.28283963
objectReference: {fileID: 0}
- target: {fileID: 391510198893407734, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.9852668
objectReference: {fileID: 0}
- target: {fileID: 391510198893407734, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.9454822
objectReference: {fileID: 0}
- target: {fileID: 484994017600599577, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: 0.34000012
objectReference: {fileID: 0}
- target: {fileID: 484994017600599577, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: 0.3399946
objectReference: {fileID: 0}
- target: {fileID: 952006233201449903, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.34000012
objectReference: {fileID: 0}
- target: {fileID: 952006233201449903, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.y
value: -0.16999991
objectReference: {fileID: 0}
- target: {fileID: 952006233201449903, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.3399946
objectReference: {fileID: 0}
- target: {fileID: 952006233201449903, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 952006233201449903, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: 0.38268355
objectReference: {fileID: 0}
- target: {fileID: 952006233201449903, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 952006233201449903, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: -0.9238796
objectReference: {fileID: 0}
- target: {fileID: 2554796514669475169, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.9852669
objectReference: {fileID: 0}
- target: {fileID: 2554796514669475169, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.94548064
objectReference: {fileID: 0}
- target: {fileID: 2554796514669475169, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: 0.38268355
objectReference: {fileID: 0}
- target: {fileID: 2554796514669475169, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: 0.92387974
objectReference: {fileID: 0}
- target: {fileID: 5023289971425501548, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.9852707
objectReference: {fileID: 0}
- target: {fileID: 5023289971425501548, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.94547856
objectReference: {fileID: 0}
- target: {fileID: 5132821532538140345, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.94547755
objectReference: {fileID: 0}
- target: {fileID: 5132821532538140345, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.98527044
objectReference: {fileID: 0}
- target: {fileID: 5288259838805443623, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.9852669
objectReference: {fileID: 0}
- target: {fileID: 5288259838805443623, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.9454813
objectReference: {fileID: 0}
- target: {fileID: 5288259838805443623, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: 0.38268355
objectReference: {fileID: 0}
- target: {fileID: 5288259838805443623, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: 0.92387974
objectReference: {fileID: 0}
- target: {fileID: 5477127875235992920, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.34
objectReference: {fileID: 0}
- target: {fileID: 5477127875235992920, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: 0.33999467
objectReference: {fileID: 0}
- target: {fileID: 6900972111458724873, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: 0.33999518
objectReference: {fileID: 0}
- target: {fileID: 6900972111458724873, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: 0.3399997
objectReference: {fileID: 0}
- target: {fileID: 6900972111458724873, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: -0.92387974
objectReference: {fileID: 0}
- target: {fileID: 6900972111458724873, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: -0.38268358
objectReference: {fileID: 0}
- target: {fileID: 7027398816889156176, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: 0.33999485
objectReference: {fileID: 0}
- target: {fileID: 7027398816889156176, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.33999935
objectReference: {fileID: 0}
- target: {fileID: 7027398816889156176, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: 0.92387974
objectReference: {fileID: 0}
- target: {fileID: 7027398816889156176, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: -0.3826835
objectReference: {fileID: 0}
- target: {fileID: 7568056552315507695, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: 0.34
objectReference: {fileID: 0}
- target: {fileID: 7568056552315507695, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.33999467
objectReference: {fileID: 0}
- target: {fileID: 7737080709538424164, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: targetIsStatic
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7737080709538424164, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: detectTargets
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7737080709538424164, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: respawnTargetWhenTouched
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7737080709538424164, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: targetSpawnRadius
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7737080709538424164, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: target
value:
objectReference: {fileID: 4749909135913778}
- target: {fileID: 7737080709538424164, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: ground
value:
objectReference: {fileID: 4856650706546504}
- target: {fileID: 8326893706244448119, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.33999485
objectReference: {fileID: 0}
- target: {fileID: 8326893706244448119, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.33999938
objectReference: {fileID: 0}
- target: {fileID: 8326893706244448119, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: 0.38268358
objectReference: {fileID: 0}
- target: {fileID: 8326893706244448119, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: -0.92387974
objectReference: {fileID: 0}
- target: {fileID: 8512678418447755422, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.98527014
objectReference: {fileID: 0}
- target: {fileID: 8512678418447755422, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.9454787
objectReference: {fileID: 0}
- target: {fileID: 8815522623449137896, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.33999452
objectReference: {fileID: 0}
- target: {fileID: 8815522623449137896, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: 0.33999968
objectReference: {fileID: 0}
- target: {fileID: 8815522623449137896, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.y
value: -0.3826835
objectReference: {fileID: 0}
- target: {fileID: 8815522623449137896, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorRotation.w
value: -0.92387974
objectReference: {fileID: 0}
- target: {fileID: 8962597602698882073, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.x
value: -0.98526704
objectReference: {fileID: 0}
- target: {fileID: 8962597602698882073, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
propertyPath: m_ParentAnchorPosition.z
value: -0.945482
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2, type: 3}
--- !u!4 &5559551363518430041 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4283901937423508, guid: 1661ce2a8a3cdfd3480c3d24bddd72f2,
type: 3}
m_PrefabInstance: {fileID: 5559771452056956877}
m_PrefabAsset: {fileID: 0}

7
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedFixedPlatform.prefab.meta


fileFormatVersion: 2
guid: 0647effc95026f46dbf821c2032caba7
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Body.prefab
文件差异内容过多而无法显示
查看文件

7
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Body.prefab.meta


fileFormatVersion: 2
guid: fb461eb64f693b4639620566527873a1
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Crawler.prefab
文件差异内容过多而无法显示
查看文件

8
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Crawler.prefab.meta


fileFormatVersion: 2
guid: 4e6c8b33846f1431fa63f6c0fdf0d2f2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

1001
Project/Assets/ML-Agents/Examples/Crawler/Prefabs/ArticulatedDynamicPlatform.prefab
文件差异内容过多而无法显示
查看文件

3
Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedCrawlerAgent.cs.meta


fileFormatVersion: 2
guid: d7fe662b41d94ad2b94ff2f5fc596210
timeCreated: 1572439781

279
Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedCrawlerManualControl.cs


using System;
using UnityEngine;
namespace Unity.MLAgentsExamples
{
public class ArticulatedCrawlerManualControl : MonoBehaviour
{
public GameObject upperLeg0, upperLeg1;
public GameObject foreLeg0, foreLeg1;
public GameObject body;
public GameObject rootBodyPrefab;
private ArticulationBody m_AbUpper0, m_AbUpper1;
private ArticulationBody m_AbFore0, m_AbFore1;
private ArticulationBody m_AbBody;
private Vector3 m_rotationUpper0, m_rotationUpper1;
private Vector3 m_rotationFore0, m_rotationFore1;
public bool useAlternativeKeySetForInput = false;
public float maxJointForceLimit = 1000;
public float maxJointSpring = 40;
public float jointDampen = 3000;
public float currentStrength = 0.0f;
private void InitializeLegGameObjects()
{
string namePrefix = name + "/" + rootBodyPrefab.name + "/";
upperLeg0 = GameObject.Find(namePrefix + "UpperLegBone0");
upperLeg1 = GameObject.Find(namePrefix + "UpperLegBone1");
foreLeg0 = GameObject.Find(namePrefix + upperLeg0.name + "/" + "ForeLegBone0");
foreLeg1 = GameObject.Find(namePrefix + upperLeg1.name + "/" + "ForeLegBone1");
}
private void InitializeArticulationBodies()
{
m_AbUpper0 = upperLeg0.GetComponent<ArticulationBody>();
m_AbFore0 = foreLeg0.GetComponent<ArticulationBody>();
m_AbUpper1 = upperLeg1.GetComponent<ArticulationBody>();
m_AbFore1 = foreLeg1.GetComponent<ArticulationBody>();
m_AbBody = body.GetComponent<ArticulationBody>();
}
public void Start()
{
InitializeArticulationBodies();
m_rotationUpper0 = m_rotationFore0 = m_rotationUpper1 = m_rotationFore1 = Vector3.zero;
}
/// <summary>
/// Resets the position and velocity of the agent and the goal.
/// </summary>
public void AgentReset()
{
Vector3 position = new Vector3(0.0f, 8.0f, 6.3f);
Quaternion rotation = Quaternion.identity;
string bodyName = body.name;
DestroyImmediate(body);
body = Instantiate(rootBodyPrefab, position, rotation);
body.transform.parent = transform;
body.name = bodyName;
InitializeLegGameObjects();
InitializeArticulationBodies();
m_rotationUpper0 = m_rotationFore0 = m_rotationUpper1 = m_rotationFore1 = Vector3.zero;
/*
m_AbUpper.transform.position = new Vector3(0f, -4f, 0f) + transform.position;
m_AbFore.transform.rotation = Quaternion.Euler(180f, 0f, 0f);
pendulumB.transform.position = new Vector3(0f, -10f, 0f) + transform.position;
pendulumB.transform.rotation = Quaternion.Euler(180f, 0f, 0f);
*/
}
public void FixedUpdate()
{
//float maxTorque = 1000f;
float speed = 100f;
float deltaRotation = speed * Time.fixedDeltaTime;
m_rotationUpper0.x = m_AbUpper0.xDrive.target;
m_rotationUpper0.y = m_AbUpper0.yDrive.target;
m_rotationUpper0.z = m_AbUpper0.zDrive.target;
m_rotationUpper1.x = m_AbUpper1.xDrive.target;
m_rotationUpper1.y = m_AbUpper1.yDrive.target;
m_rotationUpper1.z = m_AbUpper1.zDrive.target;
// upper arm
if (Input.GetKey(KeyCode.A))
{
m_rotationUpper0.x += deltaRotation;
m_rotationUpper1.x += deltaRotation;
}
if (Input.GetKey(KeyCode.Z))
{
m_rotationUpper0.x -= deltaRotation;
m_rotationUpper1.x -= deltaRotation;
}
if (Input.GetKey(KeyCode.S))
{
m_rotationUpper0.y += deltaRotation;
m_rotationUpper1.y += deltaRotation;
}
if (Input.GetKey(KeyCode.X))
{
m_rotationUpper0.y -= deltaRotation;
m_rotationUpper1.y -= deltaRotation;
}
if (Input.GetKey(KeyCode.D))
{
m_rotationUpper0.z += deltaRotation;
m_rotationUpper1.z += deltaRotation;
}
if (Input.GetKey(KeyCode.C))
{
m_rotationUpper0.z -= deltaRotation;
m_rotationUpper1.z -= deltaRotation;
}
m_rotationUpper0.x = Mathf.Clamp(m_rotationUpper0.x, -180.0f, 180.0f);
m_rotationUpper0.y = Mathf.Clamp(m_rotationUpper0.y, -180.0f, 180.0f);
m_rotationUpper0.z = Mathf.Clamp(m_rotationUpper0.z, -180.0f, 180.0f);
m_rotationUpper1.x = Mathf.Clamp(m_rotationUpper1.x, -180.0f, 180.0f);
m_rotationUpper1.y = Mathf.Clamp(m_rotationUpper1.y, -180.0f, 180.0f);
m_rotationUpper1.z = Mathf.Clamp(m_rotationUpper1.z, -180.0f, 180.0f);
// lower arm
m_rotationFore0.x = m_AbFore0.xDrive.target;
m_rotationFore0.y = m_AbFore0.yDrive.target;
m_rotationFore0.z = m_AbFore0.zDrive.target;
if (Input.GetKey(KeyCode.F))
{
m_rotationFore0.x += deltaRotation;
m_rotationFore1.x += deltaRotation;
}
if (Input.GetKey(KeyCode.V))
{
m_rotationFore0.x -= deltaRotation;
m_rotationFore1.x -= deltaRotation;
}
if (Input.GetKey(KeyCode.G))
{
m_rotationFore0.y += deltaRotation;
m_rotationFore1.y += deltaRotation;
}
if (Input.GetKey(KeyCode.B))
{
m_rotationFore0.y -= deltaRotation;
m_rotationFore1.y -= deltaRotation;
}
if (Input.GetKey(KeyCode.H))
{
m_rotationFore0.z += deltaRotation;
m_rotationFore1.z += deltaRotation;
}
if (Input.GetKey(KeyCode.N))
{
m_rotationFore0.z -= deltaRotation;
m_rotationFore1.z -= deltaRotation;
}
m_rotationFore0.x = Mathf.Clamp(m_rotationFore0.x, -180.0f, 180.0f);
m_rotationFore0.y = Mathf.Clamp(m_rotationFore0.y, -180.0f, 180.0f);
m_rotationFore0.z = Mathf.Clamp(m_rotationFore0.z, -180.0f, 180.0f);
m_rotationFore1.x = Mathf.Clamp(m_rotationFore1.x, -180.0f, 180.0f);
m_rotationFore1.y = Mathf.Clamp(m_rotationFore1.y, -180.0f, 180.0f);
m_rotationFore1.z = Mathf.Clamp(m_rotationFore1.z, -180.0f, 180.0f);
SetJointTargetRotation(m_AbUpper0, m_rotationUpper0.x, m_rotationUpper0.y, m_rotationUpper0.z);
SetJointStrength(m_AbUpper0, 0.0001f);
SetJointTargetRotation(m_AbUpper1, m_rotationUpper1.x, m_rotationUpper1.y, m_rotationUpper1.z);
SetJointStrength(m_AbUpper1, 0.0001f);
SetJointTargetRotation(m_AbFore0, m_rotationFore0.x, m_rotationFore0.y, m_rotationFore0.z);
SetJointStrength(m_AbFore0, 0.0001f);
SetJointTargetRotation(m_AbFore1, m_rotationFore1.x, m_rotationFore1.y, m_rotationFore1.z);
SetJointStrength(m_AbFore1, 0.0001f);
if (Input.GetKey(KeyCode.Escape))
AgentReset();
}
public void SetJointTargetRotation(ArticulationBody arb, float x, float y, float z)
{
/*
// Incoming values need to be in [-1,1] interval
x = (x + 1f) * 0.5f;
y = (y + 1f) * 0.5f;
z = (z + 1f) * 0.5f;
*/
var xDrive = arb.xDrive;
var yDrive = arb.yDrive;
var zDrive = arb.zDrive;
/*
var xRot = Mathf.Lerp(xDrive.lowerLimit, xDrive.upperLimit, x);
var yRot = Mathf.Lerp(yDrive.lowerLimit, yDrive.upperLimit, y);
var zRot = Mathf.Lerp(zDrive.lowerLimit, zDrive.upperLimit, z);
var currentXNormalizedRot =
Mathf.InverseLerp(xDrive.lowerLimit, xDrive.upperLimit, xRot);
// What is this ? Vilmantas Why lowerLimit is not used ?
var currentYNormalizedRot = Mathf.InverseLerp(yDrive.lowerLimit, yDrive.upperLimit, yRot);
var currentZNormalizedRot = Mathf.InverseLerp(zDrive.lowerLimit, zDrive.upperLimit, zRot);
//joint.targetRotation = Quaternion.Euler(xRot, yRot, zRot); // Original code
*/
var xRot = x;
var yRot = y;
var zRot = z;
xDrive.target = xRot; yDrive.target = yRot; zDrive.target = zRot;
arb.xDrive = xDrive; arb.yDrive = yDrive; arb.zDrive = zDrive;
var currentEularJointRotation = new Vector3(xRot, yRot, zRot);
}
public void SetJointStrength(ArticulationBody arb, float strength)
{
var xDrive = arb.xDrive;
var yDrive = arb.yDrive;
var zDrive = arb.zDrive;
var rawVal = (strength + 1f) * 0.5f * maxJointForceLimit;
xDrive.stiffness = yDrive.stiffness = zDrive.stiffness = maxJointSpring;
xDrive.damping = yDrive.damping = zDrive.damping = jointDampen;
xDrive.forceLimit = yDrive.forceLimit = zDrive.forceLimit = rawVal;
// Slerp drive does not exist, so we try to set strength for each axis individually
arb.xDrive = xDrive;
arb.yDrive = yDrive;
arb.zDrive = zDrive;
//joint.slerpDrive = jd;
currentStrength = rawVal;
}
public void Update()
{
Debug.DrawLine(body.transform.position, body.transform.position + body.transform.forward * 10.0f);
}
}
}

3
Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedCrawlerManualControl.cs.meta


fileFormatVersion: 2
guid: 1183164ed37748bf9cc8441ceb64df13
timeCreated: 1572947634

169
Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedJointDriveController.cs


using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Serialization;
using Unity.MLAgents;
namespace Unity.MLAgentsExamples
{
/// <summary>
/// Used to store relevant information for acting and learning for each body part in agent.
/// </summary>
[System.Serializable]
public class ArticulationBodyPart
{
public ArticulationBody arb;
public Transform t;
[HideInInspector] public Vector3 startingPos;
[HideInInspector] public Quaternion startingRot;
[Header("Ground & Target Contact")][Space(10)]
public GroundContact groundContact;
public TargetContact targetContact;
[FormerlySerializedAs("thisJDController")]
[HideInInspector] public ArticulatedJointDriveController thisJdController;
[Header("Current Joint Settings")][Space(10)]
public Vector3 currentEularJointRotation;
[HideInInspector] public float currentStrength;
public float currentXNormalizedRot;
public float currentYNormalizedRot;
public float currentZNormalizedRot;
/// <summary>
/// Apply torque according to defined goal `x, y, z` angle and force `strength`.
/// </summary>
public void SetJointTargetRotation(float x, float y, float z)
{
x = (x + 1f) * 0.5f;
y = (y + 1f) * 0.5f;
z = (z + 1f) * 0.5f;
var xDrive = arb.xDrive;
var yDrive = arb.yDrive;
var zDrive = arb.zDrive;
var xRot = Mathf.Lerp(xDrive.lowerLimit, xDrive.upperLimit, x);
var yRot = Mathf.Lerp(yDrive.lowerLimit, yDrive.upperLimit, y);
var zRot = Mathf.Lerp(zDrive.lowerLimit, zDrive.upperLimit, z);
currentXNormalizedRot =
Mathf.InverseLerp(xDrive.lowerLimit, xDrive.upperLimit, xRot);
currentYNormalizedRot = Mathf.InverseLerp(yDrive.lowerLimit, yDrive.upperLimit, yRot);
currentZNormalizedRot = Mathf.InverseLerp(zDrive.lowerLimit, zDrive.upperLimit, zRot);
xDrive.target = xRot; yDrive.target = yRot; zDrive.target = zRot;
arb.xDrive = xDrive; arb.yDrive = yDrive; arb.zDrive = zDrive;
currentEularJointRotation = new Vector3(xRot, yRot, zRot);
}
public void SetJointStrength(float strength)
{
var xDrive = arb.xDrive;
var yDrive = arb.yDrive;
var zDrive = arb.zDrive;
var rawVal = (strength + 1f) * 0.5f * thisJdController.maxJointForceLimit;
xDrive.stiffness = yDrive.stiffness = zDrive.stiffness = thisJdController.maxJointSpring;
xDrive.damping = yDrive.damping = zDrive.damping = thisJdController.jointDampen;
xDrive.forceLimit = yDrive.forceLimit = zDrive.forceLimit = rawVal;
arb.xDrive = xDrive;
arb.yDrive = yDrive;
arb.zDrive = zDrive;
currentStrength = rawVal;
}
}
public class ArticulatedJointDriveController : MonoBehaviour
{
[Header("Joint Drive Settings")][Space(10)]
public float maxJointSpring;
public float jointDampen;
public float maxJointForceLimit;
float m_FacingDot;
[HideInInspector] public Dictionary<Transform, ArticulationBodyPart> bodyPartsDict = new Dictionary<Transform, ArticulationBodyPart>();
[HideInInspector] public List<ArticulationBodyPart> bodyPartsList = new List<ArticulationBodyPart>();
/// <summary>
/// Reset BodyPart list and dictionary.
/// </summary>
public void Reset()
{
bodyPartsDict.Clear();
bodyPartsList.Clear();
}
/// <summary>
/// Create BodyPart object and add it to dictionary.
/// </summary>
public void SetupBodyPart(Transform t)
{
// Either parent(in case of legs) or game object itself(in case of body) must have ArticulationBody
var arb = t.GetComponent<ArticulationBody>();
if (arb == null)
arb = t.parent.GetComponent<ArticulationBody>();
var bp = new ArticulationBodyPart()
{
arb = arb,
t = t,
startingPos = t.position,
startingRot = t.rotation
};
// Add & setup the ground contact script
bp.groundContact = t.GetComponent<GroundContact>();
if (!bp.groundContact)
{
bp.groundContact = t.gameObject.AddComponent<GroundContact>();
bp.groundContact.agent = gameObject.GetComponent<Agent>();
}
else
{
bp.groundContact.agent = gameObject.GetComponent<Agent>();
}
// Add & setup the target contact script
bp.targetContact = t.GetComponent<TargetContact>();
if (!bp.targetContact)
{
bp.targetContact = t.gameObject.AddComponent<TargetContact>();
}
bp.thisJdController = this;
bodyPartsDict.Add(t, bp);
bodyPartsList.Add(bp);
}
public static Transform FindBodyPartByName(Transform rootBody, string bodyPartName)
{
Queue<Transform> queue = new Queue<Transform>();
queue.Enqueue(rootBody);
while (queue.Count > 0)
{
Transform child = queue.Dequeue();
if (child.name == bodyPartName)
return child;
foreach(Transform t in child)
queue.Enqueue(t);
}
return null;
}
}
}

3
Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedJointDriveController.cs.meta


fileFormatVersion: 2
guid: d8020ed16eb94c9aac4589a46facb1fa
timeCreated: 1572439925

25
Project/Assets/ML-Agents/Examples/Crawler/Scripts/CrawlerAcademy.cs


using UnityEngine;
using Unity.MLAgents;
// TODO move to ProjectOverrides
//
//public class CrawlerAcademy : Academy
//{
// public override void InitializeAcademy()
// {
// Monitor.verticalOffset = 1f;
// Physics.defaultSolverIterations = 12;
// Physics.defaultSolverVelocityIterations = 12;
// Time.fixedDeltaTime = 0.01333f; // (75fps). default is .2 (60fps)
// Time.maximumDeltaTime = .15f; // Default is .33
// }
//
// public override void AcademyReset()
// {
// }
//
// public override void AcademyStep()
// {
// }
//}

11
Project/Assets/ML-Agents/Examples/Crawler/Scripts/CrawlerAcademy.cs.meta


fileFormatVersion: 2
guid: 05e76ca0a155e48caa36ee60e64ee9c9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

343
Project/Assets/ML-Agents/Examples/Crawler/Scripts/ArticulatedCrawlerAgent.cs


using System;
using UnityEngine;
using Unity.MLAgents;
using Unity.MLAgents.Sensors;
using Random = UnityEngine.Random;
namespace Unity.MLAgentsExamples
{
[RequireComponent(typeof(ArticulatedJointDriveController))] // Required to set joint forces
public class ArticulatedCrawlerAgent : Agent
{
[Header("Target To Walk Towards")]
[Space(10)]
public Transform target;
public Transform ground;
public bool detectTargets;
public bool targetIsStatic = false;
public bool respawnTargetWhenTouched;
public float targetSpawnRadius;
[Header("Body Parts")]
[Space(10)]
public Transform rootBodyPrefab;
public Transform body;
public Transform leg0Upper;
public Transform leg0Lower;
public Transform leg1Upper;
public Transform leg1Lower;
public Transform leg2Upper;
public Transform leg2Lower;
public Transform leg3Upper;
public Transform leg3Lower;
private string bodyName;
private string leg0UpperName;
private string leg0LowerName;
private string leg1UpperName;
private string leg1LowerName;
private string leg2UpperName;
private string leg2LowerName;
private string leg3UpperName;
private string leg3LowerName;
[Header("Joint Settings")]
[Space(10)]
ArticulatedJointDriveController m_JdController;
Vector3 m_DirToTarget;
float m_MovingTowardsDot;
float m_FacingDot;
[Header("Reward Functions To Use")]
[Space(10)]
public bool rewardMovingTowardsTarget; // Agent should move towards target
public bool rewardFacingTarget; // Agent should face the target
public bool rewardUseTimePenalty; // Hurry up
[Header("Foot Grounded Visualization")]
[Space(10)]
public bool useFootGroundedVisualization;
public MeshRenderer foot0;
public MeshRenderer foot1;
public MeshRenderer foot2;
public MeshRenderer foot3;
public Material groundedMaterial;
public Material unGroundedMaterial;
Quaternion m_LookRotation;
Matrix4x4 m_TargetDirMatrix;
public override void Initialize()
{
m_JdController = GetComponent<ArticulatedJointDriveController>();
m_DirToTarget = target.position - body.position;
m_JdController.Reset();
SetupBodyParts();
SaveBodyPartNames();
}
/// <summary>
/// Setup body parts - add body part and configure ArticulatedJoinDriveController
/// </summary>
private void SetupBodyParts()
{
//Setup each body part
m_JdController.SetupBodyPart(body);
m_JdController.SetupBodyPart(leg0Upper);
m_JdController.SetupBodyPart(leg0Lower);
m_JdController.SetupBodyPart(leg1Upper);
m_JdController.SetupBodyPart(leg1Lower);
m_JdController.SetupBodyPart(leg2Upper);
m_JdController.SetupBodyPart(leg2Lower);
m_JdController.SetupBodyPart(leg3Upper);
m_JdController.SetupBodyPart(leg3Lower);
}
private void SaveBodyPartNames()
{
bodyName = body.name;
leg0UpperName = leg0Upper.name;
leg0LowerName = leg0Lower.name;
leg1UpperName = leg1Upper.name;
leg1LowerName = leg1Lower.name;
leg2UpperName = leg2Upper.name;
leg2LowerName = leg2Lower.name;
leg3UpperName = leg3Upper.name;
leg3LowerName = leg3Lower.name;
}
/// <summary>
/// Add relevant information on each body part to observations.
/// </summary>
public void CollectObservationBodyPart(VectorSensor vectorSensor, ArticulationBodyPart bp)
{
var arb = bp.arb;
vectorSensor.AddObservation(bp.groundContact.touchingGround ? 1 : 0); // Whether the bp touching the ground
var velocityRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(arb.velocity);
vectorSensor.AddObservation(velocityRelativeToLookRotationToTarget);
var angularVelocityRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(arb.angularVelocity);
vectorSensor.AddObservation(angularVelocityRelativeToLookRotationToTarget);
if (bp.arb.transform != body)
{
var localPosRelToBody = body.InverseTransformPoint(arb.transform.position); // Translate from world space to body local space, since all articulations are children of body in hiearchy
//vectorSensor.AddObservation(localPosRelToBody);
vectorSensor.AddObservation(bp.currentXNormalizedRot); // Current x rot
vectorSensor.AddObservation(bp.currentYNormalizedRot); // Current y rot
vectorSensor.AddObservation(bp.currentZNormalizedRot); // Current z rot
vectorSensor.AddObservation(bp.currentStrength / m_JdController.maxJointForceLimit);
}
}
public override void CollectObservations(VectorSensor vectorSensor)
{
// Update pos to target
m_DirToTarget = target.position - body.position;
m_LookRotation = Quaternion.LookRotation(m_DirToTarget);
m_TargetDirMatrix = Matrix4x4.TRS(Vector3.zero, m_LookRotation, Vector3.one);
RaycastHit hit;
if (Physics.Raycast(body.position, Vector3.down, out hit, 10.0f))
{
vectorSensor.AddObservation(hit.distance);
}
else
vectorSensor.AddObservation(10.0f);
// Forward & up to help with orientation
var bodyForwardRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(body.forward);
vectorSensor.AddObservation(bodyForwardRelativeToLookRotationToTarget);
var bodyUpRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(body.up);
vectorSensor.AddObservation(bodyUpRelativeToLookRotationToTarget);
foreach (var bodyPart in m_JdController.bodyPartsDict.Values)
{
CollectObservationBodyPart(vectorSensor, bodyPart);
}
}
/// <summary>
/// Agent touched the target
/// </summary>
public void TouchedTarget()
{
AddReward(1f);
if (respawnTargetWhenTouched)
{
GetRandomTargetPos();
}
}
/// <summary>
/// Moves target to a random position within specified radius.
/// </summary>
public void GetRandomTargetPos()
{
var newTargetPos = Random.insideUnitSphere * targetSpawnRadius;
newTargetPos.y = 0.5f;
target.position = newTargetPos + ground.position;
}
public override void OnActionReceived(float[] vectorAction)
{
// The dictionary with all the body parts in it are in the jdController
var bpDict = m_JdController.bodyPartsDict;
var i = -1;
// Pick a new target joint rotation
bpDict[leg0Upper].SetJointTargetRotation(0, vectorAction[++i], vectorAction[++i]);
bpDict[leg1Upper].SetJointTargetRotation(0, vectorAction[++i], vectorAction[++i]);
bpDict[leg2Upper].SetJointTargetRotation(0, vectorAction[++i], vectorAction[++i]);
bpDict[leg3Upper].SetJointTargetRotation(0, vectorAction[++i], vectorAction[++i]);
bpDict[leg0Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
bpDict[leg1Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
bpDict[leg2Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
bpDict[leg3Lower].SetJointTargetRotation(vectorAction[++i], 0, 0);
// Update joint strength
bpDict[leg0Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg1Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg2Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg3Upper].SetJointStrength(vectorAction[++i]);
bpDict[leg0Lower].SetJointStrength(vectorAction[++i]);
bpDict[leg1Lower].SetJointStrength(vectorAction[++i]);
bpDict[leg2Lower].SetJointStrength(vectorAction[++i]);
bpDict[leg3Lower].SetJointStrength(vectorAction[++i]);
}
void FixedUpdate()
{
if (detectTargets)
{
foreach (var bodyPart in m_JdController.bodyPartsDict.Values)
{
if (bodyPart.targetContact
// && !IsDone() // TODO old code?
&& bodyPart.targetContact.touchingTarget)
{
TouchedTarget();
}
}
}
// If enabled the feet will light up green when the foot is grounded.
// This is just a visualization and isn't necessary for function
if (useFootGroundedVisualization)
{
foot0.material = m_JdController.bodyPartsDict[leg0Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
foot1.material = m_JdController.bodyPartsDict[leg1Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
foot2.material = m_JdController.bodyPartsDict[leg2Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
foot3.material = m_JdController.bodyPartsDict[leg3Lower].groundContact.touchingGround
? groundedMaterial
: unGroundedMaterial;
}
// Set reward for this step according to mixture of the following elements.
if (rewardMovingTowardsTarget)
{
RewardFunctionMovingTowards();
}
if (rewardFacingTarget)
{
RewardFunctionFacingTarget();
}
if (rewardUseTimePenalty)
{
RewardFunctionTimePenalty();
}
}
/// <summary>
/// Reward moving towards target & Penalize moving away from target.
/// </summary>
void RewardFunctionMovingTowards()
{
m_MovingTowardsDot = Vector3.Dot(m_JdController.bodyPartsDict[body].arb.velocity, m_DirToTarget.normalized);
AddReward(0.03f * m_MovingTowardsDot);
}
/// <summary>
/// Reward facing target & Penalize facing away from target
/// </summary>
void RewardFunctionFacingTarget()
{
m_FacingDot = Vector3.Dot(m_DirToTarget.normalized, body.forward);
AddReward(0.01f * m_FacingDot);
}
/// <summary>
/// Existential penalty for time-contrained tasks.
/// </summary>
void RewardFunctionTimePenalty()
{
AddReward(-0.001f);
}
/// <summary>
/// Loop over body parts and reset them to initial conditions.
/// </summary>
public override void OnEpisodeBegin()
{
Vector3 position = m_JdController.bodyPartsDict[body].startingPos;
// For starting position, make a random orientation
Quaternion rotation = Quaternion.identity;
Vector3 randomViewPos = Random.onUnitSphere * 10.0f + position;
randomViewPos.y = position.y; // Look at the height of body center
rotation.SetLookRotation(randomViewPos, Vector3.up);
m_JdController.Reset();
string bodyName = body.name;
//DestroyImmediate(body.gameObject);
Destroy(body.gameObject);
body = Instantiate(rootBodyPrefab, position, rotation);
body.transform.parent = transform;
body.name = bodyName;
ResetLegTransforms(body);
SetupBodyParts();
if (!targetIsStatic)
{
GetRandomTargetPos();
}
}
/// <summary>
/// After spawning new prefab, reinitialize transforms of body parts
/// </summary>
/// <param name="rootBody"></param>
private void ResetLegTransforms(Transform rootBody)
{
leg0Upper = ArticulatedJointDriveController.FindBodyPartByName(rootBody, leg0UpperName);
leg1Upper = ArticulatedJointDriveController.FindBodyPartByName(rootBody, leg1UpperName);
leg2Upper = ArticulatedJointDriveController.FindBodyPartByName(rootBody, leg2UpperName);
leg3Upper = ArticulatedJointDriveController.FindBodyPartByName(rootBody, leg3UpperName);
leg0Lower = ArticulatedJointDriveController.FindBodyPartByName(rootBody, leg0LowerName);
leg1Lower = ArticulatedJointDriveController.FindBodyPartByName(rootBody, leg1LowerName);
leg2Lower = ArticulatedJointDriveController.FindBodyPartByName(rootBody, leg2LowerName);
leg3Lower = ArticulatedJointDriveController.FindBodyPartByName(rootBody, leg3LowerName);
}
}
}

211
Project/Assets/ML-Agents/Examples/SharedAssets/ArticulationBodySensor.cs


using System;
using System.Collections.Generic;
using Unity.MLAgents.Sensors;
using UnityEngine;
[Serializable]
public class ArticulationBodySensorSettings
{
public enum TransformFormat
{
PositionForwardRight,
PositionQuaternion,
};
public enum JointAngleFunction
{
Ignore,
Fmod,
SinCos,
}
public static readonly Dictionary<TransformFormat, int> s_NumObservationsByTransformFormat =
new Dictionary<TransformFormat, int>
{
{ TransformFormat.PositionForwardRight, 9 }, // transform pos, fwd, right
{ TransformFormat.PositionQuaternion, 7 } // transform pos, quaternion
};
public static readonly Dictionary<JointAngleFunction, int> s_NumObservationsByJointAngleFunction =
new Dictionary<JointAngleFunction, int>
{
{ JointAngleFunction.Ignore, 0 },
{ JointAngleFunction.Fmod, 1 },
{ JointAngleFunction.SinCos, 2 }
};
public TransformFormat transformFormat = TransformFormat.PositionForwardRight;
public JointAngleFunction jointAngleFunction = JointAngleFunction.Fmod;
public int NumTransformObservations
{
get { return s_NumObservationsByTransformFormat[transformFormat]; }
}
public int NumJointAngleObservations
{
get { return s_NumObservationsByJointAngleFunction[jointAngleFunction]; }
}
}
public class ArticulationBodySensor : ISensor
{
string m_SensorName;
int[] m_Shape;
ArticulationBody[] m_Bodies;
ArticulationBodySensorSettings m_Settings;
public ArticulationBodySensor(ArticulationBody rootBody, ArticulationBodySensorSettings settings, string name = null)
{
m_SensorName = string.IsNullOrEmpty(name) ? $"ArticulationBodySensor:{rootBody.name}" : name;
m_Settings = settings;
// Note that m_Bodies[0] will always be rootBody
m_Bodies = rootBody.GetComponentsInChildren<ArticulationBody>();
var sensorSize = GetArticulationSensorSize(rootBody, settings);
m_Shape = new[] { sensorSize };
}
/// <inheritdoc/>
public int[] GetObservationShape()
{
return m_Shape;
}
/// <inheritdoc/>
public int Write(ObservationWriter writer)
{
int obsIndex = 0;
foreach (var body in m_Bodies)
{
obsIndex = WriteBody(writer, body, obsIndex);
}
return obsIndex;
}
/// <inheritdoc/>
public byte[] GetCompressedObservation()
{
throw new NotImplementedException();
}
/// <inheritdoc/>
public void Update()
{
}
/// <inheritdoc/>
public void Reset() { }
/// <inheritdoc/>
public SensorCompressionType GetCompressionType()
{
return SensorCompressionType.None;
}
/// <inheritdoc/>
public string GetName()
{
return m_SensorName;
}
public static int GetArticulationSensorSize(ArticulationBody rootBody, ArticulationBodySensorSettings settings)
{
if (rootBody == null)
{
return 0;
}
int numObs = 0;
var bodies = rootBody.GetComponentsInChildren<ArticulationBody>();
foreach (var childBody in bodies)
{
numObs += GetArticulationObservationSize(childBody, settings);
}
return numObs;
}
static int GetArticulationObservationSize(ArticulationBody body, ArticulationBodySensorSettings settings)
{
if (body == null)
{
return 0;
}
var transformObsSize = settings.NumTransformObservations;
// TODO more observations for dof depending on type
var obsPerDof = settings.NumJointAngleObservations;
var dof = body.dofCount;
return transformObsSize + dof * obsPerDof;
}
int WriteBody(ObservationWriter writer, ArticulationBody body, int observationIndex)
{
if (body == null)
{
// TODO - getting this error
// MissingReferenceException: The object of type 'ArticulationBody' has been destroyed but you are still trying to access it.
// Your script should either check if it is null or you should not destroy the object.
// Handle later.
return observationIndex;
}
var rootWorldTransform = m_Bodies[0].transform;
var modelSpacePos = rootWorldTransform.InverseTransformPoint(body.transform.position);
writer[observationIndex++] = modelSpacePos.x;
writer[observationIndex++] = modelSpacePos.y;
writer[observationIndex++] = modelSpacePos.z;
if (m_Settings.transformFormat == ArticulationBodySensorSettings.TransformFormat.PositionForwardRight)
{
var modelFwd = rootWorldTransform.InverseTransformDirection(body.transform.forward);
writer[observationIndex++] = modelFwd.x;
writer[observationIndex++] = modelFwd.y;
writer[observationIndex++] = modelFwd.z;
var modelRight = rootWorldTransform.InverseTransformDirection(body.transform.right);
writer[observationIndex++] = modelRight.x;
writer[observationIndex++] = modelRight.y;
writer[observationIndex++] = modelRight.z;
}
else
{
// TODO not 100% sure this is right
var modelSpaceRot = Quaternion.Inverse(rootWorldTransform.rotation) * body.transform.rotation;
writer[observationIndex++] = modelSpaceRot.x;
writer[observationIndex++] = modelSpaceRot.y;
writer[observationIndex++] = modelSpaceRot.z;
writer[observationIndex++] = modelSpaceRot.w;
}
// Write degree-of-freedom info. For now, assume all angular.
for (var dofIndex = 0; dofIndex < body.dofCount; dofIndex++)
{
var jointRotationRads = body.jointPosition[dofIndex];
if (m_Settings.jointAngleFunction == ArticulationBodySensorSettings.JointAngleFunction.Ignore)
{
// Nothing
}
else if (m_Settings.jointAngleFunction == ArticulationBodySensorSettings.JointAngleFunction.Fmod)
{
var jointRotationDegs = jointRotationRads * Mathf.Rad2Deg;
var rotationFmod = (jointRotationDegs / 360.0f) % 1f;
writer[observationIndex++] = rotationFmod;
}
else if (m_Settings.jointAngleFunction == ArticulationBodySensorSettings.JointAngleFunction.SinCos)
{
writer[observationIndex++] = Mathf.Sin(jointRotationRads);
writer[observationIndex++] = Mathf.Cos(jointRotationRads);
}
}
return observationIndex;
}
}

3
Project/Assets/ML-Agents/Examples/SharedAssets/ArticulationBodySensor.cs.meta


fileFormatVersion: 2
guid: e14bb25a95194b69987ea4f57e249169
timeCreated: 1589824795

21
Project/Assets/ML-Agents/Examples/SharedAssets/ArticulationBodySensorComponent.cs


using Unity.MLAgents.Sensors;
using UnityEngine;
public class ArticulationBodySensorComponent : SensorComponent
{
public ArticulationBody RootBody;
[SerializeField]
public ArticulationBodySensorSettings Settings = new ArticulationBodySensorSettings();
/// <inheritdoc/>
public override ISensor CreateSensor()
{
return new ArticulationBodySensor(RootBody, Settings);
}
/// <inheritdoc/>
public override int[] GetObservationShape()
{
return new[] { ArticulationBodySensor.GetArticulationSensorSize(RootBody, Settings) };
}
}

3
Project/Assets/ML-Agents/Examples/SharedAssets/ArticulationBodySensorComponent.cs.meta


fileFormatVersion: 2
guid: 4ae1ad4b0c504a2ab52e4dc39d7070af
timeCreated: 1589824814
正在加载...
取消
保存