浏览代码

add cubewars to teammanager branch

/develop/cubewars/splashdamage
Andrew Cohen 3 年前
当前提交
a8cb407f
共有 57 个文件被更改,包括 8760 次插入0 次删除
  1. 8
      Project/Assets/ML-Agents/Examples/CubeWars/Materials.meta
  2. 53
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/flames.png
  3. 99
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/flames.png.meta
  4. 97
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/laser.mat
  5. 8
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/laser.mat.meta
  6. 31
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/laser.png
  7. 99
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/laser.png.meta
  8. 77
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonskin.mat
  9. 8
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonskin.mat.meta
  10. 77
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonscales.mat
  11. 8
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonscales.mat.meta
  12. 97
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonfire.mat
  13. 8
      Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonfire.mat.meta
  14. 8
      Project/Assets/ML-Agents/Examples/CubeWars/Meshes.meta
  15. 1001
      Project/Assets/ML-Agents/Examples/CubeWars/Meshes/Court.fbx
  16. 115
      Project/Assets/ML-Agents/Examples/CubeWars/Meshes/Court.fbx.meta
  17. 23
      Project/Assets/ML-Agents/Examples/CubeWars/Meshes/spines.fbx
  18. 97
      Project/Assets/ML-Agents/Examples/CubeWars/Meshes/spines.fbx.meta
  19. 26
      Project/Assets/ML-Agents/Examples/CubeWars/Meshes/tail.fbx
  20. 97
      Project/Assets/ML-Agents/Examples/CubeWars/Meshes/tail.fbx.meta
  21. 8
      Project/Assets/ML-Agents/Examples/CubeWars/Prefabs.meta
  22. 7
      Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/CubeWarArea.prefab.meta
  23. 175
      Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/Laser.prefab
  24. 7
      Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/Laser.prefab.meta
  25. 744
      Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/SmallAgent.prefab
  26. 7
      Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/SmallAgent.prefab.meta
  27. 1001
      Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/CubeWarArea.prefab
  28. 875
      Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/DragonCube.prefab
  29. 7
      Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/DragonCube.prefab.meta
  30. 8
      Project/Assets/ML-Agents/Examples/CubeWars/Scenes.meta
  31. 7
      Project/Assets/ML-Agents/Examples/CubeWars/Scenes/CubeWar.unity.meta
  32. 1001
      Project/Assets/ML-Agents/Examples/CubeWars/Scenes/CubeWar.unity
  33. 8
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts.meta
  34. 66
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/CubeWarArea.cs
  35. 11
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/CubeWarArea.cs.meta
  36. 50
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/CubeWarSettings.cs
  37. 11
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/CubeWarSettings.cs.meta
  38. 322
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/LargeCubeAgent.cs
  39. 11
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/LargeCubeAgent.cs.meta
  40. 45
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/Laser.cs
  41. 11
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/Laser.cs.meta
  42. 279
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/SmallCubeAgent.cs
  43. 11
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/SmallCubeAgent.cs.meta
  44. 8
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/WarLogic.cs
  45. 11
      Project/Assets/ML-Agents/Examples/CubeWars/Scripts/WarLogic.cs.meta
  46. 8
      Project/Assets/ML-Agents/Examples/CubeWars/TFModels.meta
  47. 11
      Project/Assets/ML-Agents/Examples/CubeWars/TFModels/LargeCubeSoldier.nn.meta
  48. 11
      Project/Assets/ML-Agents/Examples/CubeWars/TFModels/SmallCubeSoldier.nn.meta
  49. 1001
      Project/Assets/ML-Agents/Examples/CubeWars/TFModels/LargeCubeSoldier.nn
  50. 1001
      Project/Assets/ML-Agents/Examples/CubeWars/TFModels/SmallCubeSoldier.nn

8
Project/Assets/ML-Agents/Examples/CubeWars/Materials.meta


fileFormatVersion: 2
guid: 1109fb214924545fa8c858adeb46006e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

53
Project/Assets/ML-Agents/Examples/CubeWars/Materials/flames.png

之前 之后
宽度: 256  |  高度: 256  |  大小: 14 KiB

99
Project/Assets/ML-Agents/Examples/CubeWars/Materials/flames.png.meta


fileFormatVersion: 2
guid: 96c8496fda24a42309496909d05f5c2a
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: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
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: 1
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:

97
Project/Assets/ML-Agents/Examples/CubeWars/Materials/laser.mat


%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: laser
m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: EFFECT_BUMP _ALPHABLEND_ON _EMISSION
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: Transparent
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: e452f4aeface5494994b159409f31869, type: 3}
m_Scale: {x: 1, y: 1}
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:
- _BlendOp: 0
- _BumpScale: 1
- _CameraFadingEnabled: 0
- _CameraFarFadeDistance: 2
- _CameraNearFadeDistance: 1
- _ColorMode: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DistortionBlend: 0.066
- _DistortionEnabled: 1
- _DistortionStrength: 0.2
- _DistortionStrengthScaled: 0.020000001
- _DstBlend: 1
- _EmissionEnabled: 1
- _FlipbookMode: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _LightingEnabled: 0
- _Metallic: 0
- _Mode: 4
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SoftParticlesEnabled: 0
- _SoftParticlesFarFadeDistance: 1
- _SoftParticlesNearFadeDistance: 0
- _SpecularHighlights: 1
- _SrcBlend: 5
- _UVSec: 0
- _ZWrite: 0
m_Colors:
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
- _Color: {r: 1, g: 0, b: 0.7160444, a: 0.6784314}
- _ColorAddSubDiff: {r: -1, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 1, g: 0.042452812, b: 0.8528484, a: 1}
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}

8
Project/Assets/ML-Agents/Examples/CubeWars/Materials/laser.mat.meta


fileFormatVersion: 2
guid: 4427e9bcbace149fe87ea2377c62654c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

31
Project/Assets/ML-Agents/Examples/CubeWars/Materials/laser.png

之前 之后
宽度: 256  |  高度: 256  |  大小: 4.0 KiB

99
Project/Assets/ML-Agents/Examples/CubeWars/Materials/laser.png.meta


fileFormatVersion: 2
guid: e452f4aeface5494994b159409f31869
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: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
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: 1
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:

77
Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonskin.mat


%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: Godzilla
m_Shader: {fileID: 46, 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: 0}
m_Scale: {x: 1, y: 1}
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: 0, g: 0.5377358, b: 0.054570332, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

8
Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonskin.mat.meta


fileFormatVersion: 2
guid: 2dea38f51c97a415387d4bb76735822c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

77
Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonscales.mat


%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: GodzillaScales
m_Shader: {fileID: 46, 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: 0}
m_Scale: {x: 1, y: 1}
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: 0.9060749, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

8
Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonscales.mat.meta


fileFormatVersion: 2
guid: b606abe61331649b095e1a41ce54593e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

97
Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonfire.mat


%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: godzillafire
m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: EFFECT_BUMP _ALPHABLEND_ON _EMISSION _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: Transparent
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: 1, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 96c8496fda24a42309496909d05f5c2a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 1, 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:
- _BlendOp: 0
- _BumpScale: 1
- _CameraFadingEnabled: 0
- _CameraFarFadeDistance: 2
- _CameraNearFadeDistance: 1
- _ColorMode: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DistortionBlend: 0.103
- _DistortionEnabled: 1
- _DistortionStrength: 1
- _DistortionStrengthScaled: 0.1
- _DstBlend: 1
- _EmissionEnabled: 1
- _FlipbookMode: 0
- _GlossMapScale: 0
- _Glossiness: 0.5
- _GlossyReflections: 1
- _LightingEnabled: 0
- _Metallic: 0.132
- _Mode: 4
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 1
- _SoftParticlesEnabled: 0
- _SoftParticlesFarFadeDistance: 1
- _SoftParticlesNearFadeDistance: 0
- _SpecularHighlights: 1
- _SrcBlend: 5
- _UVSec: 0
- _ZWrite: 0
m_Colors:
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
- _Color: {r: 0, g: 0.46433306, b: 1, a: 0.8039216}
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0.03921568, g: 0.12030976, b: 0.19215687, a: 1}
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}

8
Project/Assets/ML-Agents/Examples/CubeWars/Materials/dragonfire.mat.meta


fileFormatVersion: 2
guid: b0ec2cb58d3f946419d6d96c502b2b1e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

8
Project/Assets/ML-Agents/Examples/CubeWars/Meshes.meta


fileFormatVersion: 2
guid: 58d69d036af19479fac040620908b536
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
Project/Assets/ML-Agents/Examples/CubeWars/Meshes/Court.fbx
文件差异内容过多而无法显示
查看文件

115
Project/Assets/ML-Agents/Examples/CubeWars/Meshes/Court.fbx.meta


fileFormatVersion: 2
guid: c334b553a3f3f4ba38ce81984b3bf2c9
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
100002: Floor
100004: WallsOuter
400000: //RootNode
400002: Floor
400004: WallsOuter
2100000: rep_WhiteWalls
2100002: rep_Floor
2300000: Floor
2300002: WallsOuter
3300000: Floor
3300002: WallsOuter
4300000: WallsOuter
4300002: Floor
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: rep_Floor
second: {fileID: 2100000, guid: 9705566e6ddfaac4ca6e57f5c0f9b879, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: rep_WhiteWalls
second: {fileID: 2100000, guid: 6a39c0407dd85684384bf0277294e9b6, type: 2}
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: 1
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:

23
Project/Assets/ML-Agents/Examples/CubeWars/Meshes/spines.fbx


Kaydara FBX Binary �_FBXHeaderExtension\FBXHeaderVersionI�x
FBXVersionI��EncryptionTypeI�CreationTimeStamp�VersionI��YearI��MonthIDayI'HourI
?MinuteI8WSecondI-t MillisecondIl�4CreatorS/Blender (stable FBX IO) - 2.82 (sub 7) - 4.20.2R' SceneInfoSGlobalInfoSceneInfoSUserData$ TypeSUserData=VersionId MetaDatakVersionId�TitleS�SubjectS�AuthorS�KeywordsS�RevisionSCommentSE Properties70m9PS DocumentUrlSKStringSUrlSS /foobar.fbx�<PSSrcDocumentUrlSKStringSUrlSS /foobar.fbx�$PSOriginalSCompoundSSCLPSOriginal|ApplicationVendorSKStringSSSBlender Foundation�OPSOriginal|ApplicationNameSKStringSSSBlender (stable FBX IO)�GPSOriginal|ApplicationVersionSKStringSSS 2.82 (sub 7)PMPSOriginal|DateTime_GMTSDateTimeSSS01/01/1970 00:00:00.000�<PSOriginal|FileNameSKStringSSS /foobar.fbx�%PS LastSavedSCompoundSS(MPSLastSaved|ApplicationVendorSKStringSSSBlender Foundation�PPSLastSaved|ApplicationNameSKStringSSSBlender (stable FBX IO)�HPSLastSaved|ApplicationVersionSKStringSSS 2.82 (sub 7)8NPSLastSaved|DateTime_GMTSDateTimeSSS01/01/1970 00:00:00.000�FileIdR(�*��$�¿Ȱ*�+��� CreationTimeS1970-01-01 10:00:00:0004CreatorS/Blender (stable FBX IO) - 2.82 (sub 7) - 4.20.2� GlobalSettings8VersionI�u Properties70�)PSUpAxisSintSIntegerSI�-PS
UpAxisSignSintSIntegerSI�,PS FrontAxisSintSIntegerSI; 0PS FrontAxisSignSintSIntegerSIu ,PS CoordAxisSintSIntegerSI� 0PS CoordAxisSignSintSIntegerSI� 1PSOriginalUpAxisSintSIntegerSI����5
5PSOriginalUpAxisSignSintSIntegerSI{
8PSUnitScaleFactorSdoubleSNumberSD�?�
@PSOriginalUnitScaleFactorSdoubleSNumberSD�? HPS AmbientColorSColorRGBSColorSDDDn APS DefaultCameraSKStringSSSProducer Perspective� %PSTimeModeSenumSSI � 3PS TimeSpanStartSKTimeSTimeSL" 2PS TimeSpanStopSKTimeSTimeSL����
h 8PSCustomFrameRateSdoubleSNumberSD8@� Documents� CountI� DocumentL6WbSSceneSScene| Properties70. &PS SourceObjectSobjectSSo 3PSActiveAnimStackNameSKStringSSS�  RootNodeL�
Referencesd$ Definitions VersionId CountIn
ObjectTypeSGlobalSettingsaCountI�
ObjectTypeSGeometry�CountI� PropertyTemplateSFbxMesh� Properties70:APSColorSColorRGBSColorSD�������?D�������?D�������?�DPSBBoxMinSVector3DSVectorSDDD�DPSBBoxMaxSVector3DSVectorSDDD/PSPrimary VisibilitySboolSSIS*PS Casts ShadowsSboolSSI�,PSReceive ShadowsSboolSSIW$
ObjectTypeSModel�CountIJ$ PropertyTemplateSFbxNode=$ Properties70n2PSQuaternionInterpolateSenumSSI�KPSRotationOffsetSVector3DSVectorSDDDJPS RotationPivotSVector3DSVectorSDDDwJPS ScalingOffsetSVector3DSVectorSDDD�IPS ScalingPivotSVector3DSVectorSDDD
.PSTranslationActiveSboolSSIcKPSTranslationMinSVector3DSVectorSDDD�KPSTranslationMaxSVector3DSVectorSDDD�,PSTranslationMinXSboolSSI0,PSTranslationMinYSboolSSIj,PSTranslationMinZSboolSSI�,PSTranslationMaxXSboolSSI�,PSTranslationMaxYSboolSSI,PSTranslationMaxZSboolSSIP*PS RotationOrderSenumSSI�6PSRotationSpaceForLimitOnlySboolSSI�;PSRotationStiffnessXSdoubleSNumberSD&;PSRotationStiffnessYSdoubleSNumberSDo;PSRotationStiffnessZSdoubleSNumberSD�0PSAxisLenSdoubleSNumberSD$@HPS PreRotationSVector3DSVectorSDDDZIPS PostRotationSVector3DSVectorSDDD�+PSRotationActiveSboolSSI�HPS RotationMinSVector3DSVectorSDDD?HPS RotationMaxSVector3DSVectorSDDDv)PS RotationMinXSboolSSI�)PS RotationMinYSboolSSI�)PS RotationMinZSboolSSI)PS RotationMaxXSboolSSIR)PS RotationMaxYSboolSSI�)PS RotationMaxZSboolSSI�(PS InheritTypeSenumSSI�*PS ScalingActiveSboolSSILGPS
ScalingMinSVector3DSVectorSDDD�GPS
ScalingMaxSVector3DSVectorSD�?D�?D�?�(PS ScalingMinXSboolSSI (PS ScalingMinYSboolSSIC(PS ScalingMinZSboolSSIy(PS ScalingMaxXSboolSSI�(PS ScalingMaxYSboolSSI�(PS ScalingMaxZSboolSSIDQPSGeometricTranslationSVector3DSVectorSDDD�NPSGeometricRotationSVector3DSVectorSDDD�MPSGeometricScalingSVector3DSVectorSD�?D�?D�??6PS MinDampRangeXSdoubleSNumberSD�6PS MinDampRangeYSdoubleSNumberSD�6PS MinDampRangeZSdoubleSNumberSD 6PS MaxDampRangeXSdoubleSNumberSDO6PS MaxDampRangeYSdoubleSNumberSD�6PS MaxDampRangeZSdoubleSNumberSD�9PSMinDampStrengthXSdoubleSNumberSD!9PSMinDampStrengthYSdoubleSNumberSDh9PSMinDampStrengthZSdoubleSNumberSD�9PSMaxDampStrengthXSdoubleSNumberSD�9PSMaxDampStrengthYSdoubleSNumberSD= 9PSMaxDampStrengthZSdoubleSNumberSD� 7PSPreferedAngleXSdoubleSNumberSD� 7PSPreferedAngleYSdoubleSNumberSD !7PSPreferedAngleZSdoubleSNumberSDB!(PSLookAtPropertySobjectSSz!*PSUpVectorPropertySobjectSS�!!PSShowSboolSSI�!8PSNegativePercentShapeSupportSboolSSI5"8PSDefaultAttributeIndexSintSIntegerSI����f"#PSFreezeSboolSSI�"#PSLODBoxSboolSSI�"NPSLcl TranslationSLcl TranslationSSADDDI#HPS Lcl RotationS Lcl RotationSSADDD�#FPS Lcl ScalingS Lcl ScalingSSAD�?D�?D�?�#2PS
VisibilityS
VisibilitySSAD�?0$EPSVisibility InheritanceSVisibility InheritanceSSI�+ObjectsS)1GeometryLDB*SUntitled (1).001GeometrySMesh�$ Properties70%GeometryVersionI|�%�Verticesd*�xc```���=�H9ȁh�^Ͱ�P�Ha���<g����=�����U�3�r@G3���z^�<��pq4s��h���s�A�-8�^D�݃&WoW,Rs?.q�9�MT@�l��A4.q�9�/L�@&zPolygonVertexIndexiHmxM�
�0�u{��:q�|���4� ɻ�#�i��u��?�]��� ����0�CΗ{m��ŝ��3�PoD�,oE���<��vHܹ�C���3oL�N{�3��t޿�� ` �&ZEdgesi$Mx �K
�P�� ����B �V��(�F����B�y561�f��܇�����O[_�������������������6�(LayerElementNormalI�&VersionIe�&NameS6'MappingInformationTypeSByPolygonVertexf' ReferenceInformationTypeSDirect�(Normalsd� xc`@�#�lR��:����y�� #�~����7 �0DܵG���Tq$�d��fo�+��0��P��?�ś�����(� 9|�(��^a�9��'���'j�k@>�� 8�!V�!�F2�p&U� J���M�x¼������a4�� ޾�{��}dw�+���b�j������.�?H?5'�R���wc�wR�̾����;Q™D���?Q�!Uܡ,��_�p'U[z��Tql����;��)�@�F)LayerI�(VersionId9) LayerElement)TypeSLayerElementNormal,)
TypedIndexIu+.ModelL�|1 SUntitled (1).001ModelSMesh�)VersionI��* Properties70*HPS Lcl RotationS Lcl RotationSSAD�''�V�DDo*FPS Lcl ScalingS Lcl ScalingSSADY@DY@DY@�*8PSDefaultAttributeIndexSintSIntegerSI�*(PS InheritTypeSenumSSI+
MultiLayerI/+ MultiTakeIE+ShadingCh+CullingS
CullingOff�+ Connections�+CSOOL�|1 L�+CSOOLDB*L�|1 -,Takes ,CurrentS��� ���f�v���&~��Z�j���~�� �u�)

97
Project/Assets/ML-Agents/Examples/CubeWars/Meshes/spines.fbx.meta


fileFormatVersion: 2
guid: d69445400990c4cb085f52ba604de84e
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: No Name
2300000: //RootNode
3300000: //RootNode
4300000: Untitled (1).001
externalObjects: {}
materials:
importMaterials: 0
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: 0
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:

26
Project/Assets/ML-Agents/Examples/CubeWars/Meshes/tail.fbx


Kaydara FBX Binary �_FBXHeaderExtension\FBXHeaderVersionI�x
FBXVersionI��EncryptionTypeI�CreationTimeStamp�VersionI��YearI��MonthIDayI'HourI
?MinuteI.WSecondI/t MillisecondI��4CreatorS/Blender (stable FBX IO) - 2.82 (sub 7) - 4.20.2R' SceneInfoSGlobalInfoSceneInfoSUserData$ TypeSUserData=VersionId MetaDatakVersionId�TitleS�SubjectS�AuthorS�KeywordsS�RevisionSCommentSE Properties70m9PS DocumentUrlSKStringSUrlSS /foobar.fbx�<PSSrcDocumentUrlSKStringSUrlSS /foobar.fbx�$PSOriginalSCompoundSSCLPSOriginal|ApplicationVendorSKStringSSSBlender Foundation�OPSOriginal|ApplicationNameSKStringSSSBlender (stable FBX IO)�GPSOriginal|ApplicationVersionSKStringSSS 2.82 (sub 7)PMPSOriginal|DateTime_GMTSDateTimeSSS01/01/1970 00:00:00.000�<PSOriginal|FileNameSKStringSSS /foobar.fbx�%PS LastSavedSCompoundSS(MPSLastSaved|ApplicationVendorSKStringSSSBlender Foundation�PPSLastSaved|ApplicationNameSKStringSSSBlender (stable FBX IO)�HPSLastSaved|ApplicationVersionSKStringSSS 2.82 (sub 7)8NPSLastSaved|DateTime_GMTSDateTimeSSS01/01/1970 00:00:00.000�FileIdR(�*��$�¿Ȱ*�+��� CreationTimeS1970-01-01 10:00:00:0004CreatorS/Blender (stable FBX IO) - 2.82 (sub 7) - 4.20.2� GlobalSettings8VersionI�u Properties70�)PSUpAxisSintSIntegerSI�-PS
UpAxisSignSintSIntegerSI�,PS FrontAxisSintSIntegerSI; 0PS FrontAxisSignSintSIntegerSIu ,PS CoordAxisSintSIntegerSI� 0PS CoordAxisSignSintSIntegerSI� 1PSOriginalUpAxisSintSIntegerSI����5
5PSOriginalUpAxisSignSintSIntegerSI{
8PSUnitScaleFactorSdoubleSNumberSD�?�
@PSOriginalUnitScaleFactorSdoubleSNumberSD�? HPS AmbientColorSColorRGBSColorSDDDn APS DefaultCameraSKStringSSSProducer Perspective� %PSTimeModeSenumSSI � 3PS TimeSpanStartSKTimeSTimeSL" 2PS TimeSpanStopSKTimeSTimeSL����
h 8PSCustomFrameRateSdoubleSNumberSD8@� Documents� CountI� DocumentL6WbSSceneSScene| Properties70. &PS SourceObjectSobjectSSo 3PSActiveAnimStackNameSKStringSSS�  RootNodeL�
Referencesd$ Definitions VersionId CountIn
ObjectTypeSGlobalSettingsaCountI�
ObjectTypeSGeometry�CountI� PropertyTemplateSFbxMesh� Properties70:APSColorSColorRGBSColorSD�������?D�������?D�������?�DPSBBoxMinSVector3DSVectorSDDD�DPSBBoxMaxSVector3DSVectorSDDD/PSPrimary VisibilitySboolSSIS*PS Casts ShadowsSboolSSI�,PSReceive ShadowsSboolSSIW$
ObjectTypeSModel�CountIJ$ PropertyTemplateSFbxNode=$ Properties70n2PSQuaternionInterpolateSenumSSI�KPSRotationOffsetSVector3DSVectorSDDDJPS RotationPivotSVector3DSVectorSDDDwJPS ScalingOffsetSVector3DSVectorSDDD�IPS ScalingPivotSVector3DSVectorSDDD
.PSTranslationActiveSboolSSIcKPSTranslationMinSVector3DSVectorSDDD�KPSTranslationMaxSVector3DSVectorSDDD�,PSTranslationMinXSboolSSI0,PSTranslationMinYSboolSSIj,PSTranslationMinZSboolSSI�,PSTranslationMaxXSboolSSI�,PSTranslationMaxYSboolSSI,PSTranslationMaxZSboolSSIP*PS RotationOrderSenumSSI�6PSRotationSpaceForLimitOnlySboolSSI�;PSRotationStiffnessXSdoubleSNumberSD&;PSRotationStiffnessYSdoubleSNumberSDo;PSRotationStiffnessZSdoubleSNumberSD�0PSAxisLenSdoubleSNumberSD$@HPS PreRotationSVector3DSVectorSDDDZIPS PostRotationSVector3DSVectorSDDD�+PSRotationActiveSboolSSI�HPS RotationMinSVector3DSVectorSDDD?HPS RotationMaxSVector3DSVectorSDDDv)PS RotationMinXSboolSSI�)PS RotationMinYSboolSSI�)PS RotationMinZSboolSSI)PS RotationMaxXSboolSSIR)PS RotationMaxYSboolSSI�)PS RotationMaxZSboolSSI�(PS InheritTypeSenumSSI�*PS ScalingActiveSboolSSILGPS
ScalingMinSVector3DSVectorSDDD�GPS
ScalingMaxSVector3DSVectorSD�?D�?D�?�(PS ScalingMinXSboolSSI (PS ScalingMinYSboolSSIC(PS ScalingMinZSboolSSIy(PS ScalingMaxXSboolSSI�(PS ScalingMaxYSboolSSI�(PS ScalingMaxZSboolSSIDQPSGeometricTranslationSVector3DSVectorSDDD�NPSGeometricRotationSVector3DSVectorSDDD�MPSGeometricScalingSVector3DSVectorSD�?D�?D�??6PS MinDampRangeXSdoubleSNumberSD�6PS MinDampRangeYSdoubleSNumberSD�6PS MinDampRangeZSdoubleSNumberSD 6PS MaxDampRangeXSdoubleSNumberSDO6PS MaxDampRangeYSdoubleSNumberSD�6PS MaxDampRangeZSdoubleSNumberSD�9PSMinDampStrengthXSdoubleSNumberSD!9PSMinDampStrengthYSdoubleSNumberSDh9PSMinDampStrengthZSdoubleSNumberSD�9PSMaxDampStrengthXSdoubleSNumberSD�9PSMaxDampStrengthYSdoubleSNumberSD= 9PSMaxDampStrengthZSdoubleSNumberSD� 7PSPreferedAngleXSdoubleSNumberSD� 7PSPreferedAngleYSdoubleSNumberSD !7PSPreferedAngleZSdoubleSNumberSDB!(PSLookAtPropertySobjectSSz!*PSUpVectorPropertySobjectSS�!!PSShowSboolSSI�!8PSNegativePercentShapeSupportSboolSSI5"8PSDefaultAttributeIndexSintSIntegerSI����f"#PSFreezeSboolSSI�"#PSLODBoxSboolSSI�"NPSLcl TranslationSLcl TranslationSSADDDI#HPS Lcl RotationS Lcl RotationSSADDD�#FPS Lcl ScalingS Lcl ScalingSSAD�?D�?D�?�#2PS
VisibilityS
VisibilitySSAD�?0$EPSVisibility InheritanceSVisibility InheritanceSSI�+Objectsn)-GeometryLm��+SUntitled (1)GeometrySMesh�$ Properties70%GeometryVersionI|�%�Verticesd0�xc``8 ��Łh��/� IcQ�$ f�ԃ�Q0ob��`���a���jy G���DX=q�$s ��~������# {Ϙ�89
0Ճ�0�Ċj|��a����G�0�?{�^�E\�6�0]d&�PolygonVertexIndexiT�x-ωn�`a\�Z}���.n����$73�{�a�Y��]��2~4��[����7G�'�������ۓ9�:����w���z}�<�s��w9��#��cc���ө=s��w���ȯ�~����t�t�9D��GY� ��o��&dEdgesi*Wx ñ
�P��dF��HE
T� ֒A88����\!D�.L\��r��̭��;K+�<z������ū7{�>|�r��ǯ��?�6�(LayerElementNormalI'VersionIe-'NameSd'MappingInformationTypeSByPolygonVertex�' ReferenceInformationTypeSDirect�(Normalsd��xc``h���b|����@�+<�xgt��_�WA4 �+���9Ċ;��}
rǁ�˞#��T��!�0|@5�Tq�SP� >(��0s��oX���������<�OH|���W��<)�!rz&U<j�dTsHr�6� ,�� �'�Dq��s��!Y���݁�"��"j�>$G�`w�*�j�G��\Yb�d(��‹Tq$#`L��s��$� l��
y�Z���T�����h(��9 �8-m>�a)LayerI�(VersionIdT) LayerElement+)TypeSLayerElementNormalG)
TypedIndexI�+*ModelLg�> SUntitled (1)ModelSMesh�)VersionI�+ Properties702*HPS Lcl RotationS Lcl RotationSSAD�''�V�DD�*FPS Lcl ScalingS Lcl ScalingSSADY@DY@DY@�*8PSDefaultAttributeIndexSintSIntegerSI+(PS InheritTypeSenumSSI++
MultiLayerIF+ MultiTakeI\+ShadingC+CullingS
CullingOff , Connections�+CSOOLg�> L�+CSOOLm��+Lg�> D,Takes7,CurrentS��� ���f�v���&~��Z�j���~�� �u�)

97
Project/Assets/ML-Agents/Examples/CubeWars/Meshes/tail.fbx.meta


fileFormatVersion: 2
guid: fac50bd4d9c8d455f922c861fdfecb17
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: No Name
2300000: //RootNode
3300000: //RootNode
4300000: Untitled (1)
externalObjects: {}
materials:
importMaterials: 0
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: 0
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:

8
Project/Assets/ML-Agents/Examples/CubeWars/Prefabs.meta


fileFormatVersion: 2
guid: 58aef9963acd34e2c8e8972485552f65
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/CubeWarArea.prefab.meta


fileFormatVersion: 2
guid: 507699f5e996e4b839e9b05fce9dde76
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

175
Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/Laser.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2849556569767945917
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6367184837690535948}
- component: {fileID: 9221550522079577563}
m_Layer: 0
m_Name: Line
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6367184837690535948
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2849556569767945917}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 3343439013409978073}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!120 &9221550522079577563
LineRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2849556569767945917}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 4427e9bcbace149fe87ea2377c62654c, 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
m_Positions:
- {x: 0, y: 0, z: 0}
- {x: 0, y: 0, z: 1}
m_Parameters:
serializedVersion: 3
widthMultiplier: 0.1
widthCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.22409065
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
colorGradient:
serializedVersion: 2
key0: {r: 1, g: 0.0047169924, b: 0.9373658, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
numCornerVertices: 0
numCapVertices: 0
alignment: 0
textureMode: 0
shadowBias: 0.5
generateLightingData: 0
m_UseWorldSpace: 0
m_Loop: 0
--- !u!1 &7838835760129934402
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3343439013409978073}
- component: {fileID: 123071959092199671}
m_Layer: 0
m_Name: Laser
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3343439013409978073
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7838835760129934402}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1.6500001, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 6367184837690535948}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &123071959092199671
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7838835760129934402}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b0c8a399fcbd84b0d9eec4ce8add0084, type: 3}
m_Name:
m_EditorClassIdentifier:
isFired: 0
maxLength: 25
width: 0.5

7
Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/Laser.prefab.meta


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

744
Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/SmallAgent.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &8082913447579452449
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8080633514273950429}
- component: {fileID: 8096898082586648557}
- component: {fileID: 8104240764409540887}
m_Layer: 0
m_Name: eye
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8080633514273950429
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8082913447579452449}
m_LocalRotation: {x: -0, y: 1, z: -0, w: 0}
m_LocalPosition: {x: 0.29999995, y: 0.07399994, z: 0.50040054}
m_LocalScale: {x: 0.29457998, y: 0.29457998, z: 0.29457998}
m_Children: []
m_Father: {fileID: 8087097790320336139}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
--- !u!33 &8096898082586648557
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8082913447579452449}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &8104240764409540887
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8082913447579452449}
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: f731be6866ce749fd8349e67ae81f76a, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &8082945614909587255
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8086988997294203727}
- component: {fileID: 8096772991679691191}
- component: {fileID: 8104331913827584493}
m_Layer: 0
m_Name: mouth
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8086988997294203727
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8082945614909587255}
m_LocalRotation: {x: -0, y: 1, z: -0, w: 0}
m_LocalPosition: {x: 0, y: -0.18299997, z: 0.50040054}
m_LocalScale: {x: 0.27602, y: 0.042489994, z: 0.13891}
m_Children: []
m_Father: {fileID: 8087097790320336139}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
--- !u!33 &8096772991679691191
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8082945614909587255}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &8104331913827584493
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8082945614909587255}
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: f731be6866ce749fd8349e67ae81f76a, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &8082987563785658459
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8080933048116231083}
- component: {fileID: 8098102070362514843}
m_Layer: 0
m_Name: AgentCamera
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &8080933048116231083
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8082987563785658459}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0.15}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 8087097790320336139}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!20 &8098102070362514843
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8082987563785658459}
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.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294950911
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!1 &8083011482102967889
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8087097790320336139}
- component: {fileID: 8096383786913836523}
- component: {fileID: 8106054213324458471}
m_Layer: 0
m_Name: AgentCube_Blue
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8087097790320336139
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083011482102967889}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 8080933048116231083}
- {fileID: 8080633514273950429}
- {fileID: 8080857858239123045}
- {fileID: 8086988997294203727}
- {fileID: 8081001303550030623}
m_Father: {fileID: 8081094897351109481}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &8096383786913836523
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083011482102967889}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &8106054213324458471
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083011482102967889}
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: c9fa44c2c3f8ce74ca39a3355ea42631, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &8083472745672032433
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8081001303550030623}
- component: {fileID: 8096772567224078251}
- component: {fileID: 8106284164218473899}
m_Layer: 0
m_Name: Headband
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8081001303550030623
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083472745672032433}
m_LocalRotation: {x: -0, y: -0, z: 0.016506119, w: 0.9998638}
m_LocalPosition: {x: 0, y: 0.341, z: 0}
m_LocalScale: {x: 1.0441425, y: 0.19278127, z: 1.0441422}
m_Children: []
m_Father: {fileID: 8087097790320336139}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: -179.99998, z: 1.8920001}
--- !u!33 &8096772567224078251
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083472745672032433}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &8106284164218473899
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083472745672032433}
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: 04be259c590de46f69db4cbd1da877d5, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &8083776131842293165
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8081094897351109481}
- component: {fileID: 8125199316714289715}
- component: {fileID: 8136121708948342693}
- component: {fileID: 8195483629779642977}
- component: {fileID: 8195976838962489967}
- component: {fileID: 220466546270386215}
- component: {fileID: 5940168890073970201}
m_Layer: 0
m_Name: SmallAgent
m_TagString: StrongSmallAgent
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8081094897351109481
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083776131842293165}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -24.8, y: 2, z: -9.559753}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 2976458075099582193}
- {fileID: 8087097790320336139}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!65 &8125199316714289715
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083776131842293165}
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!54 &8136121708948342693
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083776131842293165}
serializedVersion: 2
m_Mass: 10
m_Drag: 0.5
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 112
m_CollisionDetection: 1
--- !u!114 &8195483629779642977
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083776131842293165}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5d1c4e0b1822b495aa52bc52839ecb30, type: 3}
m_Name:
m_EditorClassIdentifier:
m_BrainParameters:
vectorObservationSize: 4
numStackedVectorObservations: 2
vectorActionSize: 03000000030000000300000002000000
vectorActionDescriptions: []
vectorActionSpaceType: 0
m_Model: {fileID: 11400000, guid: 697e3166f993b4e4cb890de8be9ec842, type: 3}
m_InferenceDevice: 0
m_BehaviorType: 0
m_BehaviorName: SmallCubeSoldier
TeamId: 0
m_UseChildSensors: 1
--- !u!114 &8195976838962489967
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083776131842293165}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6bb6b867a41448888c1cd4f99643ad71, type: 3}
m_Name:
m_EditorClassIdentifier:
m_SensorName: RayPerceptionSensor
m_DetectableTags:
- StrongSmallAgent
- WeakSmallAgent
- wall
- StrongLargeAgent
- WeakLargeAgent
m_RaysPerDirection: 10
m_MaxRayDegrees: 120
m_SphereCastRadius: 0.5
m_RayLength: 100
m_RayLayerMask:
serializedVersion: 2
m_Bits: 4294967291
m_ObservationStacks: 3
rayHitColor: {r: 1, g: 0, b: 0, a: 1}
rayMissColor: {r: 1, g: 1, b: 1, a: 1}
m_StartVerticalOffset: 0
m_EndVerticalOffset: 0
--- !u!114 &220466546270386215
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083776131842293165}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a5c9d521e5ef4759a8246a07d52221e, type: 3}
m_Name:
m_EditorClassIdentifier:
DecisionPeriod: 5
TakeActionsBetweenDecisions: 1
offsetStep: 0
--- !u!114 &5940168890073970201
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083776131842293165}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 23537b7855a6444ea9d37f84c9c5ee84, type: 3}
m_Name:
m_EditorClassIdentifier:
agentParameters:
maxStep: 0
hasUpgradedFromAgentParameters: 1
maxStep: 3000
area: {fileID: 0}
largeAgent: {fileID: 0}
turnSpeed: 300
moveSpeed: 6
normalMaterial: {fileID: 2100000, guid: c9fa44c2c3f8ce74ca39a3355ea42631, type: 2}
weakMaterial: {fileID: 2100000, guid: ff14134b548ad4790809bd7ffdffbf32, type: 2}
deadMaterial: {fileID: 2100000, guid: 69fefdd39d2b34b169e921910bed9c0d, type: 2}
myLaser: {fileID: 476807081225894111}
myBody: {fileID: 8083011482102967889}
--- !u!1 &8083875348725975067
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8080857858239123045}
- component: {fileID: 8097471668415803577}
- component: {fileID: 8106065726536629861}
m_Layer: 0
m_Name: eye
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8080857858239123045
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083875348725975067}
m_LocalRotation: {x: -0, y: 1, z: -0, w: 0}
m_LocalPosition: {x: -0.29999995, y: 0.07399994, z: 0.50040054}
m_LocalScale: {x: 0.29457998, y: 0.29457998, z: 0.29457998}
m_Children: []
m_Father: {fileID: 8087097790320336139}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
--- !u!33 &8097471668415803577
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083875348725975067}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &8106065726536629861
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8083875348725975067}
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: f731be6866ce749fd8349e67ae81f76a, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1001 &515882922635212840
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 8081094897351109481}
m_Modifications:
- target: {fileID: 123071959092199671, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: endPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 123071959092199671, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: endPosition.y
value: 10
objectReference: {fileID: 0}
- target: {fileID: 123071959092199671, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: endPosition.z
value: 10
objectReference: {fileID: 0}
- target: {fileID: 123071959092199671, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: width
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6367184837690535948, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_LocalPosition.z
value: 0.55
objectReference: {fileID: 0}
- target: {fileID: 7838835760129934402, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_Name
value: Laser
objectReference: {fileID: 0}
- target: {fileID: 9221550522079577563, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
propertyPath: m_Positions.Array.data[1].z
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d40a32b30361e40b49d59bdfbbdb2e8c, type: 3}
--- !u!114 &476807081225894111 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 123071959092199671, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
m_PrefabInstance: {fileID: 515882922635212840}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b0c8a399fcbd84b0d9eec4ce8add0084, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &2976458075099582193 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3343439013409978073, guid: d40a32b30361e40b49d59bdfbbdb2e8c,
type: 3}
m_PrefabInstance: {fileID: 515882922635212840}
m_PrefabAsset: {fileID: 0}

7
Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/SmallAgent.prefab.meta


fileFormatVersion: 2
guid: 4dd35c7381e7445c99133a34a83e21db
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

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

875
Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/DragonCube.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &547471659033928682
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 545134588875847706}
- component: {fileID: 565118339413157418}
m_Layer: 0
m_Name: AgentCamera
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &545134588875847706
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547471659033928682}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0.15}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 544562099216735930}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!20 &565118339413157418
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547471659033928682}
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.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294950911
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!1 &547513711375494624
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 544562099216735930}
- component: {fileID: 570174740143844954}
- component: {fileID: 561812595168037462}
m_Layer: 0
m_Name: GodzillaCube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &544562099216735930
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547513711375494624}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 545134588875847706}
- {fileID: 545399074702870892}
- {fileID: 545341995029351892}
- {fileID: 544734802371223806}
- {fileID: 3609957944967888433}
- {fileID: 7494776702021198002}
- {fileID: 6558676794742578603}
- {fileID: 1292659816375761071}
- {fileID: 9027574722954401549}
- {fileID: 2585754200815560368}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &570174740143844954
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547513711375494624}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &561812595168037462
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547513711375494624}
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: 2dea38f51c97a415387d4bb76735822c, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &547695583694161808
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 545399074702870892}
- component: {fileID: 569842963430628444}
- component: {fileID: 562251516019831462}
m_Layer: 0
m_Name: eye
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &545399074702870892
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547695583694161808}
m_LocalRotation: {x: -0, y: 1, z: -0, w: 0}
m_LocalPosition: {x: 0.29999995, y: 0.07399994, z: 0.50040054}
m_LocalScale: {x: 0.29457998, y: 0.29457998, z: 0.29457998}
m_Children: []
m_Father: {fileID: 544562099216735930}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
--- !u!33 &569842963430628444
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547695583694161808}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &562251516019831462
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547695583694161808}
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: f731be6866ce749fd8349e67ae81f76a, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &547729388144901254
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 544734802371223806}
- component: {fileID: 569719564676168198}
- component: {fileID: 562340962485504604}
m_Layer: 0
m_Name: mouth
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &544734802371223806
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547729388144901254}
m_LocalRotation: {x: -0, y: 1, z: -0, w: 0}
m_LocalPosition: {x: 0, y: -0.18299997, z: 0.50040054}
m_LocalScale: {x: 0.27602, y: 0.042489994, z: 0.13891}
m_Children: []
m_Father: {fileID: 544562099216735930}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
--- !u!33 &569719564676168198
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547729388144901254}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &562340962485504604
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547729388144901254}
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: f731be6866ce749fd8349e67ae81f76a, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &547812991728274346
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 545341995029351892}
- component: {fileID: 570399537028477704}
- component: {fileID: 561559188287307220}
m_Layer: 0
m_Name: eye
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &545341995029351892
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547812991728274346}
m_LocalRotation: {x: -0, y: 1, z: -0, w: 0}
m_LocalPosition: {x: -0.29999995, y: 0.07399994, z: 0.50040054}
m_LocalScale: {x: 0.29457998, y: 0.29457998, z: 0.29457998}
m_Children: []
m_Father: {fileID: 544562099216735930}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
--- !u!33 &570399537028477704
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547812991728274346}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &561559188287307220
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547812991728274346}
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: f731be6866ce749fd8349e67ae81f76a, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1001 &1292659816375362095
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 544562099216735930}
m_Modifications:
- target: {fileID: 100000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_Name
value: tailspine1
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.y
value: 0.162
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.z
value: -0.575
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.x
value: -0.4463069
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.y
value: 0.5484617
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.z
value: -0.44630677
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.w
value: 0.54846174
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_RootOrder
value: 7
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 90.00001
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: -78.273
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.y
value: 0.8
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.z
value: 0.7
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.x
value: 0.8
objectReference: {fileID: 0}
- target: {fileID: 2300000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: b606abe61331649b095e1a41ce54593e, type: 2}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
--- !u!4 &1292659816375761071 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e,
type: 3}
m_PrefabInstance: {fileID: 1292659816375362095}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &2585754200815434800
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 544562099216735930}
m_Modifications:
- target: {fileID: 100000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_Name
value: tailspine3
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.y
value: -0.103
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.z
value: -0.653
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.x
value: 0.34478474
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.y
value: 0.617352
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.z
value: -0.34478477
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.w
value: -0.617352
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_RootOrder
value: 9
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 180
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 89.99999
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: -121.634
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.y
value: 0.8
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.z
value: 0.7
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.x
value: 0.8
objectReference: {fileID: 0}
- target: {fileID: 2300000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: b606abe61331649b095e1a41ce54593e, type: 2}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
--- !u!4 &2585754200815560368 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e,
type: 3}
m_PrefabInstance: {fileID: 2585754200815434800}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &3609957944968275121
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 544562099216735930}
m_Modifications:
- target: {fileID: 100000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_Name
value: tail
objectReference: {fileID: 0}
- target: {fileID: 100000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_StaticEditorFlags
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalPosition.x
value: 0.06
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalPosition.y
value: -0.5
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalPosition.z
value: -0.5
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalRotation.y
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalRotation.w
value: -0.7071068
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_RootOrder
value: 4
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 270
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalScale.y
value: 1.2968
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalScale.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_LocalScale.x
value: 1.0632
objectReference: {fileID: 0}
- target: {fileID: 2300000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_DynamicOccludee
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2300000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: 2dea38f51c97a415387d4bb76735822c, type: 2}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: fac50bd4d9c8d455f922c861fdfecb17, type: 3}
--- !u!4 &3609957944967888433 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: fac50bd4d9c8d455f922c861fdfecb17,
type: 3}
m_PrefabInstance: {fileID: 3609957944968275121}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &6558676794742703915
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 544562099216735930}
m_Modifications:
- target: {fileID: 100000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_Name
value: topspine2
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.y
value: 0.61
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.z
value: 0.29
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.y
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.w
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_RootOrder
value: 6
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 90
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.y
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.x
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 2300000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: b606abe61331649b095e1a41ce54593e, type: 2}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
--- !u!4 &6558676794742578603 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e,
type: 3}
m_PrefabInstance: {fileID: 6558676794742703915}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &7494776702021597746
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 544562099216735930}
m_Modifications:
- target: {fileID: 100000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_Name
value: topspine1
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.y
value: 0.61
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.z
value: -0.252
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.y
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.w
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_RootOrder
value: 5
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 90
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.y
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.x
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 2300000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: b606abe61331649b095e1a41ce54593e, type: 2}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
--- !u!4 &7494776702021198002 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e,
type: 3}
m_PrefabInstance: {fileID: 7494776702021597746}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &9027574722954005901
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 544562099216735930}
m_Modifications:
- target: {fileID: 100000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_Name
value: tailspine2
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.y
value: -0.328
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalPosition.z
value: -0.8
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.x
value: -0.26463333
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.y
value: 0.6557205
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.z
value: -0.26463318
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalRotation.w
value: 0.6557204
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_RootOrder
value: 8
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 90.00001
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: -43.956
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.y
value: 0.8
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.z
value: 0.7
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_LocalScale.x
value: 0.8
objectReference: {fileID: 0}
- target: {fileID: 2300000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: b606abe61331649b095e1a41ce54593e, type: 2}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d69445400990c4cb085f52ba604de84e, type: 3}
--- !u!4 &9027574722954401549 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: d69445400990c4cb085f52ba604de84e,
type: 3}
m_PrefabInstance: {fileID: 9027574722954005901}
m_PrefabAsset: {fileID: 0}

7
Project/Assets/ML-Agents/Examples/CubeWars/Prefabs/DragonCube.prefab.meta


fileFormatVersion: 2
guid: 3c19832ce9ed2473daa69598255a556f
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Project/Assets/ML-Agents/Examples/CubeWars/Scenes.meta


fileFormatVersion: 2
guid: 6fffdb5c342d24f748ef245f7393e7ee
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

7
Project/Assets/ML-Agents/Examples/CubeWars/Scenes/CubeWar.unity.meta


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

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

8
Project/Assets/ML-Agents/Examples/CubeWars/Scripts.meta


fileFormatVersion: 2
guid: 746b200d236db432f89b839adb9454e7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

66
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/CubeWarArea.cs


using UnityEngine;
using MLAgentsExamples;
public class CubeWarArea : Area
{
[HideInInspector]
public SmallCubeAgent[] smallAgents;
[HideInInspector]
public LargeCubeAgent[] largeAgents;
public float range;
void Start()
{
range = 1.0f;
smallAgents = GetComponentsInChildren<SmallCubeAgent>();
largeAgents = GetComponentsInChildren<LargeCubeAgent>();
}
public void AgentDied()
{
bool smallAlive = false;
foreach (var smallAgent in smallAgents)
{
if (!smallAgent.IsDead())
{
smallAlive = true;
}
}
bool largeAlive = false;
foreach (var largeAgent in largeAgents)
{
if (!largeAgent.IsDead())
{
largeAlive = true;
}
}
if (!smallAlive)
{
foreach (var smallAgent in smallAgents)
{
smallAgent.SetReward(-1.0f);
smallAgent.EndEpisode();
}
foreach (var largeAgent in largeAgents)
{
largeAgent.SetReward(1.0f);
largeAgent.EndEpisode();
}
}
else if (!largeAlive)
{
foreach (var smallAgent in smallAgents)
{
smallAgent.SetReward(1.0f);
smallAgent.EndEpisode();
}
foreach (var largeAgent in largeAgents)
{
largeAgent.SetReward(-1.0f);
largeAgent.EndEpisode();
}
}
}
}

11
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/CubeWarArea.cs.meta


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

50
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/CubeWarSettings.cs


using System;
using UnityEngine;
using UnityEngine.UI;
using MLAgents;
using MLAgents.SideChannels;
public class CubeWarSettings : MonoBehaviour
{
[HideInInspector]
public GameObject[] agents;
[HideInInspector]
public CubeWarArea[] listArea;
public int totalScore;
public Text scoreText;
StatsSideChannel m_statsSideChannel;
// public void Awake()
// {
// Academy.Instance.OnEnvironmentReset += EnvironmentReset;
// m_statsSideChannel = Academy.Instance.GetSideChannel<StatsSideChannel>();
// }
// public void EnvironmentReset()
// {
//
// agents = GameObject.FindGameObjectsWithTag("agent");
// listArea = FindObjectsOfType<CubeWarArea>();
// foreach (var fa in listArea)
// {
// fa.ResetWarArea(agents);
// }
//
// totalScore = 0;
// }
// public void Update()
// {
// scoreText.text = $"Score: {totalScore}";
//
// // Send stats via SideChannel so that they'll appear in TensorBoard.
// // These values get averaged every summary_frequency steps, so we don't
// // need to send every Update() call.
// if ((Time.frameCount % 100)== 0)
// {
// m_statsSideChannel?.AddStat("TotalScore", totalScore);
// }
// }
}

11
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/CubeWarSettings.cs.meta


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

322
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/LargeCubeAgent.cs


using UnityEngine;
using MLAgents;
using MLAgents.Sensors;
public class LargeCubeAgent : Agent
{
CubeWarSettings m_CubeWarSettings;
public GameObject area;
CubeWarArea m_MyArea;
bool m_Dead;
bool m_Shoot;
float m_ShootTime;
bool m_Shockwave;
float m_ShockwaveTime;
Rigidbody m_AgentRb;
float m_LaserLength;
float m_HitPoints;
// Speed of agent rotation.
public float turnSpeed;
// Speed of agent movement.
public float moveSpeed;
public Material normalMaterial;
public Material weakMaterial;
public Material deadMaterial;
public Laser myLaser;
public GameObject shockwave;
public GameObject myBody;
public override void Initialize()
{
m_AgentRb = GetComponent<Rigidbody>();
m_MyArea = area.GetComponent<CubeWarArea>();
m_CubeWarSettings = FindObjectOfType<CubeWarSettings>();
SetResetParameters();
}
public override void CollectObservations(VectorSensor sensor)
{
sensor.AddObservation(System.Convert.ToInt32(m_Shoot));
sensor.AddObservation(System.Convert.ToInt32(m_Shockwave));
sensor.AddObservation(m_HitPoints);
}
public Color32 ToColor(int hexVal)
{
var r = (byte)((hexVal >> 16) & 0xFF);
var g = (byte)((hexVal >> 8) & 0xFF);
var b = (byte)(hexVal & 0xFF);
return new Color32(r, g, b, 255);
}
public void MoveAgent(float[] act)
{
m_Shoot = false;
m_Shockwave = false;
var dirToGo = Vector3.zero;
var rotateDir = Vector3.zero;
if (!m_Dead)
{
var shootCommand = false;
var shockwaveCommand = false;
var forwardAxis = (int)act[0];
var rightAxis = (int)act[1];
var rotateAxis = (int)act[2];
var shootAxis = (int)act[3];
var shockwaveAxis = (int)act[4];
switch (forwardAxis)
{
case 1:
dirToGo = transform.forward;
break;
case 2:
dirToGo = -transform.forward;
break;
}
switch (rightAxis)
{
case 1:
dirToGo = transform.right;
break;
case 2:
dirToGo = -transform.right;
break;
}
switch (rotateAxis)
{
case 1:
rotateDir = -transform.up;
break;
case 2:
rotateDir = transform.up;
break;
}
switch (shootAxis)
{
case 1:
shootCommand = true;
break;
}
switch (shockwaveAxis)
{
case 1:
shockwaveCommand = true;
break;
}
if (shootCommand)
{
if (Time.time > m_ShootTime + 1f)
{
m_Shoot = true;
dirToGo *= 0.5f;
m_AgentRb.velocity *= 0.75f;
m_ShootTime = Time.time;
}
}
if (shockwaveCommand)
{
if (Time.time > m_ShockwaveTime + 3f)
{
m_Shockwave = true;
dirToGo *= 0.5f;
m_AgentRb.velocity *= 0.75f;
m_ShockwaveTime = Time.time;
}
}
if (!m_Shockwave)
{
transform.Rotate(rotateDir, Time.fixedDeltaTime * turnSpeed);
m_AgentRb.AddForce(dirToGo * moveSpeed, ForceMode.VelocityChange);
}
}
if (m_AgentRb.velocity.sqrMagnitude > 25f) // slow it down
{
m_AgentRb.velocity *= 0.95f;
}
float checkTime = Time.time;
if (m_Shoot)
{
var myTransform = transform;
myLaser.isFired = true;
var rayDir = 120.0f * myTransform.forward;
Debug.DrawRay(myTransform.position, rayDir, Color.red, 0f, true);
RaycastHit hit;
if (Physics.SphereCast(transform.position, 7f, rayDir, out hit, 120f))
{
if (hit.collider.gameObject.CompareTag("StrongSmallAgent") || hit.collider.gameObject.CompareTag("WeakSmallAgent"))
{
hit.collider.gameObject.GetComponent<SmallCubeAgent>().HitAgent(.5f);
AddReward(.1f);
}
else if (hit.collider.gameObject.CompareTag("StrongLargeAgent") || hit.collider.gameObject.CompareTag("WeakLargeAgent"))
{
hit.collider.gameObject.GetComponent<LargeCubeAgent>().HealAgent();
}
}
}
else if (checkTime > m_ShootTime + .5f)
{
myLaser.isFired = false;
}
if (m_Shockwave)
{
// Squish animation
myBody.transform.localScale = new Vector3(1.2f, 0.8f, 1.2f);
// Make shockwave animation
var myTransform = transform;
shockwave.transform.localScale = new Vector3(1f, 1f, 1f);
RaycastHit hit;
int casts = 16;
float angleRotation = 360f / (float)casts;
for (int i = 0; i < casts; i++)
{
var rayDir = Quaternion.AngleAxis(angleRotation * i, Vector3.up) * myTransform.forward * 10f;
Debug.DrawRay(myTransform.position, rayDir, Color.green, 0f, true);
if (Physics.SphereCast(transform.position, 3f, rayDir, out hit, 7f))
{
if (hit.collider.gameObject.CompareTag("StrongSmallAgent") || hit.collider.gameObject.CompareTag("WeakSmallAgent"))
{
hit.collider.gameObject.GetComponent<SmallCubeAgent>().HitAgent(1f);
AddReward(.1f);
}
}
}
}
else if (checkTime > m_ShockwaveTime + 0.3f)
{
myBody.transform.localScale = new Vector3(1f, 1f, 1f);
shockwave.transform.localScale = new Vector3(0f, 0f, 0f);
}
}
public void HitAgent(float damage)
{
if (!m_Dead)
{
m_HitPoints -= damage;
HealthStatus();
}
}
public void HealAgent()
{
if (m_HitPoints < 1f && !m_Dead)
{
m_HitPoints = Mathf.Min(m_HitPoints + .1f, 1f);
HealthStatus();
}
}
public void HealthStatus()
{
if (m_HitPoints <= 1f && m_HitPoints > .5f)
{
gameObject.tag = "StrongLargeAgent";
myBody.GetComponentInChildren<Renderer>().material = normalMaterial;
}
else if (m_HitPoints <= .5f && m_HitPoints > 0.0f)
{
gameObject.tag = "WeakLargeAgent";
myBody.GetComponentInChildren<Renderer>().material = weakMaterial;
}
else // Dead
{
m_Dead = true;
gameObject.tag = "DeadLargeAgent";
myBody.GetComponentInChildren<Renderer>().material = deadMaterial;
m_MyArea.AgentDied();
}
}
public override void OnActionReceived(float[] vectorAction)
{
MoveAgent(vectorAction);
}
public override float[] Heuristic()
{
var action = new float[5];
if (Input.GetKey(KeyCode.D))
{
action[2] = 2f;
}
if (Input.GetKey(KeyCode.W))
{
action[0] = 1f;
}
if (Input.GetKey(KeyCode.E))
{
action[1] = 1f;
}
if (Input.GetKey(KeyCode.Q))
{
action[1] = 2f;
}
if (Input.GetKey(KeyCode.A))
{
action[2] = 1f;
}
if (Input.GetKey(KeyCode.S))
{
action[0] = 2f;
}
action[3] = Input.GetKey(KeyCode.Space) ? 1.0f : 0.0f;
action[4] = Input.GetKey(KeyCode.O) ? 1.0f : 0.0f;
return action;
}
public override void OnEpisodeBegin()
{
m_HitPoints = 1f;
HealthStatus();
m_Dead = false;
m_Shoot = false;
m_ShootTime = -1f;
m_ShockwaveTime = -3f;
m_AgentRb.velocity = Vector3.zero;
shockwave.transform.localScale = new Vector3(0f, 0f, 0f);
transform.position = new Vector3(Random.Range(-m_MyArea.range, m_MyArea.range),
2f, Random.Range(-m_MyArea.range, m_MyArea.range))
+ area.transform.position;
transform.rotation = Quaternion.Euler(new Vector3(0f, Random.Range(0, 360)));
SetResetParameters();
}
public bool IsDead()
{
return m_Dead;
}
public void SetLaserLengths()
{
m_LaserLength = 1f;
}
public void SetAgentScale()
{
float agentScale = 5f;
transform.localScale = new Vector3(agentScale, agentScale, agentScale);
}
public void SetResetParameters()
{
SetLaserLengths();
SetAgentScale();
}
}

11
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/LargeCubeAgent.cs.meta


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

45
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/Laser.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Laser : MonoBehaviour
{
public bool isFired;
public float maxLength = 25f;
public float width = 0.5f;
public bool animate = false;
LineRenderer laserRenderer;
// Start is called before the first frame update
void Start()
{
laserRenderer = GetComponentInChildren<LineRenderer>();
laserRenderer.SetWidth(width, width);
laserRenderer.material.SetTextureScale("_MainTex", new Vector2(0.07f, 1.0f));
}
// Update is called once per frame
void FixedUpdate()
{
if (isFired)
{
if (animate)
{
laserRenderer.material.SetTextureOffset("_MainTex", new Vector2(-3 * Time.time, 0.0f));
}
RaycastHit hit;
if (Physics.Raycast(transform.position, transform.forward, out hit, maxLength))
{
laserRenderer.SetPosition(1, new Vector3(0f, 0f, hit.distance / transform.lossyScale.z));
}
else
{
laserRenderer.SetPosition(1, new Vector3(0f, 0f, maxLength / transform.lossyScale.z));
}
}
else
{
laserRenderer.SetPosition(1, new Vector3(0f, 0f, 0f));
}
}
}

11
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/Laser.cs.meta


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

279
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/SmallCubeAgent.cs


using UnityEngine;
using MLAgents;
using MLAgents.Sensors;
using MLAgents.SideChannels;
public class SmallCubeAgent : Agent
{
CubeWarSettings m_CubeWarSettings;
public GameObject area;
CubeWarArea m_MyArea;
public GameObject largeAgent;
LargeCubeAgent m_LargeAgent;
bool m_Dead;
bool m_Shoot;
float m_ShootTime;
Rigidbody m_AgentRb;
float m_LaserLength;
float m_HitPoints;
// Speed of agent rotation.
public float turnSpeed;
float m_Bonus;
// Speed of agent movement.
public float moveSpeed;
public Material normalMaterial;
public Material weakMaterial;
public Material deadMaterial;
public Laser myLaser;
public GameObject myBody;
public override void Initialize()
{
m_AgentRb = GetComponent<Rigidbody>();
m_MyArea = area.GetComponent<CubeWarArea>();
m_LargeAgent = largeAgent.GetComponent<LargeCubeAgent>();
m_CubeWarSettings = FindObjectOfType<CubeWarSettings>();
SetResetParameters();
}
public override void CollectObservations(VectorSensor sensor)
{
sensor.AddObservation(System.Convert.ToInt32(m_Shoot));
sensor.AddObservation(System.Convert.ToInt32(m_Dead));
sensor.AddObservation(m_HitPoints);
// Direction big agent is looking
Vector3 dirToSelf = transform.position - m_LargeAgent.transform.position;
float angle = Vector3.Dot(m_LargeAgent.transform.forward.normalized, dirToSelf.normalized);
sensor.AddObservation(angle);
if (m_Dead)
{
AddReward(-.001f * m_Bonus);
}
}
public Color32 ToColor(int hexVal)
{
var r = (byte)((hexVal >> 16) & 0xFF);
var g = (byte)((hexVal >> 8) & 0xFF);
var b = (byte)(hexVal & 0xFF);
return new Color32(r, g, b, 255);
}
public void MoveAgent(float[] act)
{
m_Shoot = false;
var dirToGo = Vector3.zero;
var rotateDir = Vector3.zero;
if (!m_Dead)
{
var shootCommand = false;
var forwardAxis = (int)act[0];
var rightAxis = (int)act[1];
var rotateAxis = (int)act[2];
var shootAxis = (int)act[3];
switch (forwardAxis)
{
case 1:
dirToGo = transform.forward;
break;
case 2:
dirToGo = -transform.forward;
break;
}
switch (rightAxis)
{
case 1:
dirToGo = transform.right;
break;
case 2:
dirToGo = -transform.right;
break;
}
switch (rotateAxis)
{
case 1:
rotateDir = -transform.up;
break;
case 2:
rotateDir = transform.up;
break;
}
switch (shootAxis)
{
case 1:
shootCommand = true;
break;
}
if (shootCommand)
{
if (Time.time > m_ShootTime + .4f)
{
m_Shoot = true;
dirToGo *= 0.5f;
m_AgentRb.velocity *= 0.9f;
m_ShootTime = Time.time;
}
}
transform.Rotate(rotateDir, Time.fixedDeltaTime * turnSpeed);
m_AgentRb.AddForce(dirToGo * moveSpeed, ForceMode.VelocityChange);
}
//if (m_AgentRb.velocity.sqrMagnitude > 25f) // slow it down
//{
// m_AgentRb.velocity *= 0.95f;
//}
if (m_Shoot)
{
var myTransform = transform;
var rayDir = 25.0f * myTransform.forward;
Debug.DrawRay(myTransform.position, rayDir, Color.red, 0f, true);
RaycastHit hit;
if (Physics.SphereCast(transform.position, 2f, rayDir, out hit, 28f))
{
if (hit.collider.gameObject.CompareTag("StrongSmallAgent") || hit.collider.gameObject.CompareTag("WeakSmallAgent"))
{
hit.collider.gameObject.GetComponent<SmallCubeAgent>().HealAgent();
}
else if (hit.collider.gameObject.CompareTag("StrongLargeAgent") || hit.collider.gameObject.CompareTag("WeakLargeAgent"))
{
hit.collider.gameObject.GetComponent<LargeCubeAgent>().HitAgent(.02f);
AddReward(.1f + .4f * m_Bonus);
}
myLaser.isFired = true;
}
}
else if (Time.time > m_ShootTime + .25f)
{
myLaser.isFired = false;
}
}
public void HitAgent(float damage)
{
if (!m_Dead)
{
m_HitPoints -= damage;
HealthStatus();
}
}
public void HealAgent()
{
if (m_HitPoints < 1f)
{
m_HitPoints = Mathf.Min(m_HitPoints + .25f, 1f);
HealthStatus();
}
}
void HealthStatus()
{
if (m_HitPoints <= 1f && m_HitPoints > .5f)
{
gameObject.tag = "StrongSmallAgent";
myBody.GetComponentInChildren<Renderer>().material = normalMaterial;
}
else if (m_HitPoints <= .5f && m_HitPoints > 0.0f)
{
gameObject.tag = "WeakSmallAgent";
myBody.GetComponentInChildren<Renderer>().material = weakMaterial;
}
else // Dead
{
AddReward(-.1f * m_Bonus);
m_Dead = true;
gameObject.tag = "DeadSmallAgent";
myBody.GetComponentInChildren<Renderer>().material = deadMaterial;
m_MyArea.AgentDied();
}
}
public override void OnActionReceived(float[] vectorAction)
{
MoveAgent(vectorAction);
}
public override float[] Heuristic()
{
var action = new float[4];
if (Input.GetKey(KeyCode.D))
{
action[2] = 2f;
}
if (Input.GetKey(KeyCode.W))
{
action[0] = 1f;
}
if (Input.GetKey(KeyCode.E))
{
action[1] = 1f;
}
if (Input.GetKey(KeyCode.Q))
{
action[1] = 2f;
}
if (Input.GetKey(KeyCode.A))
{
action[2] = 1f;
}
if (Input.GetKey(KeyCode.S))
{
action[0] = 2f;
}
action[3] = Input.GetKey(KeyCode.Space) ? 1.0f : 0.0f;
return action;
}
public override void OnEpisodeBegin()
{
m_HitPoints = 1f;
HealthStatus();
m_Dead = false;
m_Shoot = false;
m_ShootTime = -.5f;
//m_Bonus = Academy.Instance.FloatProperties.GetPropertyWithDefault("bonus", 0);
m_Bonus = SideChannelUtils.GetSideChannel<FloatPropertiesChannel>().GetPropertyWithDefault("bonus", 0);
m_AgentRb.velocity = Vector3.zero;
float smallRange = 50f * m_MyArea.range;
transform.position = new Vector3(Random.Range(-smallRange, smallRange),
2f, Random.Range(-smallRange, smallRange))
+ area.transform.position;
transform.rotation = Quaternion.Euler(new Vector3(0f, Random.Range(0, 360)));
SetResetParameters();
}
public bool IsDead()
{
return m_Dead;
}
public void SetLaserLengths()
{
m_LaserLength = 1f;
}
public void SetAgentScale()
{
float agentScale = 1f;
gameObject.transform.localScale = new Vector3(agentScale, agentScale, agentScale);
}
public void SetResetParameters()
{
SetLaserLengths();
SetAgentScale();
}
}

11
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/SmallCubeAgent.cs.meta


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

8
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/WarLogic.cs


using UnityEngine;
// In war, resolution; in defeat, defiance; in victory, magnanimity.
public class WarLogic : MonoBehaviour
{
public bool respawn;
public CubeWarArea myArea;
}

11
Project/Assets/ML-Agents/Examples/CubeWars/Scripts/WarLogic.cs.meta


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

8
Project/Assets/ML-Agents/Examples/CubeWars/TFModels.meta


fileFormatVersion: 2
guid: 4cb84562aa05c40f3b3f037350715a14
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

11
Project/Assets/ML-Agents/Examples/CubeWars/TFModels/LargeCubeSoldier.nn.meta


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

11
Project/Assets/ML-Agents/Examples/CubeWars/TFModels/SmallCubeSoldier.nn.meta


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

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

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

正在加载...
取消
保存