浏览代码
Add 'old' crawler env (#4171)
Add 'old' crawler env (#4171)
* reverted old crawler * remove crawler prefab * update Crawler prefabs * put together prefabs * old and new crawler envs/develop/bisim-review
GitHub
5 年前
当前提交
8f33b60c
共有 37 个文件被更改,包括 9578 次插入 和 143 次删除
-
16Project/Assets/ML-Agents/Examples/Crawler/Prefabs/Crawler.prefab
-
65Project/Assets/ML-Agents/Examples/Crawler/Prefabs/DynamicPlatform.prefab
-
134Project/Assets/ML-Agents/Examples/Crawler/Prefabs/FixedPlatform.prefab
-
8Project/Assets/ML-Agents/Examples/OldCrawler.meta
-
8Project/Assets/ML-Agents/Examples/OldCrawler/Demos.meta
-
1001Project/Assets/ML-Agents/Examples/OldCrawler/Demos/OldExpertCrawlerDyn.demo
-
10Project/Assets/ML-Agents/Examples/OldCrawler/Demos/OldExpertCrawlerDyn.demo.meta
-
1001Project/Assets/ML-Agents/Examples/OldCrawler/Demos/OldExpertCrawlerSta.demo
-
10Project/Assets/ML-Agents/Examples/OldCrawler/Demos/OldExpertCrawlerSta.demo.meta
-
8Project/Assets/ML-Agents/Examples/OldCrawler/Meshes.meta
-
1001Project/Assets/ML-Agents/Examples/OldCrawler/Meshes/CrawlerCourt.fbx
-
105Project/Assets/ML-Agents/Examples/OldCrawler/Meshes/CrawlerCourt.fbx.meta
-
8Project/Assets/ML-Agents/Examples/OldCrawler/Prefabs.meta
-
1001Project/Assets/ML-Agents/Examples/OldCrawler/Prefabs/OldDynamicPlatform.prefab
-
7Project/Assets/ML-Agents/Examples/OldCrawler/Prefabs/OldDynamicPlatform.prefab.meta
-
1001Project/Assets/ML-Agents/Examples/OldCrawler/Prefabs/OldFixedPlatform.prefab
-
7Project/Assets/ML-Agents/Examples/OldCrawler/Prefabs/OldFixedPlatform.prefab.meta
-
8Project/Assets/ML-Agents/Examples/OldCrawler/Scenes.meta
-
1001Project/Assets/ML-Agents/Examples/OldCrawler/Scenes/OldCrawlerDynamicTarget.unity
-
7Project/Assets/ML-Agents/Examples/OldCrawler/Scenes/OldCrawlerDynamicTarget.unity.meta
-
985Project/Assets/ML-Agents/Examples/OldCrawler/Scenes/OldCrawlerStaticTarget.unity
-
7Project/Assets/ML-Agents/Examples/OldCrawler/Scenes/OldCrawlerStaticTarget.unity.meta
-
8Project/Assets/ML-Agents/Examples/OldCrawler/Scripts.meta
-
271Project/Assets/ML-Agents/Examples/OldCrawler/Scripts/OldCrawlerAgent.cs
-
11Project/Assets/ML-Agents/Examples/OldCrawler/Scripts/OldCrawlerAgent.cs.meta
-
8Project/Assets/ML-Agents/Examples/OldCrawler/TFModels.meta
-
1001Project/Assets/ML-Agents/Examples/OldCrawler/TFModels/CrawlerDynamic.nn
-
11Project/Assets/ML-Agents/Examples/OldCrawler/TFModels/CrawlerDynamic.nn.meta
-
1001Project/Assets/ML-Agents/Examples/OldCrawler/TFModels/CrawlerStatic.nn
-
11Project/Assets/ML-Agents/Examples/OldCrawler/TFModels/CrawlerStatic.nn.meta
|
|||
fileFormatVersion: 2 |
|||
guid: 647af5b216d7e40d38890b4f780213ed |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 1619392b1dd9b43939c3adf9bba35cfb |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
Project/Assets/ML-Agents/Examples/OldCrawler/Demos/OldExpertCrawlerDyn.demo
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: 1e7a6fb83ea454b6cb108e4f75532f98 |
|||
ScriptedImporter: |
|||
fileIDToRecycleName: |
|||
11400000: Assets/ML-Agents/Examples/OldCrawler/Demos/OldExpertCrawlerDyn.demo |
|||
externalObjects: {} |
|||
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)' |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
script: {fileID: 11500000, guid: 7bd65ce151aaa4a41a45312543c56be1, type: 3} |
1001
Project/Assets/ML-Agents/Examples/OldCrawler/Demos/OldExpertCrawlerSta.demo
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: 9df0d992631144b4dafd4de6b86e4317 |
|||
ScriptedImporter: |
|||
fileIDToRecycleName: |
|||
11400000: Assets/ML-Agents/Examples/OldCrawler/Demos/OldExpertCrawlerSta.demo |
|||
externalObjects: {} |
|||
userData: ' (Unity.MLAgents.Demonstrations.DemonstrationSummary)' |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
script: {fileID: 11500000, guid: 7bd65ce151aaa4a41a45312543c56be1, type: 3} |
|
|||
fileFormatVersion: 2 |
|||
guid: 989b2d488e36e449ab722fa70fa50407 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
Project/Assets/ML-Agents/Examples/OldCrawler/Meshes/CrawlerCourt.fbx
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: 45912b94cdf5f4b4eaa3c8ad726aa43e |
|||
ModelImporter: |
|||
serializedVersion: 23 |
|||
fileIDToRecycleName: |
|||
100000: CourtSurface |
|||
100002: //RootNode |
|||
100004: OuterWalls |
|||
400000: CourtSurface |
|||
400002: //RootNode |
|||
400004: OuterWalls |
|||
2100000: rep_CrawlerCourt |
|||
2100002: rep_WhitePaintSG |
|||
2300000: CourtSurface |
|||
2300002: OuterWalls |
|||
3300000: CourtSurface |
|||
3300002: OuterWalls |
|||
4300000: CourtSurface |
|||
4300002: OuterWalls |
|||
externalObjects: {} |
|||
materials: |
|||
importMaterials: 1 |
|||
materialName: 0 |
|||
materialSearch: 1 |
|||
materialLocation: 1 |
|||
animations: |
|||
legacyGenerateAnimations: 4 |
|||
bakeSimulation: 0 |
|||
resampleCurves: 1 |
|||
optimizeGameObjects: 0 |
|||
motionNodeName: |
|||
rigImportErrors: |
|||
rigImportWarnings: |
|||
animationImportErrors: |
|||
animationImportWarnings: |
|||
animationRetargetingWarnings: |
|||
animationDoRetargetingWarnings: 0 |
|||
importAnimatedCustomProperties: 0 |
|||
importConstraints: 0 |
|||
animationCompression: 1 |
|||
animationRotationError: 0.5 |
|||
animationPositionError: 0.5 |
|||
animationScaleError: 0.5 |
|||
animationWrapMode: 0 |
|||
extraExposedTransformPaths: [] |
|||
extraUserProperties: [] |
|||
clipAnimations: [] |
|||
isReadable: 1 |
|||
meshes: |
|||
lODScreenPercentages: [] |
|||
globalScale: 1 |
|||
meshCompression: 0 |
|||
addColliders: 0 |
|||
useSRGBMaterialColor: 1 |
|||
importVisibility: 1 |
|||
importBlendShapes: 1 |
|||
importCameras: 1 |
|||
importLights: 1 |
|||
swapUVChannels: 0 |
|||
generateSecondaryUV: 0 |
|||
useFileUnits: 1 |
|||
optimizeMeshForGPU: 1 |
|||
keepQuads: 0 |
|||
weldVertices: 1 |
|||
preserveHierarchy: 0 |
|||
indexFormat: 0 |
|||
secondaryUVAngleDistortion: 8 |
|||
secondaryUVAreaDistortion: 15.000001 |
|||
secondaryUVHardAngle: 88 |
|||
secondaryUVPackMargin: 4 |
|||
useFileScale: 1 |
|||
previousCalculatedGlobalScale: 1 |
|||
hasPreviousCalculatedGlobalScale: 0 |
|||
tangentSpace: |
|||
normalSmoothAngle: 60 |
|||
normalImportMode: 0 |
|||
tangentImportMode: 3 |
|||
normalCalculationMode: 4 |
|||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1 |
|||
blendShapeNormalImportMode: 1 |
|||
normalSmoothingSource: 0 |
|||
importAnimation: 1 |
|||
copyAvatar: 0 |
|||
humanDescription: |
|||
serializedVersion: 2 |
|||
human: [] |
|||
skeleton: [] |
|||
armTwist: 0.5 |
|||
foreArmTwist: 0.5 |
|||
upperLegTwist: 0.5 |
|||
legTwist: 0.5 |
|||
armStretch: 0.05 |
|||
legStretch: 0.05 |
|||
feetSpacing: 0 |
|||
rootMotionBoneName: |
|||
hasTranslationDoF: 0 |
|||
hasExtraRoot: 0 |
|||
skeletonHasParents: 1 |
|||
lastHumanDescriptionAvatarSource: {instanceID: 0} |
|||
animationType: 0 |
|||
humanoidOversampling: 1 |
|||
additionalBone: 0 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 92f3a23f418eb438199f4a4b72172a91 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
Project/Assets/ML-Agents/Examples/OldCrawler/Prefabs/OldDynamicPlatform.prefab
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: ea0ab18bc7a7f442e9c2a23f9883f4bd |
|||
PrefabImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
Project/Assets/ML-Agents/Examples/OldCrawler/Prefabs/OldFixedPlatform.prefab
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: a1a421bfb42ce4b29b585c08752f03a7 |
|||
PrefabImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 043900abd772a4953a9fe1f8bd54fa6a |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
Project/Assets/ML-Agents/Examples/OldCrawler/Scenes/OldCrawlerDynamicTarget.unity
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: 310ce85c5777c4bdd9ca16e2adadd90b |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!29 &1 |
|||
OcclusionCullingSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_OcclusionBakeSettings: |
|||
smallestOccluder: 5 |
|||
smallestHole: 0.25 |
|||
backfaceThreshold: 100 |
|||
m_SceneGUID: 00000000000000000000000000000000 |
|||
m_OcclusionCullingData: {fileID: 0} |
|||
--- !u!104 &2 |
|||
RenderSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 9 |
|||
m_Fog: 0 |
|||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} |
|||
m_FogMode: 3 |
|||
m_FogDensity: 0.01 |
|||
m_LinearFogStart: 0 |
|||
m_LinearFogEnd: 300 |
|||
m_AmbientSkyColor: {r: 0.8, g: 0.8, b: 0.8, a: 1} |
|||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} |
|||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} |
|||
m_AmbientIntensity: 1 |
|||
m_AmbientMode: 3 |
|||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} |
|||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_HaloStrength: 0.5 |
|||
m_FlareStrength: 1 |
|||
m_FlareFadeSpeed: 3 |
|||
m_HaloTexture: {fileID: 0} |
|||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_DefaultReflectionMode: 0 |
|||
m_DefaultReflectionResolution: 128 |
|||
m_ReflectionBounces: 1 |
|||
m_ReflectionIntensity: 1 |
|||
m_CustomReflection: {fileID: 0} |
|||
m_Sun: {fileID: 0} |
|||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} |
|||
m_UseRadianceAmbientProbe: 0 |
|||
--- !u!157 &3 |
|||
LightmapSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 11 |
|||
m_GIWorkflowMode: 1 |
|||
m_GISettings: |
|||
serializedVersion: 2 |
|||
m_BounceScale: 1 |
|||
m_IndirectOutputScale: 1 |
|||
m_AlbedoBoost: 1 |
|||
m_EnvironmentLightingMode: 0 |
|||
m_EnableBakedLightmaps: 1 |
|||
m_EnableRealtimeLightmaps: 1 |
|||
m_LightmapEditorSettings: |
|||
serializedVersion: 10 |
|||
m_Resolution: 2 |
|||
m_BakeResolution: 40 |
|||
m_AtlasSize: 1024 |
|||
m_AO: 0 |
|||
m_AOMaxDistance: 1 |
|||
m_CompAOExponent: 1 |
|||
m_CompAOExponentDirect: 0 |
|||
m_Padding: 2 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_LightmapsBakeMode: 1 |
|||
m_TextureCompression: 1 |
|||
m_FinalGather: 0 |
|||
m_FinalGatherFiltering: 1 |
|||
m_FinalGatherRayCount: 256 |
|||
m_ReflectionCompression: 2 |
|||
m_MixedBakeMode: 2 |
|||
m_BakeBackend: 1 |
|||
m_PVRSampling: 1 |
|||
m_PVRDirectSampleCount: 32 |
|||
m_PVRSampleCount: 500 |
|||
m_PVRBounces: 2 |
|||
m_PVRFilterTypeDirect: 0 |
|||
m_PVRFilterTypeIndirect: 0 |
|||
m_PVRFilterTypeAO: 0 |
|||
m_PVRFilteringMode: 2 |
|||
m_PVRCulling: 1 |
|||
m_PVRFilteringGaussRadiusDirect: 1 |
|||
m_PVRFilteringGaussRadiusIndirect: 5 |
|||
m_PVRFilteringGaussRadiusAO: 2 |
|||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5 |
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2 |
|||
m_PVRFilteringAtrousPositionSigmaAO: 1 |
|||
m_ShowResolutionOverlay: 1 |
|||
m_LightingDataAsset: {fileID: 112000002, guid: 47bcc536878654f5db080cb7c8a0b91a, |
|||
type: 2} |
|||
m_UseShadowmask: 1 |
|||
--- !u!196 &4 |
|||
NavMeshSettings: |
|||
serializedVersion: 2 |
|||
m_ObjectHideFlags: 0 |
|||
m_BuildSettings: |
|||
serializedVersion: 2 |
|||
agentTypeID: 0 |
|||
agentRadius: 0.5 |
|||
agentHeight: 2 |
|||
agentSlope: 45 |
|||
agentClimb: 0.4 |
|||
ledgeDropHeight: 0 |
|||
maxJumpAcrossDistance: 0 |
|||
minRegionArea: 2 |
|||
manualCellSize: 0 |
|||
cellSize: 0.16666667 |
|||
manualTileSize: 0 |
|||
tileSize: 256 |
|||
accuratePlacement: 0 |
|||
debug: |
|||
m_Flags: 0 |
|||
m_NavMeshData: {fileID: 0} |
|||
--- !u!1001 &401481519 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 1306438584782738, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_Name |
|||
value: OldFixedPlatform (6) |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: -150 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 10 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
--- !u!1001 &471764575 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0.31598538 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: -0.3596048 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0.13088542 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 0.8681629 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
--- !u!1001 &491369123 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 1306438584782738, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_Name |
|||
value: OldFixedPlatform (3) |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: -50 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 60 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 7 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
--- !u!1001 &703169417 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 1306438584782738, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_Name |
|||
value: OldFixedPlatform |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 4 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
--- !u!4 &703169418 stripped |
|||
Transform: |
|||
m_CorrespondingSourceObject: {fileID: 4484619683682530, guid: a1a421bfb42ce4b29b585c08752f03a7, |
|||
type: 3} |
|||
m_PrefabInstance: {fileID: 703169417} |
|||
m_PrefabAsset: {fileID: 0} |
|||
--- !u!1001 &943263318 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 1306438584782738, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_Name |
|||
value: OldFixedPlatform (5) |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: -100 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 60 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 9 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
--- !u!1001 &1043455580 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 1306438584782738, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_Name |
|||
value: OldFixedPlatform (9) |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: -200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 60 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 13 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
--- !u!1001 &1350501327 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 1306438584782738, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_Name |
|||
value: OldFixedPlatform (7) |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: -150 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 60 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 11 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
--- !u!1 &1392866527 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1392866532} |
|||
- component: {fileID: 1392866531} |
|||
- component: {fileID: 1392866529} |
|||
- component: {fileID: 1392866528} |
|||
- component: {fileID: 1392866533} |
|||
m_Layer: 0 |
|||
m_Name: Main Camera |
|||
m_TagString: MainCamera |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!81 &1392866528 |
|||
AudioListener: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1392866527} |
|||
m_Enabled: 1 |
|||
--- !u!124 &1392866529 |
|||
Behaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1392866527} |
|||
m_Enabled: 1 |
|||
--- !u!20 &1392866531 |
|||
Camera: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1392866527} |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_ClearFlags: 2 |
|||
m_BackGroundColor: {r: 0.46666667, g: 0.5647059, b: 0.60784316, a: 1} |
|||
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.1 |
|||
far clip plane: 5000 |
|||
field of view: 35 |
|||
orthographic: 0 |
|||
orthographic size: 10 |
|||
m_Depth: -1 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_RenderingPath: -1 |
|||
m_TargetTexture: {fileID: 0} |
|||
m_TargetDisplay: 0 |
|||
m_TargetEye: 3 |
|||
m_HDR: 1 |
|||
m_AllowMSAA: 1 |
|||
m_AllowDynamicResolution: 0 |
|||
m_ForceIntoRT: 0 |
|||
m_OcclusionCulling: 1 |
|||
m_StereoConvergence: 10 |
|||
m_StereoSeparation: 0.022 |
|||
--- !u!4 &1392866532 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1392866527} |
|||
m_LocalRotation: {x: 0.08572533, y: -0.5012867, z: 0.04998339, w: 0.8595723} |
|||
m_LocalPosition: {x: -184.82593, y: 5, z: -8.344442} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 11.39, y: -60.5, z: -0.001} |
|||
--- !u!114 &1392866533 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1392866527} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: ec40c70d5160b47cd8deaab79e24892c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
target: {fileID: 703169418} |
|||
--- !u!1001 &1452507500 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 1306438584782738, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_Name |
|||
value: OldFixedPlatform (1) |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 60 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 5 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
--- !u!1001 &1747399701 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 3 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchoredPosition.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchoredPosition.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_SizeDelta.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_SizeDelta.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchorMin.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchorMin.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchorMax.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchorMax.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_Pivot.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_Pivot.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: 3ce107b4a79bc4eef83afde434932a68, type: 3} |
|||
--- !u!1001 &1959796862 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 1306438584782738, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_Name |
|||
value: OldFixedPlatform (8) |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: -200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 12 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
--- !u!1001 &2034577161 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 1306438584782738, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_Name |
|||
value: OldFixedPlatform (2) |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: -50 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 6 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
--- !u!1 &2095421678 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 2095421679} |
|||
- component: {fileID: 2095421680} |
|||
m_Layer: 0 |
|||
m_Name: CrawlerSettings |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &2095421679 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 2095421678} |
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 2, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 2 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &2095421680 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 2095421678} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: ec51f47c5ed0478080c449c74fd9c154, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
gravityMultiplier: 1 |
|||
fixedDeltaTime: 0.01333 |
|||
maximumDeltaTime: 0.15 |
|||
solverIterations: 12 |
|||
solverVelocityIterations: 12 |
|||
reuseCollisionCallbacks: 1 |
|||
--- !u!1001 &2099602635 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 1306438584782738, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_Name |
|||
value: OldFixedPlatform (4) |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 200 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: -100 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 8 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4309919623019186, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: a1a421bfb42ce4b29b585c08752f03a7, type: 3} |
|
|||
fileFormatVersion: 2 |
|||
guid: 1e8298c83718a43919ac1292551118c6 |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: e863c3aab6d8d495d9814d9f61a7e123 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using UnityEngine; |
|||
using Unity.MLAgents; |
|||
using Unity.MLAgentsExamples; |
|||
using Unity.MLAgents.Sensors; |
|||
|
|||
[RequireComponent(typeof(JointDriveController))] // Required to set joint forces
|
|||
public class OldCrawlerAgent : Agent |
|||
{ |
|||
[Header("Target To Walk Towards")] |
|||
[Space(10)] |
|||
public Transform target; |
|||
|
|||
public Transform ground; |
|||
public bool detectTargets; |
|||
public bool targetIsStatic; |
|||
public bool respawnTargetWhenTouched; |
|||
public float targetSpawnRadius; |
|||
|
|||
[Header("Body Parts")] [Space(10)] public Transform body; |
|||
public Transform leg0Upper; |
|||
public Transform leg0Lower; |
|||
public Transform leg1Upper; |
|||
public Transform leg1Lower; |
|||
public Transform leg2Upper; |
|||
public Transform leg2Lower; |
|||
public Transform leg3Upper; |
|||
public Transform leg3Lower; |
|||
|
|||
[Header("Joint Settings")] [Space(10)] JointDriveController m_JdController; |
|||
Vector3 m_DirToTarget; |
|||
float m_MovingTowardsDot; |
|||
float m_FacingDot; |
|||
|
|||
[Header("Reward Functions To Use")] |
|||
[Space(10)] |
|||
public bool rewardMovingTowardsTarget; // Agent should move towards target
|
|||
|
|||
public bool rewardFacingTarget; // Agent should face the target
|
|||
public bool rewardUseTimePenalty; // Hurry up
|
|||
|
|||
[Header("Foot Grounded Visualization")] |
|||
[Space(10)] |
|||
public bool useFootGroundedVisualization; |
|||
|
|||
public MeshRenderer foot0; |
|||
public MeshRenderer foot1; |
|||
public MeshRenderer foot2; |
|||
public MeshRenderer foot3; |
|||
public Material groundedMaterial; |
|||
public Material unGroundedMaterial; |
|||
|
|||
Quaternion m_LookRotation; |
|||
Matrix4x4 m_TargetDirMatrix; |
|||
|
|||
public override void Initialize() |
|||
{ |
|||
m_JdController = GetComponent<JointDriveController>(); |
|||
m_DirToTarget = target.position - body.position; |
|||
|
|||
|
|||
//Setup each body part
|
|||
m_JdController.SetupBodyPart(body); |
|||
m_JdController.SetupBodyPart(leg0Upper); |
|||
m_JdController.SetupBodyPart(leg0Lower); |
|||
m_JdController.SetupBodyPart(leg1Upper); |
|||
m_JdController.SetupBodyPart(leg1Lower); |
|||
m_JdController.SetupBodyPart(leg2Upper); |
|||
m_JdController.SetupBodyPart(leg2Lower); |
|||
m_JdController.SetupBodyPart(leg3Upper); |
|||
m_JdController.SetupBodyPart(leg3Lower); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Add relevant information on each body part to observations.
|
|||
/// </summary>
|
|||
public void CollectObservationBodyPart(BodyPart bp, VectorSensor sensor) |
|||
{ |
|||
var rb = bp.rb; |
|||
sensor.AddObservation(bp.groundContact.touchingGround ? 1 : 0); // Whether the bp touching the ground
|
|||
|
|||
var velocityRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(rb.velocity); |
|||
sensor.AddObservation(velocityRelativeToLookRotationToTarget); |
|||
|
|||
var angularVelocityRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(rb.angularVelocity); |
|||
sensor.AddObservation(angularVelocityRelativeToLookRotationToTarget); |
|||
|
|||
if (bp.rb.transform != body) |
|||
{ |
|||
var localPosRelToBody = body.InverseTransformPoint(rb.position); |
|||
sensor.AddObservation(localPosRelToBody); |
|||
sensor.AddObservation(bp.currentXNormalizedRot); // Current x rot
|
|||
sensor.AddObservation(bp.currentYNormalizedRot); // Current y rot
|
|||
sensor.AddObservation(bp.currentZNormalizedRot); // Current z rot
|
|||
sensor.AddObservation(bp.currentStrength / m_JdController.maxJointForceLimit); |
|||
} |
|||
} |
|||
|
|||
public override void CollectObservations(VectorSensor sensor) |
|||
{ |
|||
m_JdController.GetCurrentJointForces(); |
|||
|
|||
// Update pos to target
|
|||
m_DirToTarget = target.position - body.position; |
|||
m_LookRotation = Quaternion.LookRotation(m_DirToTarget); |
|||
m_TargetDirMatrix = Matrix4x4.TRS(Vector3.zero, m_LookRotation, Vector3.one); |
|||
|
|||
RaycastHit hit; |
|||
if (Physics.Raycast(body.position, Vector3.down, out hit, 10.0f)) |
|||
{ |
|||
sensor.AddObservation(hit.distance); |
|||
} |
|||
else |
|||
sensor.AddObservation(10.0f); |
|||
|
|||
// Forward & up to help with orientation
|
|||
var bodyForwardRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(body.forward); |
|||
sensor.AddObservation(bodyForwardRelativeToLookRotationToTarget); |
|||
|
|||
var bodyUpRelativeToLookRotationToTarget = m_TargetDirMatrix.inverse.MultiplyVector(body.up); |
|||
sensor.AddObservation(bodyUpRelativeToLookRotationToTarget); |
|||
|
|||
foreach (var bodyPart in m_JdController.bodyPartsDict.Values) |
|||
{ |
|||
CollectObservationBodyPart(bodyPart, sensor); |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Agent touched the target
|
|||
/// </summary>
|
|||
public void TouchedTarget() |
|||
{ |
|||
AddReward(1f); |
|||
if (respawnTargetWhenTouched) |
|||
{ |
|||
GetRandomTargetPos(); |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Moves target to a random position within specified radius.
|
|||
/// </summary>
|
|||
public void GetRandomTargetPos() |
|||
{ |
|||
var newTargetPos = Random.insideUnitSphere * targetSpawnRadius; |
|||
newTargetPos.y = 5; |
|||
target.position = newTargetPos + ground.position; |
|||
} |
|||
|
|||
public override void OnActionReceived(float[] vectorAction) |
|||
{ |
|||
// The dictionary with all the body parts in it are in the jdController
|
|||
var bpDict = m_JdController.bodyPartsDict; |
|||
|
|||
var i = -1; |
|||
// Pick a new target joint rotation
|
|||
bpDict[leg0Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0); |
|||
bpDict[leg1Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0); |
|||
bpDict[leg2Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0); |
|||
bpDict[leg3Upper].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0); |
|||
bpDict[leg0Lower].SetJointTargetRotation(vectorAction[++i], 0, 0); |
|||
bpDict[leg1Lower].SetJointTargetRotation(vectorAction[++i], 0, 0); |
|||
bpDict[leg2Lower].SetJointTargetRotation(vectorAction[++i], 0, 0); |
|||
bpDict[leg3Lower].SetJointTargetRotation(vectorAction[++i], 0, 0); |
|||
|
|||
// Update joint strength
|
|||
bpDict[leg0Upper].SetJointStrength(vectorAction[++i]); |
|||
bpDict[leg1Upper].SetJointStrength(vectorAction[++i]); |
|||
bpDict[leg2Upper].SetJointStrength(vectorAction[++i]); |
|||
bpDict[leg3Upper].SetJointStrength(vectorAction[++i]); |
|||
bpDict[leg0Lower].SetJointStrength(vectorAction[++i]); |
|||
bpDict[leg1Lower].SetJointStrength(vectorAction[++i]); |
|||
bpDict[leg2Lower].SetJointStrength(vectorAction[++i]); |
|||
bpDict[leg3Lower].SetJointStrength(vectorAction[++i]); |
|||
} |
|||
|
|||
void FixedUpdate() |
|||
{ |
|||
if (detectTargets) |
|||
{ |
|||
foreach (var bodyPart in m_JdController.bodyPartsDict.Values) |
|||
{ |
|||
if (bodyPart.targetContact && bodyPart.targetContact.touchingTarget) |
|||
{ |
|||
TouchedTarget(); |
|||
} |
|||
} |
|||
} |
|||
|
|||
// If enabled the feet will light up green when the foot is grounded.
|
|||
// This is just a visualization and isn't necessary for function
|
|||
if (useFootGroundedVisualization) |
|||
{ |
|||
foot0.material = m_JdController.bodyPartsDict[leg0Lower].groundContact.touchingGround |
|||
? groundedMaterial |
|||
: unGroundedMaterial; |
|||
foot1.material = m_JdController.bodyPartsDict[leg1Lower].groundContact.touchingGround |
|||
? groundedMaterial |
|||
: unGroundedMaterial; |
|||
foot2.material = m_JdController.bodyPartsDict[leg2Lower].groundContact.touchingGround |
|||
? groundedMaterial |
|||
: unGroundedMaterial; |
|||
foot3.material = m_JdController.bodyPartsDict[leg3Lower].groundContact.touchingGround |
|||
? groundedMaterial |
|||
: unGroundedMaterial; |
|||
} |
|||
|
|||
// Set reward for this step according to mixture of the following elements.
|
|||
if (rewardMovingTowardsTarget) |
|||
{ |
|||
RewardFunctionMovingTowards(); |
|||
} |
|||
|
|||
if (rewardFacingTarget) |
|||
{ |
|||
RewardFunctionFacingTarget(); |
|||
} |
|||
|
|||
if (rewardUseTimePenalty) |
|||
{ |
|||
RewardFunctionTimePenalty(); |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Reward moving towards target & Penalize moving away from target.
|
|||
/// </summary>
|
|||
void RewardFunctionMovingTowards() |
|||
{ |
|||
m_MovingTowardsDot = Vector3.Dot(m_JdController.bodyPartsDict[body].rb.velocity, m_DirToTarget.normalized); |
|||
AddReward(0.03f * m_MovingTowardsDot); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Reward facing target & Penalize facing away from target
|
|||
/// </summary>
|
|||
void RewardFunctionFacingTarget() |
|||
{ |
|||
m_FacingDot = Vector3.Dot(m_DirToTarget.normalized, body.forward); |
|||
AddReward(0.01f * m_FacingDot); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Existential penalty for time-contrained tasks.
|
|||
/// </summary>
|
|||
void RewardFunctionTimePenalty() |
|||
{ |
|||
AddReward(-0.001f); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Loop over body parts and reset them to initial conditions.
|
|||
/// </summary>
|
|||
public override void OnEpisodeBegin() |
|||
{ |
|||
if (m_DirToTarget != Vector3.zero) |
|||
{ |
|||
transform.rotation = Quaternion.LookRotation(m_DirToTarget); |
|||
} |
|||
transform.Rotate(Vector3.up, Random.Range(0.0f, 360.0f)); |
|||
|
|||
foreach (var bodyPart in m_JdController.bodyPartsDict.Values) |
|||
{ |
|||
bodyPart.Reset(bodyPart); |
|||
} |
|||
if (!targetIsStatic) |
|||
{ |
|||
GetRandomTargetPos(); |
|||
} |
|||
} |
|||
} |