aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorCarson Katri <carson.katri@gmail.com>2021-06-12 16:55:43 -0400
committerCarson Katri <carson.katri@gmail.com>2021-06-12 16:55:43 -0400
commit939170f625e5928d5ca86a57796aaa23f25a4fa7 (patch)
treedb7d4672a634a38bccbb448563f4387daef4beab
parent6bd59f3f902328c5c2ac19f0a03abb1194c113c9 (diff)
downloadgmtk-gamejam-939170f625e5928d5ca86a57796aaa23f25a4fa7.tar.gz
gmtk-gamejam-939170f625e5928d5ca86a57796aaa23f25a4fa7.tar.zst
gmtk-gamejam-939170f625e5928d5ca86a57796aaa23f25a4fa7.zip
Smooth leg animation
-rw-r--r--Assets/.DS_Storebin6148 -> 6148 bytes
-rw-r--r--Assets/Prefabs/Enemy.prefab768
-rw-r--r--Assets/Prefabs/Enemy.prefab.meta7
-rw-r--r--Assets/Scenes/Main.unity94
-rw-r--r--Assets/Scripts/Controllers/AIController.cs72
-rw-r--r--Assets/Scripts/Controllers/GameController.cs2
-rw-r--r--Assets/Sprites/Enemy.pngbin0 -> 645 bytes
-rw-r--r--Assets/Sprites/Enemy.png.meta240
8 files changed, 1175 insertions, 8 deletions
diff --git a/Assets/.DS_Store b/Assets/.DS_Store
index fc862bb..005151d 100644
--- a/Assets/.DS_Store
+++ b/Assets/.DS_Store
Binary files differ
diff --git a/Assets/Prefabs/Enemy.prefab b/Assets/Prefabs/Enemy.prefab
new file mode 100644
index 0000000..6344eab
--- /dev/null
+++ b/Assets/Prefabs/Enemy.prefab
@@ -0,0 +1,768 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &7079067998564477639
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7079067998564477638}
+ - component: {fileID: 7079067998564477637}
+ m_Layer: 6
+ m_Name: Leg.Right.Top
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7079067998564477638
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067998564477639}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -0.079999976, y: 0.9599999, z: 0}
+ m_LocalScale: {x: 4, y: 4, z: 1}
+ m_Children:
+ - {fileID: 7079068000273710487}
+ m_Father: {fileID: 7079067999241254396}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &7079067998564477637
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067998564477639}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 2
+ m_Sprite: {fileID: -5720429097031363069, guid: d3134546203bb43dca98c7ffe70cf5d2, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.04, y: 0.13}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!1 &7079067998874270571
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7079067998874270570}
+ - component: {fileID: 7079067998874270569}
+ m_Layer: 6
+ m_Name: Arm.Left
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7079067998874270570
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067998874270571}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0.24000001, y: 1.7199999, z: 0}
+ m_LocalScale: {x: 4, y: 4, z: 1}
+ m_Children: []
+ m_Father: {fileID: 7079067999241254396}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &7079067998874270569
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067998874270571}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 2
+ m_Sprite: {fileID: -3876759189950653258, guid: d3134546203bb43dca98c7ffe70cf5d2, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.04, y: 0.15}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!1 &7079067998927418464
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7079067998927418495}
+ - component: {fileID: 7079067998927418494}
+ m_Layer: 6
+ m_Name: Leg.Left.Bottom
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7079067998927418495
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067998927418464}
+ m_LocalRotation: {x: -0, y: -0, z: -0.0000000171352, w: 1}
+ m_LocalPosition: {x: 0, y: -0.110000014, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 7079067998994176362}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: -0}
+--- !u!212 &7079067998927418494
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067998927418464}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 1
+ m_Sprite: {fileID: -7911572535675539837, guid: d3134546203bb43dca98c7ffe70cf5d2, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.06, y: 0.13}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!1 &7079067998994176363
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7079067998994176362}
+ - component: {fileID: 7079067998994176361}
+ m_Layer: 6
+ m_Name: Left.Left.Top
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7079067998994176362
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067998994176363}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0.12000002, y: 0.9599999, z: 0}
+ m_LocalScale: {x: 4, y: 4, z: 1}
+ m_Children:
+ - {fileID: 7079067998927418495}
+ m_Father: {fileID: 7079067999241254396}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &7079067998994176361
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067998994176363}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 2
+ m_Sprite: {fileID: -5720429097031363069, guid: d3134546203bb43dca98c7ffe70cf5d2, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.04, y: 0.13}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!1 &7079067999241254397
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7079067999241254396}
+ - component: {fileID: 670472073231852718}
+ - component: {fileID: 391441287063834562}
+ - component: {fileID: 2915148967131225220}
+ m_Layer: 6
+ m_Name: Enemy
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7079067999241254396
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067999241254397}
+ 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: 7079067999656997561}
+ - {fileID: 7079068000117515304}
+ - {fileID: 7079067998874270570}
+ - {fileID: 7079067999404952341}
+ - {fileID: 7079067998994176362}
+ - {fileID: 7079067998564477638}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &670472073231852718
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067999241254397}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: bc5bf022ed0c4bfcaae099b96eecf645, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ speed: 2
+ leftLeg:
+ top: {fileID: 7079067998994176363}
+ bottom: {fileID: 7079067998927418464}
+ rightLeg:
+ top: {fileID: 7079067998564477639}
+ bottom: {fileID: 7079068000273710488}
+ maxLegAngle: 30
+ legSpeed: 20
+ game: {fileID: 0}
+--- !u!50 &391441287063834562
+Rigidbody2D:
+ serializedVersion: 4
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067999241254397}
+ m_BodyType: 1
+ m_Simulated: 1
+ m_UseFullKinematicContacts: 0
+ m_UseAutoMass: 0
+ m_Mass: 1
+ m_LinearDrag: 0
+ m_AngularDrag: 0.05
+ m_GravityScale: 1
+ m_Material: {fileID: 0}
+ m_Interpolate: 0
+ m_SleepingMode: 1
+ m_CollisionDetection: 0
+ m_Constraints: 0
+--- !u!61 &2915148967131225220
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067999241254397}
+ m_Enabled: 1
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_UsedByEffector: 0
+ m_UsedByComposite: 0
+ m_Offset: {x: 0.018158257, y: 1.1802855}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0, y: 0}
+ oldSize: {x: 0, y: 0}
+ newSize: {x: 0, y: 0}
+ adaptiveTilingThreshold: 0
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ serializedVersion: 2
+ m_Size: {x: 0.36446178, y: 2.3509731}
+ m_EdgeRadius: 0
+--- !u!1 &7079067999404952342
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7079067999404952341}
+ - component: {fileID: 7079067999404952340}
+ m_Layer: 6
+ m_Name: Arm.Right
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7079067999404952341
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067999404952342}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -0.07999998, y: 1.7199999, z: 0}
+ m_LocalScale: {x: 4, y: 4, z: 1}
+ m_Children: []
+ m_Father: {fileID: 7079067999241254396}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &7079067999404952340
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067999404952342}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_Sprite: {fileID: -3876759189950653258, guid: d3134546203bb43dca98c7ffe70cf5d2, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.04, y: 0.15}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!1 &7079067999656997562
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7079067999656997561}
+ - component: {fileID: 7079067999656997560}
+ m_Layer: 6
+ m_Name: Head
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7079067999656997561
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067999656997562}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0.000000007450581, y: 1.8399999, z: 0}
+ m_LocalScale: {x: 4, y: 4, z: 1}
+ m_Children: []
+ m_Father: {fileID: 7079067999241254396}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &7079067999656997560
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079067999656997562}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 2
+ m_Sprite: {fileID: 8596640243658272642, guid: d3134546203bb43dca98c7ffe70cf5d2, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.13, y: 0.15}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!1 &7079068000117515305
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7079068000117515304}
+ - component: {fileID: 7079068000117515303}
+ m_Layer: 6
+ m_Name: Body
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7079068000117515304
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079068000117515305}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0.08, y: 1.4, z: 0}
+ m_LocalScale: {x: 4, y: 4, z: 1}
+ m_Children: []
+ m_Father: {fileID: 7079067999241254396}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &7079068000117515303
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079068000117515305}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 1
+ m_Sprite: {fileID: -7642239419928554605, guid: d3134546203bb43dca98c7ffe70cf5d2, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.12, y: 0.17}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!1 &7079068000273710488
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7079068000273710487}
+ - component: {fileID: 7079068000273710486}
+ m_Layer: 6
+ m_Name: Leg.Right.Bottom
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7079068000273710487
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079068000273710488}
+ m_LocalRotation: {x: -0, y: -0, z: -0.000000014901159, w: 1}
+ m_LocalPosition: {x: 0, y: -0.110000014, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 7079067998564477638}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: -0}
+--- !u!212 &7079068000273710486
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7079068000273710488}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 1
+ m_Sprite: {fileID: -7911572535675539837, guid: d3134546203bb43dca98c7ffe70cf5d2, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 0.06, y: 0.13}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
diff --git a/Assets/Prefabs/Enemy.prefab.meta b/Assets/Prefabs/Enemy.prefab.meta
new file mode 100644
index 0000000..8eb7e12
--- /dev/null
+++ b/Assets/Prefabs/Enemy.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d9b5414ac39834728992e2585c5ad778
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity
index 8979071..00dfe0d 100644
--- a/Assets/Scenes/Main.unity
+++ b/Assets/Scenes/Main.unity
@@ -152,6 +152,7 @@ Transform:
m_Children:
- {fileID: 1174357919}
- {fileID: 1189511746}
+ - {fileID: 1006046227}
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -298,6 +299,17 @@ Transform:
m_CorrespondingSourceObject: {fileID: 2106494524751008833, guid: b2939f2eae52d074b81e81fccdde88f9, type: 3}
m_PrefabInstance: {fileID: 1402386184}
m_PrefabAsset: {fileID: 0}
+--- !u!114 &682227412 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 6095859834264611326, guid: c64ad9b908cb44602b3d13a74aef751f, type: 3}
+ m_PrefabInstance: {fileID: 984947992}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 261cc3206075846ebbd03b8896e7c733, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1001 &700993592
PrefabInstance:
m_ObjectHideFlags: 0
@@ -315,11 +327,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 5143626018439341592, guid: 2485406c33a7d4f5481ce936cc9b162e, type: 3}
propertyPath: m_LocalPosition.x
- value: 3.5
+ value: -2.46
objectReference: {fileID: 0}
- target: {fileID: 5143626018439341592, guid: 2485406c33a7d4f5481ce936cc9b162e, type: 3}
propertyPath: m_LocalPosition.y
- value: 5.5
+ value: 3.9
objectReference: {fileID: 0}
- target: {fileID: 5143626018439341592, guid: 2485406c33a7d4f5481ce936cc9b162e, type: 3}
propertyPath: m_LocalPosition.z
@@ -387,11 +399,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 6095859834264611321, guid: c64ad9b908cb44602b3d13a74aef751f, type: 3}
propertyPath: m_LocalPosition.x
- value: -0.10864201
+ value: -1.388642
objectReference: {fileID: 0}
- target: {fileID: 6095859834264611321, guid: c64ad9b908cb44602b3d13a74aef751f, type: 3}
propertyPath: m_LocalPosition.y
- value: -0.11388469
+ value: -1.7938846
objectReference: {fileID: 0}
- target: {fileID: 6095859834264611321, guid: c64ad9b908cb44602b3d13a74aef751f, type: 3}
propertyPath: m_LocalPosition.z
@@ -447,6 +459,11 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c64ad9b908cb44602b3d13a74aef751f, type: 3}
+--- !u!4 &1006046227 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ m_PrefabInstance: {fileID: 7079067998248188399}
+ m_PrefabAsset: {fileID: 0}
--- !u!4 &1116995016 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 2106494524751008833, guid: b2939f2eae52d074b81e81fccdde88f9, type: 3}
@@ -709,3 +726,72 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: be9aa59b997c243a2bf4287cb2129092, type: 3}
+--- !u!1001 &7079067998248188399
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 244382786}
+ m_Modifications:
+ - target: {fileID: 670472073231852718, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: game
+ value:
+ objectReference: {fileID: 1174357920}
+ - target: {fileID: 670472073231852718, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: player
+ value:
+ objectReference: {fileID: 682227412}
+ - target: {fileID: 670472073231852718, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: legSpeed
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_RootOrder
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 1.4913579
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: -2.725
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 134.58575
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254396, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079067999241254397, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
+ propertyPath: m_Name
+ value: Enemy
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: d9b5414ac39834728992e2585c5ad778, type: 3}
diff --git a/Assets/Scripts/Controllers/AIController.cs b/Assets/Scripts/Controllers/AIController.cs
index 9f115c2..19a7d3e 100644
--- a/Assets/Scripts/Controllers/AIController.cs
+++ b/Assets/Scripts/Controllers/AIController.cs
@@ -1,19 +1,83 @@
+using System;
+using Controllers.Player;
using UnityEngine;
+using Random = UnityEngine.Random;
namespace Controllers
{
+ [RequireComponent(typeof(Rigidbody2D))]
+ [RequireComponent(typeof(BoxCollider2D))]
public class AIController : MonoBehaviour
{
+ [SerializeField] private float speed;
+
+ [Header("Legs")]
+ [SerializeField] private Leg leftLeg;
+ [SerializeField] private Leg rightLeg;
+ [SerializeField] private float maxLegAngle;
+ [SerializeField] private float legSpeed;
+
+ [Header("References")]
+ [SerializeField] private GameController game;
+ [SerializeField] private PlayerController player;
+
+ public Rigidbody2D Rigidbody => _rigidbody != null ? _rigidbody : _rigidbody = GetComponent<Rigidbody2D>();
+ private Rigidbody2D _rigidbody;
+
+ public BoxCollider2D BoxCollider => _boxCollider != null ? _boxCollider : _boxCollider = GetComponent<BoxCollider2D>();
+ private BoxCollider2D _boxCollider;
+
private void Update()
{
- if (Input.GetKey(KeyCode.H))
+ if (!game.enemy.HasBall) // Move towards the ball to grab it.
{
- transform.position += Vector3.right * 0.01f;
+ transform.position += new Vector3(game.ball.transform.position.x - transform.position.x, 0f, 0f).normalized * (Time.deltaTime * speed);
+
+ if (Vector2.Distance(player.transform.position, transform.position) < 1f) // Repel from the player if they get too close.
+ {
+ transform.position -= (player.transform.position - transform.position).normalized * (Time.deltaTime * speed / 2f);
+ }
+
+ // Grab from the middle, and the bottom.
+ if (game.player.HasBall && Random.Range(0, 100) > 50) // 50% chance of them grabbing the ball from the player.
+ {
+ game.enemy.GrabBall(transform.position);
+ game.enemy.GrabBall(transform.position + new Vector3(0f, BoxCollider.size.y / 2, 0f));
+ }
}
- else if (Input.GetKey(KeyCode.F))
+ else // Otherwise, move toward the basket, and then once we get within range, take the shot.
{
- transform.position += Vector3.left * 0.01f;
}
+
+ game.enemy.Move(transform.position + new Vector3(0f, BoxCollider.size.y / 2, 0f));
+
+ leftLeg.top.transform.localRotation = Quaternion.Slerp(
+ leftLeg.top.transform.localRotation,
+ Quaternion.Euler(0, 0, maxLegAngle * Mathf.Sin(Time.time * legSpeed * (Rigidbody.velocity.magnitude / 5f))),
+ Time.deltaTime * 50f
+ );
+ leftLeg.bottom.transform.localRotation = Quaternion.Slerp(
+ leftLeg.bottom.transform.localRotation,
+ Quaternion.Euler(0, 0, maxLegAngle + maxLegAngle * Mathf.Sin(Time.time * legSpeed * (Rigidbody.velocity.magnitude / 5f))),
+ Time.deltaTime * 50f
+ );
+ rightLeg.top.transform.localRotation = Quaternion.Slerp(
+ rightLeg.top.transform.localRotation,
+ Quaternion.Euler(0, 0, maxLegAngle * Mathf.Sin(Time.time * -legSpeed * (Rigidbody.velocity.magnitude / 5f))),
+ Time.deltaTime * 50f
+ );
+ rightLeg.bottom.transform.localRotation = Quaternion.Slerp(
+ rightLeg.bottom.transform.localRotation,
+ Quaternion.Euler(0, 0, maxLegAngle + maxLegAngle * Mathf.Sin(Time.time * -legSpeed * (Rigidbody.velocity.magnitude / 5f))),
+ Time.deltaTime * 50f
+ );
+ }
+
+ [Serializable]
+ private struct Leg
+ {
+ public GameObject top;
+ public GameObject bottom;
}
}
}
diff --git a/Assets/Scripts/Controllers/GameController.cs b/Assets/Scripts/Controllers/GameController.cs
index c326c4e..9ae0ce8 100644
--- a/Assets/Scripts/Controllers/GameController.cs
+++ b/Assets/Scripts/Controllers/GameController.cs
@@ -40,6 +40,8 @@ namespace Controllers
private State dribble => isEnemy ? State.EnemyDribble : State.PlayerDribble;
private State shoot => isEnemy ? State.EnemyShoot : State.PlayerShoot;
+ public bool HasBall => controller.state == dribble;
+
/// <summary>
/// When dribbling, move the ball with the player.
/// </summary>
diff --git a/Assets/Sprites/Enemy.png b/Assets/Sprites/Enemy.png
new file mode 100644
index 0000000..57dc47a
--- /dev/null
+++ b/Assets/Sprites/Enemy.png
Binary files differ
diff --git a/Assets/Sprites/Enemy.png.meta b/Assets/Sprites/Enemy.png.meta
new file mode 100644
index 0000000..f487217
--- /dev/null
+++ b/Assets/Sprites/Enemy.png.meta
@@ -0,0 +1,240 @@
+fileFormatVersion: 2
+guid: d3134546203bb43dca98c7ffe70cf5d2
+TextureImporter:
+ internalIDToNameTable:
+ - first:
+ 213: 8596640243658272642
+ second: Head
+ - first:
+ 213: -7642239419928554605
+ second: Body
+ - first:
+ 213: -3876759189950653258
+ second: Arm
+ - first:
+ 213: -5720429097031363069
+ second: Leg.Top
+ - first:
+ 213: -7911572535675539837
+ second: Leg.Bottom
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ 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
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: -1
+ mipBias: -100
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 2
+ 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: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites:
+ - serializedVersion: 2
+ name: Head
+ rect:
+ serializedVersion: 2
+ x: 0
+ y: 49
+ width: 13
+ height: 15
+ alignment: 9
+ pivot: {x: 0.46153846, y: 0.1333333}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 28f241131c66d4770800000000000000
+ internalID: 8596640243658272642
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Body
+ rect:
+ serializedVersion: 2
+ x: 13
+ y: 44
+ width: 12
+ height: 20
+ alignment: 9
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 393dba6ecbf41f590800000000000000
+ internalID: -7642239419928554605
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Arm
+ rect:
+ serializedVersion: 2
+ x: 25
+ y: 46
+ width: 4
+ height: 18
+ alignment: 9
+ pivot: {x: 0.5, y: 0.8888889}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 6bc92438e0cf23ac0800000000000000
+ internalID: -3876759189950653258
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Leg.Top
+ rect:
+ serializedVersion: 2
+ x: 29
+ y: 51
+ width: 4
+ height: 13
+ alignment: 9
+ pivot: {x: 0.5, y: 0.84615386}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 30613ac5b04fc90b0800000000000000
+ internalID: -5720429097031363069
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: Leg.Bottom
+ rect:
+ serializedVersion: 2
+ x: 33
+ y: 51
+ width: 6
+ height: 13
+ alignment: 9
+ pivot: {x: 0.6666667, y: 1}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 38ea25432b2743290800000000000000
+ internalID: -7911572535675539837
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant: