From 2e99fc003c0aa89b2cbbc274d65ffd1513d9c081 Mon Sep 17 00:00:00 2001 From: Jordan Orelli Date: Fri, 17 Apr 2020 21:46:12 -0500 Subject: [PATCH] collide with the ground --- Assets/Materials.meta | 8 + Assets/Materials/Obstacle.mat | 77 ++++ Assets/Materials/Obstacle.mat.meta | 8 + Assets/Materials/Player.mat | 77 ++++ Assets/Materials/Player.mat.meta | 8 + Assets/Prefabs/Platform.prefab | 93 ---- Assets/Prefabs/Player.prefab | 137 ++++++ ...latform.prefab.meta => Player.prefab.meta} | 2 +- Assets/Scenes/SampleScene.unity | 430 ++++++------------ Assets/Scripts/MoveController.cs | 21 +- Assets/Scripts/PlayerController.cs | 6 + 11 files changed, 468 insertions(+), 399 deletions(-) create mode 100644 Assets/Materials.meta create mode 100644 Assets/Materials/Obstacle.mat create mode 100644 Assets/Materials/Obstacle.mat.meta create mode 100644 Assets/Materials/Player.mat create mode 100644 Assets/Materials/Player.mat.meta delete mode 100644 Assets/Prefabs/Platform.prefab create mode 100644 Assets/Prefabs/Player.prefab rename Assets/Prefabs/{Platform.prefab.meta => Player.prefab.meta} (74%) diff --git a/Assets/Materials.meta b/Assets/Materials.meta new file mode 100644 index 0000000..94278e7 --- /dev/null +++ b/Assets/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 28f58d5678a9037409a9e83a130f3618 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Obstacle.mat b/Assets/Materials/Obstacle.mat new file mode 100644 index 0000000..8a5e483 --- /dev/null +++ b/Assets/Materials/Obstacle.mat @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Obstacle + 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.764151, g: 0.764151, b: 0.764151, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Materials/Obstacle.mat.meta b/Assets/Materials/Obstacle.mat.meta new file mode 100644 index 0000000..13391ac --- /dev/null +++ b/Assets/Materials/Obstacle.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8df84f2be8e3fce49ac07c94333dc383 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Player.mat b/Assets/Materials/Player.mat new file mode 100644 index 0000000..9944410 --- /dev/null +++ b/Assets/Materials/Player.mat @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Player + 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, b: 0.32440186, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Materials/Player.mat.meta b/Assets/Materials/Player.mat.meta new file mode 100644 index 0000000..bd966be --- /dev/null +++ b/Assets/Materials/Player.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 64c324adaa3a81946a0d4ecade2576a6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Platform.prefab b/Assets/Prefabs/Platform.prefab deleted file mode 100644 index 2c34867..0000000 --- a/Assets/Prefabs/Platform.prefab +++ /dev/null @@ -1,93 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &3004802641902599466 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3004802641902599467} - - component: {fileID: 3004802641902599478} - - component: {fileID: 3004802641902599477} - - component: {fileID: 3004802641902599476} - m_Layer: 10 - m_Name: Platform - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3004802641902599467 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3004802641902599466} - 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: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3004802641902599478 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3004802641902599466} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3004802641902599477 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3004802641902599466} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!65 &3004802641902599476 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3004802641902599466} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefabs/Player.prefab b/Assets/Prefabs/Player.prefab new file mode 100644 index 0000000..74ac4f3 --- /dev/null +++ b/Assets/Prefabs/Player.prefab @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4623847142764859890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4623847142764859880} + - component: {fileID: 4623847142764859895} + - component: {fileID: 4623847142764859894} + - component: {fileID: 4623847142764859892} + - component: {fileID: 4623847142764859891} + - component: {fileID: 4623847142764859893} + m_Layer: 8 + m_Name: Player + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4623847142764859880 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4623847142764859890} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 2, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4623847142764859895 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4623847142764859890} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &4623847142764859894 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4623847142764859890} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 64c324adaa3a81946a0d4ecade2576a6, type: 2} + 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: 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!114 &4623847142764859892 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4623847142764859890} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5b21a38e98a85794b9312e3ac293ad9f, type: 3} + m_Name: + m_EditorClassIdentifier: + horizontalRayCount: 4 + verticalRayCount: 4 +--- !u!114 &4623847142764859891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4623847142764859890} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6e86ea0dadc883746820f81edbde5cab, type: 3} + m_Name: + m_EditorClassIdentifier: + gravity: -20 +--- !u!61 &4623847142764859893 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4623847142764859890} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + 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: 1, y: 1} + m_EdgeRadius: 0 diff --git a/Assets/Prefabs/Platform.prefab.meta b/Assets/Prefabs/Player.prefab.meta similarity index 74% rename from Assets/Prefabs/Platform.prefab.meta rename to Assets/Prefabs/Player.prefab.meta index d39b5ba..013559f 100644 --- a/Assets/Prefabs/Platform.prefab.meta +++ b/Assets/Prefabs/Player.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 28c03e01f80a5b24985a0763c0c6dded +guid: b29a944aaba25f643afdc6b049845662 PrefabImporter: externalObjects: {} userData: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index bfb238d..b0980f2 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -121,12 +121,6 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!4 &209604418 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - m_PrefabInstance: {fileID: 573371807} - m_PrefabAsset: {fileID: 0} --- !u!1 &519420028 GameObject: m_ObjectHideFlags: 0 @@ -224,269 +218,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &573371807 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2094910951} - m_Modifications: - - target: {fileID: 3004802641902599466, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_Name - value: Platform (1) - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalPosition.x - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 28c03e01f80a5b24985a0763c0c6dded, type: 3} ---- !u!4 &776635279 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - m_PrefabInstance: {fileID: 3004802641261297316} - m_PrefabAsset: {fileID: 0} ---- !u!1 &937432970 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 937432976} - - component: {fileID: 937432975} - - component: {fileID: 937432974} - - component: {fileID: 937432973} - - component: {fileID: 937432972} - - component: {fileID: 937432971} - m_Layer: 8 - m_Name: Player - m_TagString: Player - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &937432971 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 937432970} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6e86ea0dadc883746820f81edbde5cab, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &937432972 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 937432970} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5b21a38e98a85794b9312e3ac293ad9f, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!65 &937432973 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 937432970} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 0} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &937432974 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 937432970} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!33 &937432975 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 937432970} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &937432976 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 937432970} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 2, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &957476665 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2094910951} - m_Modifications: - - target: {fileID: 3004802641902599466, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_Name - value: Platform (2) - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalPosition.x - value: -4.65 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalPosition.y - value: -0.62 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 28c03e01f80a5b24985a0763c0c6dded, type: 3} --- !u!1 &1327270570 GameObject: m_ObjectHideFlags: 0 @@ -579,12 +310,112 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!4 &1337047246 stripped +--- !u!1 &1959391869 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1959391870} + - component: {fileID: 1959391873} + - component: {fileID: 1959391872} + - component: {fileID: 1959391871} + m_Layer: 10 + m_Name: Quad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1959391870 Transform: - m_CorrespondingSourceObject: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - m_PrefabInstance: {fileID: 957476665} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959391869} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -4, z: 0} + m_LocalScale: {x: 10, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2094910951} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1959391871 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959391869} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + 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: 1, y: 1} + m_EdgeRadius: 0 +--- !u!23 &1959391872 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959391869} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 8df84f2be8e3fce49ac07c94333dc383, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1959391873 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959391869} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2094910950 GameObject: m_ObjectHideFlags: 0 @@ -612,88 +443,81 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 776635279} - - {fileID: 209604418} - - {fileID: 1337047246} + - {fileID: 1959391870} m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &3004802641261297316 +--- !u!1001 &4623847142624347768 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 2094910951} + m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 3004802641902599466, guid: 28c03e01f80a5b24985a0763c0c6dded, - type: 3} - propertyPath: m_Name - value: Platform - objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859880, guid: b29a944aaba25f643afdc6b049845662, type: 3} propertyPath: m_LocalPosition.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859880, guid: b29a944aaba25f643afdc6b049845662, type: 3} propertyPath: m_LocalPosition.y - value: -2.39 + value: 0 objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859880, guid: b29a944aaba25f643afdc6b049845662, type: 3} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859880, guid: b29a944aaba25f643afdc6b049845662, type: 3} propertyPath: m_LocalRotation.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859880, guid: b29a944aaba25f643afdc6b049845662, type: 3} propertyPath: m_LocalRotation.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859880, guid: b29a944aaba25f643afdc6b049845662, type: 3} propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859880, guid: b29a944aaba25f643afdc6b049845662, type: 3} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859880, guid: b29a944aaba25f643afdc6b049845662, type: 3} propertyPath: m_RootOrder - value: 0 + value: 3 objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859880, guid: b29a944aaba25f643afdc6b049845662, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859880, guid: b29a944aaba25f643afdc6b049845662, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859880, guid: b29a944aaba25f643afdc6b049845662, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859890, guid: b29a944aaba25f643afdc6b049845662, type: 3} - propertyPath: m_LocalScale.y - value: 1 + propertyPath: m_Name + value: Player objectReference: {fileID: 0} - - target: {fileID: 3004802641902599467, guid: 28c03e01f80a5b24985a0763c0c6dded, + - target: {fileID: 4623847142764859892, guid: b29a944aaba25f643afdc6b049845662, type: 3} - propertyPath: m_LocalScale.x - value: 12 + propertyPath: collisionMask.m_Bits + value: 1024 objectReference: {fileID: 0} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 28c03e01f80a5b24985a0763c0c6dded, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: b29a944aaba25f643afdc6b049845662, type: 3} diff --git a/Assets/Scripts/MoveController.cs b/Assets/Scripts/MoveController.cs index 6e1c8d8..3073d9b 100644 --- a/Assets/Scripts/MoveController.cs +++ b/Assets/Scripts/MoveController.cs @@ -10,6 +10,7 @@ public class MoveController : MonoBehaviour public int horizontalRayCount = 4; public int verticalRayCount = 4; + public LayerMask collisionMask; private float horizontalRaySpacing; private float verticalRaySpacing; @@ -19,13 +20,29 @@ public class MoveController : MonoBehaviour void Start() { collider = GetComponent(); + CalculateRaySpacing(); } - void Update() { + public void Move(Vector3 velocity) { UpdateRaycastOrigins(); - CalculateRaySpacing(); + VerticalCollisions(ref velocity); + transform.Translate(velocity); + } + + private void VerticalCollisions(ref Vector3 velocity) { + float directionY = Mathf.Sign(velocity.y); // -1 for down, 1 for up + float rayLength = Mathf.Abs(velocity.y) + skinWidth; for (int i = 0; i < verticalRayCount; i++) { + Vector2 rayOrigin = (directionY > 0) ? raycastOrigins.topLeft : raycastOrigins.bottomLeft; + rayOrigin += Vector2.right * (verticalRaySpacing * i + velocity.x); + + RaycastHit2D hit = Physics2D.Raycast(rayOrigin, Vector2.up * directionY, rayLength, collisionMask); + if (hit) { + velocity.y = (hit.distance - skinWidth) * directionY; + rayLength = hit.distance; + } + Debug.DrawRay(raycastOrigins.bottomLeft + Vector2.right * verticalRaySpacing * i, Vector2.up * -2, Color.red); } } diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index e2bc80e..94e7637 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -4,6 +4,10 @@ using UnityEngine; [RequireComponent(typeof(MoveController))] public class PlayerController : MonoBehaviour { + + public float gravity = -20f; + + private Vector3 velocity; private MoveController moveController; void Start() { @@ -11,6 +15,8 @@ public class PlayerController : MonoBehaviour { } void Update() { + velocity.y += gravity * Time.deltaTime; + moveController.Move(velocity * Time.deltaTime); } void FixedUpdate() {