Ervin Teng
4 年前
当前提交
8263eb52
共有 16 个文件被更改,包括 13 次插入 和 2721 次删除
-
22Project/Assets/ML-Agents/Examples/WallJump/Scripts/WallJumpAgent.cs
-
3com.unity.ml-agents/Runtime/Agent.cs
-
1com.unity.ml-agents/Runtime/Policies/BehaviorParameters.cs
-
2config/ppo/PushBlock.yaml
-
455Project/Assets/ML-Agents/Examples/Sorter/Prefabs/NumberBlock (1).prefab
-
7Project/Assets/ML-Agents/Examples/Sorter/Prefabs/NumberBlock (1).prefab.meta
-
7Project/Assets/ML-Agents/Examples/WallJump/Prefabs/WallJumpCollabArea.prefab.meta
-
1001Project/Assets/ML-Agents/Examples/WallJump/Prefabs/WallJumpCollabArea.prefab
-
7Project/Assets/ML-Agents/Examples/WallJump/Scenes/WallJumpCollab.unity.meta
-
1001Project/Assets/ML-Agents/Examples/WallJump/Scenes/WallJumpCollab.unity
-
50Project/Assets/ML-Agents/Examples/WallJump/Scripts/WallAreaScoring.cs
-
11Project/Assets/ML-Agents/Examples/WallJump/Scripts/WallAreaScoring.cs.meta
-
11Project/Assets/ML-Agents/Examples/WallJump/Scripts/WallJumpCollabAgent.cs.meta
-
67Project/Assets/ML-Agents/Examples/WallJump/Scripts/WallJumpCollabAgent.cs
-
63config/ppo/WallJumpCollab.yaml
-
26config/ppo/HallwayCollab.yaml
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!1 &546577507818368697 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 118843807654175676} |
|||
- component: {fileID: 8563584695318192872} |
|||
- component: {fileID: 5619268322607822977} |
|||
m_Layer: 0 |
|||
m_Name: Inside |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &118843807654175676 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 546577507818368697} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 20.5} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 6014022315845787198} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0.5, y: 0.5} |
|||
m_AnchorMax: {x: 0.5, y: 0.5} |
|||
m_AnchoredPosition: {x: 0, y: 144.31} |
|||
m_SizeDelta: {x: 150, y: 300} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!222 &8563584695318192872 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 546577507818368697} |
|||
m_CullTransparentMesh: 0 |
|||
--- !u!114 &5619268322607822977 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 546577507818368697} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_FontData: |
|||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_FontSize: 300 |
|||
m_FontStyle: 0 |
|||
m_BestFit: 0 |
|||
m_MinSize: 0 |
|||
m_MaxSize: 300 |
|||
m_Alignment: 4 |
|||
m_AlignByGeometry: 0 |
|||
m_RichText: 1 |
|||
m_HorizontalOverflow: 1 |
|||
m_VerticalOverflow: 1 |
|||
m_LineSpacing: 1 |
|||
m_Text: 1 |
|||
--- !u!1 &3232561276458844099 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 8441894095225695343} |
|||
- component: {fileID: 8261630118179230375} |
|||
- component: {fileID: 2767315034027134574} |
|||
m_Layer: 0 |
|||
m_Name: Top |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &8441894095225695343 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 3232561276458844099} |
|||
m_LocalRotation: {x: 0.0000006521721, y: -0.70710677, z: -0.7071069, w: -0.0000006556511} |
|||
m_LocalPosition: {x: 0, y: 0, z: 98} |
|||
m_LocalScale: {x: -1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 6014022315845787198} |
|||
m_RootOrder: 2 |
|||
m_LocalEulerAnglesHint: {x: -89.99999, y: -180, z: 0} |
|||
m_AnchorMin: {x: 0.5, y: 0.5} |
|||
m_AnchorMax: {x: 0.5, y: 0.5} |
|||
m_AnchoredPosition: {x: -7.6, y: 355.9} |
|||
m_SizeDelta: {x: 150, y: 300} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!222 &8261630118179230375 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 3232561276458844099} |
|||
m_CullTransparentMesh: 0 |
|||
--- !u!114 &2767315034027134574 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 3232561276458844099} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_FontData: |
|||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_FontSize: 150 |
|||
m_FontStyle: 0 |
|||
m_BestFit: 0 |
|||
m_MinSize: 0 |
|||
m_MaxSize: 300 |
|||
m_Alignment: 4 |
|||
m_AlignByGeometry: 0 |
|||
m_RichText: 1 |
|||
m_HorizontalOverflow: 1 |
|||
m_VerticalOverflow: 1 |
|||
m_LineSpacing: 1 |
|||
m_Text: 1 |
|||
--- !u!1 &4519645108134274584 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 7295376462583208015} |
|||
- component: {fileID: 7564821518715560179} |
|||
- component: {fileID: 2866180017241962264} |
|||
- component: {fileID: 7952167907372864337} |
|||
m_Layer: 0 |
|||
m_Name: Cube |
|||
m_TagString: tile |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &7295376462583208015 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 4519645108134274584} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 20.5} |
|||
m_LocalScale: {x: 3.5, y: 4.2825084, z: 1.5204146} |
|||
m_Children: [] |
|||
m_Father: {fileID: 2962572070495988429} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!33 &7564821518715560179 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 4519645108134274584} |
|||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!23 &2866180017241962264 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 4519645108134274584} |
|||
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: 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_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!65 &7952167907372864337 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 4519645108134274584} |
|||
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!1 &5059684014731046340 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 2351939452975604440} |
|||
- component: {fileID: 3782977346550191705} |
|||
- component: {fileID: 6772704293846593964} |
|||
m_Layer: 0 |
|||
m_Name: Outside |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &2351939452975604440 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 5059684014731046340} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 174.1} |
|||
m_LocalScale: {x: -1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 6014022315845787198} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0.5, y: 0.5} |
|||
m_AnchorMax: {x: 0.5, y: 0.5} |
|||
m_AnchoredPosition: {x: 0, y: 144.31} |
|||
m_SizeDelta: {x: 150, y: 300} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!222 &3782977346550191705 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 5059684014731046340} |
|||
m_CullTransparentMesh: 0 |
|||
--- !u!114 &6772704293846593964 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 5059684014731046340} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_FontData: |
|||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_FontSize: 300 |
|||
m_FontStyle: 0 |
|||
m_BestFit: 0 |
|||
m_MinSize: 0 |
|||
m_MaxSize: 300 |
|||
m_Alignment: 4 |
|||
m_AlignByGeometry: 0 |
|||
m_RichText: 1 |
|||
m_HorizontalOverflow: 1 |
|||
m_VerticalOverflow: 1 |
|||
m_LineSpacing: 1 |
|||
m_Text: 1 |
|||
--- !u!1 &7111494040835078965 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 2962572070495988429} |
|||
- component: {fileID: 313239774709082370} |
|||
m_Layer: 0 |
|||
m_Name: NumberBlock (1) |
|||
m_TagString: tile |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 0 |
|||
--- !u!4 &2962572070495988429 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 7111494040835078965} |
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 1.84, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: |
|||
- {fileID: 6014022315845787198} |
|||
- {fileID: 7295376462583208015} |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &313239774709082370 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 7111494040835078965} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 03b2e6d9493cc4a92acf7f3b8b438aa4, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
NumberValue: 1 |
|||
DefaultMaterial: {fileID: 2100000, guid: eaad04b0e0dec42229c9cb00a981d7ac, type: 2} |
|||
SuccessMaterial: {fileID: 2100000, guid: c67450f290f3e4897bc40276a619e78d, type: 2} |
|||
--- !u!1 &8662076319952642504 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 6014022315845787198} |
|||
- component: {fileID: 981433789654238603} |
|||
- component: {fileID: 8398218895995737747} |
|||
m_Layer: 0 |
|||
m_Name: Canvas |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &6014022315845787198 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 8662076319952642504} |
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 19.52} |
|||
m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} |
|||
m_Children: |
|||
- {fileID: 118843807654175676} |
|||
- {fileID: 2351939452975604440} |
|||
- {fileID: 8441894095225695343} |
|||
m_Father: {fileID: 2962572070495988429} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 0, y: 0} |
|||
m_AnchoredPosition: {x: 0, y: -1.4103451} |
|||
m_SizeDelta: {x: 2.5, y: 5} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!223 &981433789654238603 |
|||
Canvas: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 8662076319952642504} |
|||
m_Enabled: 1 |
|||
serializedVersion: 3 |
|||
m_RenderMode: 2 |
|||
m_Camera: {fileID: 0} |
|||
m_PlaneDistance: 100 |
|||
m_PixelPerfect: 0 |
|||
m_ReceivesEvents: 1 |
|||
m_OverrideSorting: 0 |
|||
m_OverridePixelPerfect: 0 |
|||
m_SortingBucketNormalizedSize: 0 |
|||
m_AdditionalShaderChannelsFlag: 0 |
|||
m_SortingLayerID: 0 |
|||
m_SortingOrder: 0 |
|||
m_TargetDisplay: 0 |
|||
--- !u!114 &8398218895995737747 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 8662076319952642504} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_UiScaleMode: 0 |
|||
m_ReferencePixelsPerUnit: 100 |
|||
m_ScaleFactor: 1 |
|||
m_ReferenceResolution: {x: 800, y: 600} |
|||
m_ScreenMatchMode: 0 |
|||
m_MatchWidthOrHeight: 0 |
|||
m_PhysicalUnit: 3 |
|||
m_FallbackScreenDPI: 96 |
|||
m_DefaultSpriteDPI: 96 |
|||
m_DynamicPixelsPerUnit: 1 |
|
|||
fileFormatVersion: 2 |
|||
guid: 54fa18734adf14d5ba1c4051d4e449db |
|||
PrefabImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: ff1a5743be49d43f08378dcd76451821 |
|||
PrefabImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
Project/Assets/ML-Agents/Examples/WallJump/Prefabs/WallJumpCollabArea.prefab
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: 136090e065a8f48bfb97ea3083893d8a |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
Project/Assets/ML-Agents/Examples/WallJump/Scenes/WallJumpCollab.unity
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
|
|||
public class WallAreaScoring : MonoBehaviour |
|||
{ |
|||
public GameObject[] agents; |
|||
WallJumpSettings m_WallJumpSettings; |
|||
Renderer m_GroundRenderer; |
|||
Material m_GroundMaterial; |
|||
|
|||
protected IEnumerator GoalScoredSwapGroundMaterial(Material mat, float time) |
|||
{ |
|||
m_GroundRenderer.material = mat; |
|||
yield return new WaitForSeconds(time); //wait for 2 sec
|
|||
m_GroundRenderer.material = m_GroundMaterial; |
|||
} |
|||
|
|||
public void Start() |
|||
{ |
|||
m_WallJumpSettings = FindObjectOfType<WallJumpSettings>(); |
|||
m_GroundRenderer = GetComponent<Renderer>(); |
|||
m_GroundMaterial = m_GroundRenderer.material; |
|||
} |
|||
|
|||
public void WinCondition() |
|||
{ |
|||
foreach (var agent in agents) |
|||
{ |
|||
WallJumpCollabAgent agentScript = agent.GetComponent<WallJumpCollabAgent>(); |
|||
agentScript.SetReward(1f); |
|||
agentScript.EndEpisode(); |
|||
} |
|||
StartCoroutine( |
|||
GoalScoredSwapGroundMaterial(m_WallJumpSettings.goalScoredMaterial, 1f)); |
|||
} |
|||
|
|||
public void LoseCondition() |
|||
{ |
|||
foreach (var agent in agents) |
|||
{ |
|||
WallJumpCollabAgent agentScript = agent.GetComponent<WallJumpCollabAgent>(); |
|||
agentScript.SetReward(-1f); |
|||
agentScript.EndEpisode(); |
|||
|
|||
} |
|||
StartCoroutine( |
|||
GoalScoredSwapGroundMaterial(m_WallJumpSettings.failMaterial, .2f)); |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: ad7213222795741f5b6ca2b332f16da9 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 2cdbc0d9a64fe4b12a3ed4b81a151117 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
//Put this script on your blue cube.
|
|||
|
|||
using System.Collections; |
|||
using UnityEngine; |
|||
using Unity.MLAgents; |
|||
using Unity.Barracuda; |
|||
using Unity.MLAgents.Actuators; |
|||
using Unity.MLAgents.Sensors; |
|||
using Unity.MLAgentsExamples; |
|||
|
|||
public class WallJumpCollabAgent : WallJumpAgent |
|||
{ |
|||
Vector3 m_InitialPosition; |
|||
|
|||
WallAreaScoring m_Scoring; |
|||
public override void Initialize() |
|||
{ |
|||
m_WallJumpSettings = FindObjectOfType<WallJumpSettings>(); |
|||
m_Scoring = ground.GetComponent<WallAreaScoring>(); |
|||
m_Configuration = 5; |
|||
|
|||
m_AgentRb = GetComponent<Rigidbody>(); |
|||
// m_ShortBlockRb = shortBlock.GetComponent<Rigidbody>();
|
|||
m_SpawnAreaBounds = spawnArea.GetComponent<Collider>().bounds; |
|||
m_GroundRenderer = ground.GetComponent<Renderer>(); |
|||
m_GroundMaterial = m_GroundRenderer.material; |
|||
m_InitialPosition = transform.localPosition; |
|||
spawnArea.SetActive(false); |
|||
|
|||
m_ResetParams = Academy.Instance.EnvironmentParameters; |
|||
} |
|||
public override void OnEpisodeBegin() |
|||
{ |
|||
transform.localPosition = m_InitialPosition; |
|||
m_Configuration = 5; |
|||
m_AgentRb.velocity = default(Vector3); |
|||
} |
|||
|
|||
public override void OnActionReceived(ActionBuffers actionBuffers) |
|||
{ |
|||
MoveAgent(actionBuffers.DiscreteActions); |
|||
if (!Physics.Raycast(m_AgentRb.position, Vector3.down, 20)) |
|||
{ |
|||
m_Scoring.LoseCondition(); |
|||
} |
|||
} |
|||
|
|||
protected override void ConfigureAgent(int config) |
|||
{ |
|||
var localScale = wall.transform.localScale; |
|||
var height = m_ResetParams.GetWithDefault("big_wall_height", 9); |
|||
localScale = new Vector3( |
|||
localScale.x, |
|||
height, |
|||
localScale.z); |
|||
wall.transform.localScale = localScale; |
|||
} |
|||
|
|||
// Detect when the agent hits the goal
|
|||
protected override void OnTriggerStay(Collider col) |
|||
{ |
|||
if (col.gameObject.CompareTag("goal") && DoGroundCheck(true)) |
|||
{ |
|||
m_Scoring.WinCondition(); |
|||
} |
|||
} |
|||
} |
|
|||
behaviors: |
|||
SmallWallJump: |
|||
trainer_type: ppo |
|||
hyperparameters: |
|||
batch_size: 128 |
|||
buffer_size: 2048 |
|||
learning_rate: 0.0003 |
|||
beta: 0.005 |
|||
epsilon: 0.2 |
|||
lambd: 0.95 |
|||
num_epoch: 3 |
|||
learning_rate_schedule: linear |
|||
network_settings: |
|||
normalize: false |
|||
hidden_units: 256 |
|||
num_layers: 2 |
|||
vis_encode_type: simple |
|||
reward_signals: |
|||
extrinsic: |
|||
gamma: 0.99 |
|||
strength: 1.0 |
|||
keep_checkpoints: 5 |
|||
max_steps: 15000000 |
|||
time_horizon: 128 |
|||
summary_freq: 20000 |
|||
threaded: true |
|||
environment_parameters: |
|||
big_wall_height: |
|||
curriculum: |
|||
- name: Lesson0 |
|||
completion_criteria: |
|||
measure: progress |
|||
behavior: SmallWallJump |
|||
signal_smoothing: true |
|||
min_lesson_length: 100 |
|||
threshold: 0.1 |
|||
value: 3 |
|||
- name: Lesson1 |
|||
completion_criteria: |
|||
measure: progress |
|||
behavior: SmallWallJump |
|||
signal_smoothing: true |
|||
min_lesson_length: 100 |
|||
threshold: 0.3 |
|||
value: 5 |
|||
- name: Lesson2 |
|||
completion_criteria: |
|||
measure: progress |
|||
behavior: SmallWallJump |
|||
signal_smoothing: true |
|||
min_lesson_length: 100 |
|||
threshold: 0.5 |
|||
value: 8 |
|||
- name: Lesson3 |
|||
completion_criteria: |
|||
measure: progress |
|||
behavior: SmallWallJump |
|||
signal_smoothing: true |
|||
min_lesson_length: 100 |
|||
threshold: 0.7 |
|||
value: 9 |
|||
- name: Lesson4 |
|||
value: 9 |
|
|||
behaviors: |
|||
HallwayCollab: |
|||
trainer_type: ppo |
|||
hyperparameters: |
|||
batch_size: 128 |
|||
buffer_size: 1024 |
|||
learning_rate: 0.0003 |
|||
beta: 0.01 |
|||
epsilon: 0.2 |
|||
lambd: 0.95 |
|||
num_epoch: 3 |
|||
learning_rate_schedule: linear |
|||
network_settings: |
|||
normalize: false |
|||
hidden_units: 128 |
|||
num_layers: 2 |
|||
vis_encode_type: simple |
|||
reward_signals: |
|||
extrinsic: |
|||
gamma: 0.99 |
|||
strength: 1.0 |
|||
keep_checkpoints: 5 |
|||
max_steps: 10000000 |
|||
time_horizon: 64 |
|||
summary_freq: 10000 |
|||
threaded: true |
撰写
预览
正在加载...
取消
保存
Reference in new issue