Browse Source

Add opencvsharp.dll / Add Rendertexture observation / add Canny

Development
Tobi 5 years ago
parent
commit
7317135cd3
33 changed files with 484527 additions and 382 deletions
  1. 2
    2
      Assets/Brains/CozmoLearningBrain.asset
  2. 8
    0
      Assets/Plugins.meta
  3. BIN
      Assets/Plugins/OpenCvSharp.dll
  4. 33
    0
      Assets/Plugins/OpenCvSharp.dll.meta
  5. BIN
      Assets/Plugins/OpenCvSharpExtern.dll
  6. 27
    0
      Assets/Plugins/OpenCvSharpExtern.dll.meta
  7. 307
    20
      Assets/Scenes/CozmoTraining.unity
  8. 8
    0
      Assets/Scripts/CannyEdgeDetection.meta
  9. 178
    0
      Assets/Scripts/CannyEdgeDetection/CannyTest.cs
  10. 11
    0
      Assets/Scripts/CannyEdgeDetection/CannyTest.cs.meta
  11. 127
    0
      Assets/Scripts/CannyEdgeDetection/OnRenderImageTest.cs
  12. 11
    0
      Assets/Scripts/CannyEdgeDetection/OnRenderImageTest.cs.meta
  13. 35
    0
      Assets/Scripts/ML Cozmo/CozmoAgent.cs
  14. 15
    6
      Assets/Scripts/Movemnet/CozmoMovementTester.cs
  15. 8
    0
      Assets/Textures.meta
  16. 8
    0
      Assets/Textures/Measurement.meta
  17. 8
    0
      Assets/Textures/Measurement/Materials.meta
  18. 77
    0
      Assets/Textures/Measurement/Materials/Schachbrett_10cm.mat
  19. 8
    0
      Assets/Textures/Measurement/Materials/Schachbrett_10cm.mat.meta
  20. BIN
      Assets/Textures/Measurement/Schachbrett_10cm.png
  21. 99
    0
      Assets/Textures/Measurement/Schachbrett_10cm.png.meta
  22. 8
    0
      Assets/Textures/RenderTextures.meta
  23. 34
    0
      Assets/Textures/RenderTextures/CozmoCannyTexture.renderTexture
  24. 8
    0
      Assets/Textures/RenderTextures/CozmoCannyTexture.renderTexture.meta
  25. 34
    0
      Assets/Textures/RenderTextures/TestVisualBanana.renderTexture
  26. 8
    0
      Assets/Textures/RenderTextures/TestVisualBanana.renderTexture.meta
  27. 161
    91
      Assets/UnitySDK/Assets/ML-Agents/Examples/BananaCollectors/Scenes/VisualBanana.unity
  28. 265
    180
      Assets/UnitySDK/Assets/ML-Agents/Examples/GridWorld/Scenes/GridWorld.unity
  29. 84
    50
      Notebooks/.ipynb_checkpoints/getting-started-checkpoint.ipynb
  30. 482658
    1
      Notebooks/UnitySDK.log
  31. 21
    32
      Notebooks/getting-started.ipynb
  32. 6
    0
      ProjectSettings/EditorBuildSettings.asset
  33. 270
    0
      notebooks/getting-started-gym.ipynb

+ 2
- 2
Assets/Brains/CozmoLearningBrain.asset View File

@@ -17,8 +17,8 @@ MonoBehaviour:
numStackedVectorObservations: 1
vectorActionSize: 0200000002000000
cameraResolutions:
- width: 84
height: 84
- width: 320
height: 240
blackAndWhite: 0
vectorActionDescriptions:
- forward

+ 8
- 0
Assets/Plugins.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5cb8c424702101743a54c10d115c10c5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Plugins/OpenCvSharp.dll View File


+ 33
- 0
Assets/Plugins/OpenCvSharp.dll.meta View File

@@ -0,0 +1,33 @@
fileFormatVersion: 2
guid: 42bcf58d48729e442b51d02563fcf220
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Plugins/OpenCvSharpExtern.dll View File


+ 27
- 0
Assets/Plugins/OpenCvSharpExtern.dll.meta View File

@@ -0,0 +1,27 @@
fileFormatVersion: 2
guid: 09ab13753d5246142a30ab8c234cd071
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:

+ 307
- 20
Assets/Scenes/CozmoTraining.unity View File

@@ -125,7 +125,7 @@ GameObject:
- component: {fileID: 99578047}
- component: {fileID: 99578046}
m_Layer: 0
m_Name: Cube
m_Name: Environment
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -161,7 +161,7 @@ MeshRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 2100000, guid: 645644d2cbab7d24bb1a6a693e8e6082, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@@ -199,9 +199,11 @@ Transform:
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_Children:
- {fileID: 1159195261}
- {fileID: 1863707381}
m_Father: {fileID: 0}
m_RootOrder: 2
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &170076733
GameObject:
@@ -270,7 +272,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &589453881
GameObject:
@@ -311,8 +313,8 @@ Camera:
y: 0
width: 1
height: 1
near clip plane: 0.02
far clip plane: 1
near clip plane: 0.01
far clip plane: 2
field of view: 60
orthographic: 0
orthographic size: 5
@@ -338,13 +340,100 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 589453881}
m_LocalRotation: {x: 0.2164396, y: 0, z: 0, w: 0.97629607}
m_LocalPosition: {x: 0, y: 0.0336, z: 0.03939998}
m_LocalRotation: {x: 0.30070576, y: 0, z: 0, w: 0.953717}
m_LocalPosition: {x: 0, y: 0.037, z: 0.0319}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 7570006596986120124}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 35, y: 0, z: 0}
--- !u!1 &891713638
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 891713639}
- component: {fileID: 891713640}
- component: {fileID: 891713641}
m_Layer: 0
m_Name: RenderTextureCamera
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &891713639
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 891713638}
m_LocalRotation: {x: 0.30070576, y: 0, z: 0, w: 0.953717}
m_LocalPosition: {x: 0, y: 0.037, z: 0.0319}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 7570006596986120124}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 25, y: 0, z: 0}
m_LocalEulerAnglesHint: {x: 35, y: 0, z: 0}
--- !u!20 &891713640
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 891713638}
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_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_GateFitMode: 2
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.01
far clip plane: 2
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 8400000, guid: 196f45b12806aaa449adc2ee1ca3b091, type: 2}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 0
m_AllowMSAA: 0
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!114 &891713641
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 891713638}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b940f59f459dc49479614595d02dcbbc, type: 3}
m_Name:
m_EditorClassIdentifier:
processedImageRenderer: {fileID: 1863707383}
--- !u!1 &998256472
GameObject:
m_ObjectHideFlags: 0
@@ -379,6 +468,7 @@ MonoBehaviour:
- {fileID: 11400000, guid: 0d9d5ce547064a648b466ad7f208cf3d, type: 2}
_brainsToControl:
- {fileID: 0}
- {fileID: 11400000, guid: 0d9d5ce547064a648b466ad7f208cf3d, type: 2}
maxSteps: 0
trainingConfiguration:
width: 84
@@ -387,8 +477,8 @@ MonoBehaviour:
timeScale: 10
targetFrameRate: -1
inferenceConfiguration:
width: 1280
height: 720
width: 84
height: 84
qualityLevel: 5
timeScale: 1
targetFrameRate: 60
@@ -406,8 +496,191 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1159195260
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1159195261}
- component: {fileID: 1159195264}
- component: {fileID: 1159195263}
- component: {fileID: 1159195262}
m_Layer: 0
m_Name: DistanceMeasurement
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1159195261
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1159195260}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0.217, z: -0.1}
m_LocalScale: {x: 1, y: 1, z: 0.0001}
m_Children: []
m_Father: {fileID: 99578049}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!65 &1159195262
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1159195260}
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 &1159195263
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1159195260}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
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_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
--- !u!33 &1159195264
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1159195260}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &1863707380
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1863707381}
- component: {fileID: 1863707384}
- component: {fileID: 1863707383}
- component: {fileID: 1863707382}
m_Layer: 0
m_Name: TextureDisplay
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1863707381
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1863707380}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1.5, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 99578049}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!64 &1863707382
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1863707380}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 3
m_Convex: 0
m_CookingOptions: 14
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &1863707383
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1863707380}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
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_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
--- !u!33 &1863707384
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1863707380}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1001 &7570006596986120122
PrefabInstance:
m_ObjectHideFlags: 0
@@ -420,6 +693,11 @@ PrefabInstance:
propertyPath: m_Name
value: Cozmo
objectReference: {fileID: 0}
- target: {fileID: 7570006595835424292, guid: 0f97dac5215d69a4795763340d82925d,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7570006595835424293, guid: 0f97dac5215d69a4795763340d82925d,
type: 3}
propertyPath: m_LocalPosition.x
@@ -433,7 +711,7 @@ PrefabInstance:
- target: {fileID: 7570006595835424293, guid: 0f97dac5215d69a4795763340d82925d,
type: 3}
propertyPath: m_LocalPosition.z
value: -0.564
value: -0.5457
objectReference: {fileID: 0}
- target: {fileID: 7570006595835424293, guid: 0f97dac5215d69a4795763340d82925d,
type: 3}
@@ -458,7 +736,7 @@ PrefabInstance:
- target: {fileID: 7570006595835424293, guid: 0f97dac5215d69a4795763340d82925d,
type: 3}
propertyPath: m_RootOrder
value: 0
value: 3
objectReference: {fileID: 0}
- target: {fileID: 7570006595835424293, guid: 0f97dac5215d69a4795763340d82925d,
type: 3}
@@ -475,6 +753,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1857425275647696726, guid: 0f97dac5215d69a4795763340d82925d,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 0f97dac5215d69a4795763340d82925d, type: 3}
--- !u!1 &7570006596986120123 stripped
@@ -503,13 +786,16 @@ MonoBehaviour:
m_EditorClassIdentifier:
brain: {fileID: 11400000, guid: 0d9d5ce547064a648b466ad7f208cf3d, type: 2}
agentParameters:
agentCameras:
- {fileID: 589453882}
agentRenderTextures: []
maxStep: 0
agentCameras: []
agentRenderTextures:
- {fileID: 8400000, guid: 196f45b12806aaa449adc2ee1ca3b091, type: 2}
maxStep: 1000
resetOnDone: 1
onDemandDecision: 0
onDemandDecision: 1
numberOfActionsBetweenDecisions: 1
renderCamera: {fileID: 891713640}
academy: {fileID: 998256473}
timeBetweenDecisionsAtInference: 0.15
--- !u!65 &7570006596986120126
BoxCollider:
m_ObjectHideFlags: 0
@@ -566,3 +852,4 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
testState: 1
isTesting: 0

+ 8
- 0
Assets/Scripts/CannyEdgeDetection.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: dc9f178cf7c14df4ab61b1f7dcbc58d5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

+ 178
- 0
Assets/Scripts/CannyEdgeDetection/CannyTest.cs View File

@@ -0,0 +1,178 @@
//using UnityEngine;
//using OpenCvSharp;
//using System.Threading.Tasks;


//public class CannyTest : MonoBehaviour
//{

// // Video parameters
// public MeshRenderer CameraRenderer;
// public MeshRenderer ProcessedImageRenderer;
// public Camera textureCamera;

// // Video size
// private const int imWidth = 1280; //TODO: Set width and height based on agent observation size
// private const int imHeight = 720;
// private int imFrameRate;

// // OpenCVSharp parameters
// private Mat videoSourceImage;
// private Mat cannyImage;
// private Texture2D processedTexture;
// private Vec3b[] videoSourceImageData;
// private byte[] cannyImageData;

// // Frame rate parameter
// private int updateFrameCount = 0;
// private int textureCount = 0;
// private int displayCount = 0;

// void Start()
// {
// // assign the camera texture to the meshrenderer
// CameraRenderer.material.mainTexture = textureCamera.targetTexture;

// // initialize video / image with given size
// videoSourceImage = new Mat(imHeight, imWidth, MatType.CV_8UC3);
// videoSourceImageData = new Vec3b[imHeight * imWidth];
// cannyImage = new Mat(imHeight, imWidth, MatType.CV_8UC1);
// cannyImageData = new byte[imHeight * imWidth];

// // create processed video texture as Texture2D object
// processedTexture = new Texture2D(imWidth, imHeight, TextureFormat.RGBA32, true, true);

// // assign the processedTexture to the meshrenderer for display
// ProcessedImageRenderer.material.mainTexture = processedTexture;
// }



// void Update()
// {

// updateFrameCount++;



// if (textureCamera.targetTexture.didUpdateThisFrame)
// {

// textureCount++;

// // convert texture of original video to OpenCVSharp Mat object
// TextureToMat();
// // update the opencv window of source video
// UpdateWindow(videoSourceImage);
// // create the canny edge image out of source image
// ProcessImage(videoSourceImage);
// // convert the OpenCVSharp Mat of canny image to Texture2D
// // the texture will be displayed automatically
// MatToTexture();

// }

// }
// else
// {
// Debug.Log("Can't find camera!");
// }


// // output frame rate information
// if (updateFrameCount % 30 == 0)
// {
// Debug.Log("Frame count: " + updateFrameCount + ", Texture count: " + textureCount + ", Display count: " + displayCount);
// }


// }


// // Convert Unity Texture2D object to OpenCVSharp Mat object
// void TextureToMat()
//{
// // Color32 array : r, g, b, a
// Color32[] c = _webcamTexture.GetPixels32();

// // Parallel for loop
// // convert Color32 object to Vec3b object
// // Vec3b is the representation of pixel for Mat
// Parallel.For(0, imHeight, i =>
// {
// for (var j = 0; j < imWidth; j++)
// {
// var col = c[j + i * imWidth];
// var vec3 = new Vec3b
// {
// Item0 = col.b,
// Item1 = col.g,
// Item2 = col.r
// };
// // set pixel to an array
// videoSourceImageData[j + i * imWidth] = vec3;
// }
// });
// // assign the Vec3b array to Mat
// videoSourceImage.SetArray(0, 0, videoSourceImageData);
//}



//// Convert OpenCVSharp Mat object to Unity Texture2D object
//void MatToTexture()
//{
// // cannyImageData is byte array, because canny image is grayscale
// cannyImage.GetArray(0, 0, cannyImageData);
// // create Color32 array that can be assigned to Texture2D directly
// Color32[] c = new Color32[imHeight * imWidth];

// // parallel for loop
// Parallel.For(0, imHeight, i =>
// {
// for (var j = 0; j < imWidth; j++)
// {
// byte vec = cannyImageData[j + i * imWidth];
// var color32 = new Color32
// {
// r = vec,
// g = vec,
// b = vec,
// a = 0
// };
// c[j + i * imWidth] = color32;
// }
// });

// processedTexture.SetPixels32(c);
// // to update the texture, OpenGL manner
// processedTexture.Apply();
//}



//// Simple example of canny edge detect
//void ProcessImage(Mat _image)
//{
// Cv2.Flip(_image, _image, FlipMode.X);
// Cv2.Canny(_image, cannyImage, 100, 100);
//}


//// Display the original video in a opencv window
//void UpdateWindow(Mat _image)
//{
// Cv2.Flip(_image, _image, FlipMode.X);
// Cv2.ImShow("Copy video", _image);
// displayCount++;
//}

//// close the opencv window
//public void OnDestroy()
//{
// Cv2.DestroyAllWindows();

//}


//}

+ 11
- 0
Assets/Scripts/CannyEdgeDetection/CannyTest.cs.meta View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4d6afecccc2c5aa42a5c437ddf20a25c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

+ 127
- 0
Assets/Scripts/CannyEdgeDetection/OnRenderImageTest.cs View File

@@ -0,0 +1,127 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using OpenCvSharp;
using System.Threading.Tasks;

public class OnRenderImageTest : MonoBehaviour
{
public MeshRenderer processedImageRenderer;

// OpenCVSharp parameters
private Mat videoSourceImage;
private Mat cannyImage;
private Texture2D processedTexture;
private Vec3b[] videoSourceImageData;
private byte[] cannyImageData;


private const int imWidth = 320; //TODO: Set width and height based on agent observation size
private const int imHeight = 240;

private Camera textureCamera;

private void Start()
{
textureCamera = GetComponent<Camera>();

//assign the processed targetTexture to the renderer to display the image
processedImageRenderer.material.mainTexture = textureCamera.targetTexture;

// initialize video / image with given size
videoSourceImage = new Mat(imHeight, imWidth, MatType.CV_8UC3);
videoSourceImageData = new Vec3b[imHeight * imWidth];
cannyImage = new Mat(imHeight, imWidth, MatType.CV_8UC1);
cannyImageData = new byte[imHeight * imWidth];
}


private void OnRenderImage(RenderTexture source, RenderTexture destination)
{
Texture2D tex = RenderTextureToTexture2D(source);
videoSourceImage = TextureToMat(tex);
cannyImage = ProcessImage(videoSourceImage);
processedTexture = MatToTexture(cannyImage);
Graphics.Blit(processedTexture, destination);
}

private Texture2D RenderTextureToTexture2D(RenderTexture rTex)
{
Texture2D tex = new Texture2D(imWidth, imHeight, TextureFormat.RGBA32, true, true);
RenderTexture.active = rTex;
tex.ReadPixels(new UnityEngine.Rect(0, 0, rTex.width, rTex.height), 0, 0);
tex.Apply();
return tex;
}

// Convert Unity Texture2D object to OpenCVSharp Mat object
private Mat TextureToMat(Texture2D source)
{
// Color32 array : r, g, b, a
Color32[] c = source.GetPixels32();

// Parallel for loop
// convert Color32 object to Vec3b object
// Vec3b is the representation of pixel for Mat
Parallel.For(0, imHeight, i =>
{
for (var j = 0; j < imWidth; j++)
{
var col = c[j + i * imWidth];
var vec3 = new Vec3b
{
Item0 = col.b,
Item1 = col.g,
Item2 = col.r
};
// set pixel to an array
videoSourceImageData[j + i * imWidth] = vec3;
}
});

// assign the Vec3b array to Mat
Mat tmpMat = new Mat(imHeight, imWidth, MatType.CV_8UC3);
tmpMat.SetArray(0, 0, videoSourceImageData);
return tmpMat;
}

// Simple example of canny edge detect
private Mat ProcessImage(Mat _image)
{
Mat cannyImg = new Mat();
Cv2.Canny(_image, cannyImg, 100, 100);
return cannyImg;
}

// Convert OpenCVSharp Mat object to Unity Texture2D object
private Texture2D MatToTexture(Mat mat)
{
// cannyImageData is byte array, because canny image is grayscale
mat.GetArray(0, 0, cannyImageData);
// create Color32 array that can be assigned to Texture2D directly
Color32[] c = new Color32[imHeight * imWidth];

// parallel for loop
Parallel.For(0, imHeight, i =>
{
for (var j = 0; j < imWidth; j++)
{
byte vec = cannyImageData[j + i * imWidth];
var color32 = new Color32
{
r = vec,
g = vec,
b = vec,
a = 0
};
c[j + i * imWidth] = color32;
}
});

Texture2D texture = new Texture2D(imWidth, imHeight, TextureFormat.RGBA32, true, true);
texture.SetPixels32(c);
// to update the texture, OpenGL manner
texture.Apply();
return texture;
}
}

+ 11
- 0
Assets/Scripts/CannyEdgeDetection/OnRenderImageTest.cs.meta View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b940f59f459dc49479614595d02dcbbc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

+ 35
- 0
Assets/Scripts/ML Cozmo/CozmoAgent.cs View File

@@ -6,4 +6,39 @@ using UnityEngine;
public class CozmoAgent : Agent
{

public Camera renderCamera;
public Academy academy;
public float timeBetweenDecisionsAtInference;
private float timeSinceDecision;

public void FixedUpdate()
{
WaitTimeInference();
}

private void WaitTimeInference()
{
if (renderCamera != null)
{
renderCamera.Render();
}

if (!academy.GetIsInference())
{
RequestDecision();
}
else
{
if (timeSinceDecision >= timeBetweenDecisionsAtInference)
{
timeSinceDecision = 0f;
RequestDecision();
}
else
{
timeSinceDecision += Time.fixedDeltaTime;
}
}
}

}

+ 15
- 6
Assets/Scripts/Movemnet/CozmoMovementTester.cs View File

@@ -22,6 +22,10 @@ public class CozmoMovementTester : MonoBehaviour
[Tooltip("Choose which speed of the virtual cozmo should be tested.")]
public TestStates testState = TestStates.MovementSpeed;

[Tooltip("Start and stop testing")]
public bool isTesting = false;


void Start()
{
movement = GetComponent<CozmoMovement>();
@@ -35,13 +39,16 @@ public class CozmoMovementTester : MonoBehaviour

private void FixedUpdate()
{
if (testState == TestStates.MovementSpeed)
{
TestMovementSpeed();
}
else if (testState == TestStates.RotationSpeed)
if (isTesting)
{
TestRotationSpeed();
if (testState == TestStates.MovementSpeed)
{
TestMovementSpeed();
}
else if (testState == TestStates.RotationSpeed)
{
TestRotationSpeed();
}
}
}

@@ -60,6 +67,7 @@ public class CozmoMovementTester : MonoBehaviour
"\nElapsed time in milliseconds (Rotation): " + rotationWatch.ElapsedMilliseconds);
}

isTesting = false;
return;
}
else
@@ -87,6 +95,7 @@ public class CozmoMovementTester : MonoBehaviour
"/nElapsed time in milliseconds (Movement): " + movementWatch.ElapsedMilliseconds);
}

isTesting = false;
return;
}
else

+ 8
- 0
Assets/Textures.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1da60215cacd462438eae4718c228f73
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

+ 8
- 0
Assets/Textures/Measurement.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 09e41ca9f5a54064f8def1c95e27fd08
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

+ 8
- 0
Assets/Textures/Measurement/Materials.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fe96f34bf245cba42abda9c0a289dbaa
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

+ 77
- 0
Assets/Textures/Measurement/Materials/Schachbrett_10cm.mat View File

@@ -0,0 +1,77 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Schachbrett_10cm
m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: cc90c9868898fb4499e99837f404fcdc, type: 3}
m_Scale: {x: 10, y: 10}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

+ 8
- 0
Assets/Textures/Measurement/Materials/Schachbrett_10cm.mat.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 645644d2cbab7d24bb1a6a693e8e6082
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Textures/Measurement/Schachbrett_10cm.png View File


+ 99
- 0
Assets/Textures/Measurement/Schachbrett_10cm.png.meta View File

@@ -0,0 +1,99 @@
fileFormatVersion: 2
guid: cc90c9868898fb4499e99837f404fcdc
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 9
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: 16
mipBias: -100
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

+ 8
- 0
Assets/Textures/RenderTextures.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6760c1e7d4ebde3478dc8ab260ea9f04
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

+ 34
- 0
Assets/Textures/RenderTextures/CozmoCannyTexture.renderTexture View File

@@ -0,0 +1,34 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!84 &8400000
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: CozmoCannyTexture
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_Width: 320
m_Height: 240
m_AntiAliasing: 1
m_DepthFormat: 2
m_ColorFormat: 0
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 0
m_UseDynamicScale: 0
m_BindMS: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 0
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1

+ 8
- 0
Assets/Textures/RenderTextures/CozmoCannyTexture.renderTexture.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 196f45b12806aaa449adc2ee1ca3b091
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 8400000
userData:
assetBundleName:
assetBundleVariant:

+ 34
- 0
Assets/Textures/RenderTextures/TestVisualBanana.renderTexture View File

@@ -0,0 +1,34 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!84 &8400000
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TestVisualBanana
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_Width: 256
m_Height: 256
m_AntiAliasing: 1
m_DepthFormat: 2
m_ColorFormat: 0
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 0
m_UseDynamicScale: 0
m_BindMS: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 0
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1

+ 8
- 0
Assets/Textures/RenderTextures/TestVisualBanana.renderTexture.meta View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7cf95f69a56a16641b7419b518ba13ff
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 8400000
userData:
assetBundleName:
assetBundleVariant:

+ 161
- 91
Assets/UnitySDK/Assets/ML-Agents/Examples/BananaCollectors/Scenes/VisualBanana.unity View File

@@ -13,7 +13,7 @@ OcclusionCullingSettings:
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 8
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
@@ -39,6 +39,7 @@ RenderSettings:
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
@@ -49,16 +50,14 @@ LightmapSettings:
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_TemporalCoherenceThreshold: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 9
serializedVersion: 10
m_Resolution: 2
m_BakeResolution: 40
m_TextureWidth: 1024
m_TextureHeight: 1024
m_AtlasSize: 1024
m_AO: 1
m_AOMaxDistance: 1
m_CompAOExponent: 1
@@ -117,9 +116,10 @@ NavMeshSettings:
--- !u!1 &273651478
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 273651479}
- component: {fileID: 273651481}
@@ -134,8 +134,9 @@ GameObject:
--- !u!224 &273651479
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 273651478}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -152,8 +153,9 @@ RectTransform:
--- !u!114 &273651480
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 273651478}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -185,15 +187,18 @@ MonoBehaviour:
--- !u!222 &273651481
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 273651478}
m_CullTransparentMesh: 0
--- !u!1 &378228137
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 378228141}
- component: {fileID: 378228140}
@@ -209,8 +214,9 @@ GameObject:
--- !u!114 &378228138
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 378228137}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -225,8 +231,9 @@ MonoBehaviour:
--- !u!114 &378228139
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 378228137}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -246,8 +253,9 @@ MonoBehaviour:
--- !u!223 &378228140
Canvas:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 378228137}
m_Enabled: 1
serializedVersion: 3
@@ -266,8 +274,9 @@ Canvas:
--- !u!224 &378228141
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 378228137}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -286,9 +295,10 @@ RectTransform:
--- !u!1 &762086410
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 762086412}
- component: {fileID: 762086411}
@@ -302,8 +312,9 @@ GameObject:
--- !u!108 &762086411
Light:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 762086410}
m_Enabled: 1
serializedVersion: 8
@@ -329,6 +340,7 @@ Light:
serializedVersion: 2
m_Bits: 4294967295
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
@@ -338,8 +350,9 @@ Light:
--- !u!4 &762086412
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 762086410}
m_LocalRotation: {x: 0.35355338, y: -0.35355338, z: 0.1464466, w: 0.8535535}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -349,53 +362,85 @@ Transform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 45, y: -45, z: 0}
--- !u!1001 &977847932
Prefab:
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_RootOrder
value: 4
objectReference: {fileID: 0}
- target: {fileID: 1086276695002122, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1687808258528990, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1310185974645282, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114813974235827884, guid: 79d09bf6cbfa64f55a572755f594652f,
type: 3}
propertyPath: agentParameters.agentCameras.Array.size
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114813974235827884, guid: 79d09bf6cbfa64f55a572755f594652f,
type: 3}
propertyPath: agentParameters.agentRenderTextures.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114813974235827884, guid: 79d09bf6cbfa64f55a572755f594652f,
type: 3}
propertyPath: agentParameters.agentRenderTextures.Array.data[0]
value:
objectReference: {fileID: 8400000, guid: 7cf95f69a56a16641b7419b518ba13ff, type: 2}
- target: {fileID: 20704335789641980, guid: 79d09bf6cbfa64f55a572755f594652f,
type: 3}
propertyPath: m_TargetTexture
value:
objectReference: {fileID: 8400000, guid: 7cf95f69a56a16641b7419b518ba13ff, type: 2}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
m_IsPrefabParent: 0
m_SourcePrefab: {fileID: 100100000, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
--- !u!1 &1009000883
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1009000884}
- component: {fileID: 1009000887}
@@ -409,8 +454,9 @@ GameObject:
--- !u!4 &1009000884
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1009000883}
m_LocalRotation: {x: 0.2588191, y: 0, z: 0, w: 0.9659258}
m_LocalPosition: {x: 0, y: 75, z: -140}
@@ -422,13 +468,19 @@ Transform:
--- !u!20 &1009000887
Camera:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1009000883}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0.39609292, g: 0.49962592, b: 0.6509434, a: 0}
m_projectionMatrixMode: 1
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_GateFitMode: 2
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
@@ -458,9 +510,10 @@ Camera:
--- !u!1 &1086444495
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1086444498}
- component: {fileID: 1086444497}
@@ -475,8 +528,9 @@ GameObject:
--- !u!114 &1086444496
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1086444495}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -508,14 +562,17 @@ MonoBehaviour:
--- !u!222 &1086444497
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1086444495}
m_CullTransparentMesh: 0
--- !u!224 &1086444498
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1086444495}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -530,57 +587,61 @@ RectTransform:
m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1001 &1429151548
Prefab:
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 1575621625717122, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_Name
value: VisualRLArea (1)
objectReference: {fileID: 0}
- target: {fileID: 1575621625717122, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalPosition.x
value: 150
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
- target: {fileID: 4124995608184224, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
propertyPath: m_RootOrder
value: 5
objectReference: {fileID: 0}
- target: {fileID: 1575621625717122, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
propertyPath: m_Name
value: VisualRLArea (1)
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 79d09bf6cbfa64f55a572755f594652f, type: 2}
m_IsPrefabParent: 0
m_SourcePrefab: {fileID: 100100000, guid: 79d09bf6cbfa64f55a572755f594652f, type: 3}
--- !u!1 &1574236047
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1574236049}
- component: {fileID: 1574236048}
@@ -594,8 +655,9 @@ GameObject:
--- !u!114 &1574236048
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1574236047}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -605,7 +667,8 @@ MonoBehaviour:
broadcastHub:
broadcastingBrains:
- {fileID: 11400000, guid: 24e823594179d48189b2c78003c50ce0, type: 2}
_brainsToControl: []
_brainsToControl:
- {fileID: 11400000, guid: 24e823594179d48189b2c78003c50ce0, type: 2}
maxSteps: 1500
trainingConfiguration:
width: 500
@@ -628,8 +691,9 @@ MonoBehaviour:
--- !u!4 &1574236049
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1574236047}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.71938086, y: 0.27357092, z: 4.1970553}
@@ -641,9 +705,10 @@ Transform:
--- !u!1 &1799584680
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1799584681}
- component: {fileID: 1799584683}
@@ -658,8 +723,9 @@ GameObject:
--- !u!224 &1799584681
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1799584680}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -677,8 +743,9 @@ RectTransform:
--- !u!114 &1799584682
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1799584680}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -701,9 +768,12 @@ MonoBehaviour:
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!222 &1799584683
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1799584680}
m_CullTransparentMesh: 0

+ 265
- 180
Assets/UnitySDK/Assets/ML-Agents/Examples/GridWorld/Scenes/GridWorld.unity View File

@@ -13,7 +13,7 @@ OcclusionCullingSettings:
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 8
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
@@ -38,7 +38,8 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.43668893, g: 0.4842832, b: 0.56452656, a: 1}
m_IndirectSpecularColor: {r: 0.4366757, g: 0.48427194, b: 0.5645252, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
@@ -49,16 +50,14 @@ LightmapSettings:
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_TemporalCoherenceThreshold: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 9
serializedVersion: 10
m_Resolution: 2
m_BakeResolution: 40
m_TextureWidth: 1024
m_TextureHeight: 1024
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
@@ -116,9 +115,10 @@ NavMeshSettings:
--- !u!1 &2047662
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2047664}
- component: {fileID: 2047663}
@@ -132,8 +132,9 @@ GameObject:
--- !u!114 &2047663
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2047662}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -143,7 +144,8 @@ MonoBehaviour:
broadcastHub:
broadcastingBrains:
- {fileID: 11400000, guid: 2c1d51b7167874f31beda0b0cf0af468, type: 2}
_brainsToControl: []
_brainsToControl:
- {fileID: 11400000, guid: 2c1d51b7167874f31beda0b0cf0af468, type: 2}
maxSteps: 0
trainingConfiguration:
width: 84
@@ -170,14 +172,15 @@ MonoBehaviour:
trueAgent: {fileID: 858783320}
gridSize: 0
camObject: {fileID: 99095112}
agentPref: {fileID: 1657514749044530, guid: 628960e910f094ad1909ecc88cc8016d, type: 2}
goalPref: {fileID: 1508142483324970, guid: 1ec4e4e96e7514d45b7ebc3ba5a9a481, type: 2}
pitPref: {fileID: 1811317785436014, guid: d13ee2db77b3a4dcc8664d2fe2a0f219, type: 2}
agentPref: {fileID: 1657514749044530, guid: 628960e910f094ad1909ecc88cc8016d, type: 3}
goalPref: {fileID: 1508142483324970, guid: 1ec4e4e96e7514d45b7ebc3ba5a9a481, type: 3}
pitPref: {fileID: 1811317785436014, guid: d13ee2db77b3a4dcc8664d2fe2a0f219, type: 3}
--- !u!4 &2047664
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2047662}
m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 9.52, z: 0}
@@ -189,9 +192,10 @@ Transform:
--- !u!1 &87755817
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 87755819}
- component: {fileID: 87755818}
@@ -205,8 +209,9 @@ GameObject:
--- !u!108 &87755818
Light:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 87755817}
m_Enabled: 1
serializedVersion: 8
@@ -232,6 +237,7 @@ Light:
serializedVersion: 2
m_Bits: 4294967295
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
@@ -241,8 +247,9 @@ Light:
--- !u!4 &87755819
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 87755817}
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 9.52, z: 0}
@@ -254,9 +261,10 @@ Transform:
--- !u!1 &99095112
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 99095116}
- component: {fileID: 99095115}
@@ -272,27 +280,35 @@ GameObject:
--- !u!124 &99095113
Behaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 99095112}
m_Enabled: 1
--- !u!92 &99095114
Behaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 99095112}
m_Enabled: 1
--- !u!20 &99095115
Camera:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 99095112}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0.39609292, g: 0.49962592, b: 0.6509434, a: 0}
m_projectionMatrixMode: 1
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_GateFitMode: 2
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
@@ -322,8 +338,9 @@ Camera:
--- !u!4 &99095116
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 99095112}
m_LocalRotation: {x: 0.35355338, y: 0.35355338, z: -0.1464466, w: 0.8535535}
m_LocalPosition: {x: -5, y: 8.2, z: -5}
@@ -335,9 +352,10 @@ Transform:
--- !u!1 &363761396
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 363761400}
- component: {fileID: 363761399}
@@ -353,8 +371,9 @@ GameObject:
--- !u!114 &363761397
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 363761396}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -369,8 +388,9 @@ MonoBehaviour:
--- !u!114 &363761398
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 363761396}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -390,8 +410,9 @@ MonoBehaviour:
--- !u!223 &363761399
Canvas:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 363761396}
m_Enabled: 1
serializedVersion: 3
@@ -410,8 +431,9 @@ Canvas:
--- !u!224 &363761400
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 363761396}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -431,9 +453,10 @@ RectTransform:
--- !u!1 &486401523
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 486401524}
m_Layer: 0
@@ -446,8 +469,9 @@ GameObject:
--- !u!4 &486401524
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 486401523}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -464,9 +488,10 @@ Transform:
--- !u!1 &489340223
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 489340224}
- component: {fileID: 489340228}
@@ -480,8 +505,9 @@ GameObject:
--- !u!4 &489340224
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 489340223}
m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 5, z: 0}
@@ -493,13 +519,19 @@ Transform:
--- !u!20 &489340228
Camera:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 489340223}
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_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_GateFitMode: 2
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
@@ -529,9 +561,10 @@ Camera:
--- !u!1 &742849316
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 742849319}
- component: {fileID: 742849318}
@@ -546,8 +579,9 @@ GameObject:
--- !u!114 &742849317
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 742849316}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -564,8 +598,9 @@ MonoBehaviour:
--- !u!114 &742849318
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 742849316}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -578,8 +613,9 @@ MonoBehaviour:
--- !u!4 &742849319
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 742849316}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -590,15 +626,17 @@ Transform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &858783320 stripped
GameObject:
m_PrefabParentObject: {fileID: 1657514749044530, guid: 628960e910f094ad1909ecc88cc8016d,
type: 2}
m_PrefabInternal: {fileID: 1477921759}
m_CorrespondingSourceObject: {fileID: 1657514749044530, guid: 628960e910f094ad1909ecc88cc8016d,
type: 3}
m_PrefabInstance: {fileID: 1477921759}
m_PrefabAsset: {fileID: 0}
--- !u!1 &918893358
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 918893359}
- component: {fileID: 918893361}
@@ -613,8 +651,9 @@ GameObject:
--- !u!224 &918893359
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 918893358}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -631,8 +670,9 @@ RectTransform:
--- !u!114 &918893360
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 918893358}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -666,15 +706,18 @@ MonoBehaviour:
--- !u!222 &918893361
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 918893358}
m_CullTransparentMesh: 0
--- !u!1 &959566328
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 959566332}
- component: {fileID: 959566331}
@@ -690,8 +733,9 @@ GameObject:
--- !u!23 &959566329
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 959566328}
m_Enabled: 1
m_CastShadows: 0
@@ -700,6 +744,8 @@ MeshRenderer:
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 214660f4189b04cada2137381f5c3607, type: 2}
m_StaticBatchInfo:
@@ -724,8 +770,9 @@ MeshRenderer:
--- !u!65 &959566330
BoxCollider:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 959566328}
m_Material: {fileID: 0}
m_IsTrigger: 0
@@ -736,15 +783,17 @@ BoxCollider:
--- !u!33 &959566331
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 959566328}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &959566332
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 959566328}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -1, y: 0, z: 0}
@@ -756,9 +805,10 @@ Transform:
--- !u!1 &1045409640
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1045409644}
- component: {fileID: 1045409643}
@@ -774,8 +824,9 @@ GameObject:
--- !u!23 &1045409641
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1045409640}
m_Enabled: 1
m_CastShadows: 0
@@ -784,6 +835,8 @@ MeshRenderer:
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 214660f4189b04cada2137381f5c3607, type: 2}
m_StaticBatchInfo:
@@ -808,8 +861,9 @@ MeshRenderer:
--- !u!65 &1045409642
BoxCollider:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1045409640}
m_Material: {fileID: 0}
m_IsTrigger: 0
@@ -820,15 +874,17 @@ BoxCollider:
--- !u!33 &1045409643
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1045409640}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &1045409644
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1045409640}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 1, y: 0, z: 0}
@@ -840,9 +896,10 @@ Transform:
--- !u!1 &1208586857
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1208586861}
- component: {fileID: 1208586860}
@@ -858,8 +915,9 @@ GameObject:
--- !u!23 &1208586858
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1208586857}
m_Enabled: 1
m_CastShadows: 0
@@ -868,6 +926,8 @@ MeshRenderer:
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 8d8e8962a89d44eb28cf1b21b88014ec, type: 2}
m_StaticBatchInfo:
@@ -892,8 +952,9 @@ MeshRenderer:
--- !u!64 &1208586859
MeshCollider:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1208586857}
m_Material: {fileID: 0}
m_IsTrigger: 0
@@ -901,20 +962,21 @@ MeshCollider:
serializedVersion: 3
m_Convex: 0
m_CookingOptions: 14
m_SkinWidth: 0.01
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &1208586860
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1208586857}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &1208586861
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1208586857}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -0.5, z: 0}
@@ -926,9 +988,10 @@ Transform:
--- !u!1 &1305247359
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1305247360}
- component: {fileID: 1305247362}
@@ -943,8 +1006,9 @@ GameObject:
--- !u!224 &1305247360
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1305247359}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -961,8 +1025,9 @@ RectTransform:
--- !u!114 &1305247361
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1305247359}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -987,81 +1052,83 @@ MonoBehaviour:
--- !u!222 &1305247362
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1305247359}
m_CullTransparentMesh: 0
--- !u!1001 &1477921759
Prefab:
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1657514749044530, guid: 628960e910f094ad1909ecc88cc8016d, type: 3}
propertyPath: m_Name
value: trueAgent
objectReference: {fileID: 0}
- target: {fileID: 114143683117020968, guid: 628960e910f094ad1909ecc88cc8016d,
type: 2}
type: 3}
propertyPath: agentParameters.agentCameras.Array.size
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114143683117020968, guid: 628960e910f094ad1909ecc88cc8016d,
type: 2}
type: 3}
propertyPath: agentParameters.agentRenderTextures.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 2}
- target: {fileID: 114143683117020968, guid: 628960e910f094ad1909ecc88cc8016d,
type: 3}
propertyPath: agentParameters.agentRenderTextures.Array.data[0]
value:
objectReference: {fileID: 8400000, guid: 114608d5384404f89bff4b6f88432958, type: 2}
- target: {fileID: 114143683117020968, guid: 628960e910f094ad1909ecc88cc8016d,
type: 3}
propertyPath: renderCamera
value:
objectReference: {fileID: 489340228}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 2}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 2}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 2}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 2}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 2}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 2}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 2}
- target: {fileID: 4587181662868872, guid: 628960e910f094ad1909ecc88cc8016d, type: 3}
propertyPath: m_RootOrder
value: 7
objectReference: {fileID: 0}
- target: {fileID: 1657514749044530, guid: 628960e910f094ad1909ecc88cc8016d, type: 2}
propertyPath: m_Name
value: trueAgent
objectReference: {fileID: 0}
- target: {fileID: 114143683117020968, guid: 628960e910f094ad1909ecc88cc8016d,
type: 2}
propertyPath: agentParameters.agentRenderTextures.Array.data[0]
value:
objectReference: {fileID: 8400000, guid: 114608d5384404f89bff4b6f88432958, type: 2}
- target: {fileID: 114143683117020968, guid: 628960e910f094ad1909ecc88cc8016d,
type: 2}
propertyPath: renderCamera
value:
objectReference: {fileID: 489340228}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 628960e910f094ad1909ecc88cc8016d, type: 2}
m_IsPrefabParent: 0
m_SourcePrefab: {fileID: 100100000, guid: 628960e910f094ad1909ecc88cc8016d, type: 3}
--- !u!1 &1553342942
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1553342943}
- component: {fileID: 1553342945}
@@ -1076,8 +1143,9 @@ GameObject:
--- !u!224 &1553342943
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1553342942}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -1094,8 +1162,9 @@ RectTransform:
--- !u!114 &1553342944
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1553342942}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -1127,15 +1196,18 @@ MonoBehaviour:
--- !u!222 &1553342945
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1553342942}
m_CullTransparentMesh: 0
--- !u!1 &1726089810
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1726089814}
- component: {fileID: 1726089813}
@@ -1151,8 +1223,9 @@ GameObject:
--- !u!23 &1726089811
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1726089810}
m_Enabled: 1
m_CastShadows: 0
@@ -1161,6 +1234,8 @@ MeshRenderer:
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 214660f4189b04cada2137381f5c3607, type: 2}
m_StaticBatchInfo:
@@ -1185,8 +1260,9 @@ MeshRenderer:
--- !u!65 &1726089812
BoxCollider:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1726089810}
m_Material: {fileID: 0}
m_IsTrigger: 0
@@ -1197,15 +1273,17 @@ BoxCollider:
--- !u!33 &1726089813
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1726089810}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &1726089814
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1726089810}
m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: -1}
@@ -1217,9 +1295,10 @@ Transform:
--- !u!1 &1938864789
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1938864793}
- component: {fileID: 1938864792}
@@ -1235,8 +1314,9 @@ GameObject:
--- !u!23 &1938864790
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1938864789}
m_Enabled: 1
m_CastShadows: 0
@@ -1245,6 +1325,8 @@ MeshRenderer:
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 214660f4189b04cada2137381f5c3607, type: 2}
m_StaticBatchInfo:
@@ -1269,8 +1351,9 @@ MeshRenderer:
--- !u!65 &1938864791
BoxCollider:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1938864789}
m_Material: {fileID: 0}
m_IsTrigger: 0
@@ -1281,15 +1364,17 @@ BoxCollider:
--- !u!33 &1938864792
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1938864789}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &1938864793
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1938864789}
m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 1}

+ 84
- 50
Notebooks/.ipynb_checkpoints/getting-started-checkpoint.ipynb
File diff suppressed because it is too large
View File


+ 482658
- 1
Notebooks/UnitySDK.log
File diff suppressed because it is too large
View File


+ 21
- 32
Notebooks/getting-started.ipynb
File diff suppressed because it is too large
View File


+ 6
- 0
ProjectSettings/EditorBuildSettings.asset View File

@@ -8,7 +8,13 @@ EditorBuildSettings:
- enabled: 0
path:
guid: 00000000000000000000000000000000
- enabled: 0
path: Assets/UnitySDK/Assets/ML-Agents/Examples/BananaCollectors/Scenes/VisualBanana.unity
guid: dbc5c542957ef47bd8ebe87fc1000c37
- enabled: 1
path: Assets/Scenes/CozmoTraining.unity
guid: 2b0b419445af9d44b84ac124a2015b65
- enabled: 0
path: Assets/UnitySDK/Assets/ML-Agents/Examples/GridWorld/Scenes/GridWorld.unity
guid: c6fdbb551d80c435abe6fc911b1ea11f
m_configObjects: {}

+ 270
- 0
notebooks/getting-started-gym.ipynb View File

@@ -0,0 +1,270 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Unity ML-Agents Toolkit\n",
"## Gym Wrapper Basics\n",
"This notebook contains a walkthrough of the basic functions of the Python Gym Wrapper for the Unity ML-Agents toolkit. For instructions on building a Unity environment, see [here](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Getting-Started-with-Balance-Ball.md)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Single-Agent Environments\n",
"\n",
"The first five steps show how to use the `UnityEnv` wrapper with single-agent environments. See below step five for how to use with multi-agent environments."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. Load dependencies\n",
"\n",
"The following loads the necessary dependencies and checks the Python version (at runtime). ML-Agents Toolkit (v0.3 onwards) requires Python 3."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import sys\n",
"\n",
"from gym_unity.envs import UnityEnv\n",
"\n",
"%matplotlib inline\n",
"\n",
"print(\"Python version:\")\n",
"print(sys.version)\n",
"\n",
"# check Python version\n",
"if (sys.version_info[0] < 3):\n",
" raise Exception(\"ERROR: ML-Agents Toolkit (v0.3 onwards) requires Python 3\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2. Start the environment\n",
"`UnityEnv` launches and begins communication with the environment when instantiated. We will be using the `GridWorld` environment. You will need to create an `envs` directory within the `/python` subfolder of the repository, and build the GridWorld environment to that directory. For more information on building Unity environments, see [here](../docs/Learning-Environment-Executable.md)."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"env_name = \"../envs/GridWorld\" # Name of the Unity environment binary to launch\n",
"env = UnityEnv(env_name, worker_id=0, use_visual=True)\n",
"\n",
"# Examine environment parameters\n",
"print(str(env))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3. Examine the observation and state spaces\n",
"We can reset the environment to be provided with an initial observation of the environment."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Reset the environment\n",
"initial_observation = env.reset()\n",
"\n",
"if len(env.observation_space.shape) == 1:\n",
" # Examine the initial vector observation\n",
" print(\"Agent state looks like: \\n{}\".format(initial_observation))\n",
"else:\n",
" # Examine the initial visual observation\n",
" print(\"Agent observations look like:\")\n",
" if env.observation_space.shape[2] == 3:\n",
" plt.imshow(initial_observation[:,:,:])\n",
" else:\n",
" plt.imshow(initial_observation[:,:,0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4. Take random actions in the environment\n",
"Once we restart an environment, we can step the environment forward and provide actions to all of the agents within the environment. Here we simply choose random actions using the `env.action_space.sample()` function.\n",
"\n",
"Once this cell is executed, 10 messages will be printed that detail how much reward will be accumulated for the next 10 episodes. The Unity environment will then pause, waiting for further signals telling it what to do next. Thus, not seeing any animation is expected when running this cell."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"for episode in range(10):\n",
" initial_observation = env.reset()\n",
" done = False\n",
" episode_rewards = 0\n",
" while not done:\n",
" observation, reward, done, info = env.step(env.action_space.sample())\n",
" episode_rewards += reward\n",
" print(\"Total reward this episode: {}\".format(episode_rewards))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 5. Close the environment when finished\n",
"When we are finished using an environment, we can close it with the function below."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"env.close()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Multi-Agent Environments\n",
"\n",
"It is also possible to use the gym wrapper with multi-agent environments. For these environments, observations, rewards, and done flags will be provided in a list. Likewise, the environment will expect a list of actions when calling `step(action)`."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. Start the environment\n",
"\n",
"We will use the `3DBall` environment for this walkthrough. For more information on building Unity environments, see [here](../docs/Learning-Environment-Executable.md). We will launch it from the `python/envs` sub-directory of the repo. Please create an `envs` folder if one does not already exist."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Name of the Unity environment binary to launch\n",
"multi_env_name = \"../envs/3DBall\" \n",
"multi_env = UnityEnv(multi_env_name, worker_id=1, \n",
" use_visual=False, multiagent=True)\n",
"\n",
"# Examine environment parameters\n",
"print(str(multi_env))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2. Examine the observation space "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Reset the environment\n",
"initial_observations = multi_env.reset()\n",
"\n",
"if len(multi_env.observation_space.shape) == 1:\n",
" # Examine the initial vector observation\n",
" print(\"Agent observations look like: \\n{}\".format(initial_observations[0]))\n",
"else:\n",
" # Examine the initial visual observation\n",
" print(\"Agent observations look like:\")\n",
" if multi_env.observation_space.shape[2] == 3:\n",
" plt.imshow(initial_observations[0][:,:,:])\n",
" else:\n",
" plt.imshow(initial_observations[0][:,:,0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3. Take random steps in the environment"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"for episode in range(10):\n",
" initial_observation = multi_env.reset()\n",
" done = False\n",
" episode_rewards = 0\n",
" while not done:\n",
" actions = [multi_env.action_space.sample() for agent in range(multi_env.number_agents)]\n",
" observations, rewards, dones, info = multi_env.step(actions)\n",
" episode_rewards += np.mean(rewards)\n",
" done = dones[0]\n",
" print(\"Total reward this episode: {}\".format(episode_rewards))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4. Close the environment"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"multi_env.close()"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

Loading…
Cancel
Save