From d31fb78deaac000fdca0bb015790c68e8fdad153 Mon Sep 17 00:00:00 2001 From: Richard Ott Date: Sat, 1 Sep 2018 09:55:35 +0200 Subject: [PATCH] Basic Test level and lurch movement --- Assets/Materials.meta | 8 + Assets/Materials/Earth.mat | 76 +++++ Assets/Materials/Earth.mat.meta | 8 + Assets/Materials/Grass.mat | 76 +++++ Assets/Materials/Grass.mat.meta | 8 + Assets/Materials/Lurch.mat | 76 +++++ Assets/Materials/Lurch.mat.meta | 8 + Assets/Materials/Stone.mat | 76 +++++ Assets/Materials/Stone.mat.meta | 8 + Assets/Models.meta | 8 + Assets/Physics.meta | 8 + Assets/Physics/Lurch.physicMaterial | 13 + Assets/Physics/Lurch.physicMaterial.meta | 8 + Assets/Prefabs/Lurch.prefab | 273 +++++++++++++++ Assets/Prefabs/Lurch.prefab.meta | 8 + Assets/Scenes/SampleScene.unity | 417 ++++++++++++++++++++--- Assets/Script.meta | 8 + Assets/Script/LurchMovement.cs | 142 ++++++++ Assets/Script/LurchMovement.cs.meta | 11 + 19 files changed, 1187 insertions(+), 53 deletions(-) create mode 100644 Assets/Materials.meta create mode 100644 Assets/Materials/Earth.mat create mode 100644 Assets/Materials/Earth.mat.meta create mode 100644 Assets/Materials/Grass.mat create mode 100644 Assets/Materials/Grass.mat.meta create mode 100644 Assets/Materials/Lurch.mat create mode 100644 Assets/Materials/Lurch.mat.meta create mode 100644 Assets/Materials/Stone.mat create mode 100644 Assets/Materials/Stone.mat.meta create mode 100644 Assets/Models.meta create mode 100644 Assets/Physics.meta create mode 100644 Assets/Physics/Lurch.physicMaterial create mode 100644 Assets/Physics/Lurch.physicMaterial.meta create mode 100644 Assets/Prefabs/Lurch.prefab create mode 100644 Assets/Prefabs/Lurch.prefab.meta create mode 100644 Assets/Script.meta create mode 100644 Assets/Script/LurchMovement.cs create mode 100644 Assets/Script/LurchMovement.cs.meta diff --git a/Assets/Materials.meta b/Assets/Materials.meta new file mode 100644 index 0000000..b8df505 --- /dev/null +++ b/Assets/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ff2f830697e998459704a61057eea86 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Earth.mat b/Assets/Materials/Earth.mat new file mode 100644 index 0000000..17bd056 --- /dev/null +++ b/Assets/Materials/Earth.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Earth + 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.4339623, g: 0.2166456, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Materials/Earth.mat.meta b/Assets/Materials/Earth.mat.meta new file mode 100644 index 0000000..f69b7da --- /dev/null +++ b/Assets/Materials/Earth.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7884fe424030fd34c89ef6ec8c0f7a0c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Grass.mat b/Assets/Materials/Grass.mat new file mode 100644 index 0000000..6349903 --- /dev/null +++ b/Assets/Materials/Grass.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Grass + 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.052000523, g: 0.5, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Materials/Grass.mat.meta b/Assets/Materials/Grass.mat.meta new file mode 100644 index 0000000..21fece1 --- /dev/null +++ b/Assets/Materials/Grass.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1c01f194ec49d1c40a582ad83ee7ff1e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Lurch.mat b/Assets/Materials/Lurch.mat new file mode 100644 index 0000000..e7368d0 --- /dev/null +++ b/Assets/Materials/Lurch.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Lurch + 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.34079456, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Materials/Lurch.mat.meta b/Assets/Materials/Lurch.mat.meta new file mode 100644 index 0000000..1cc0259 --- /dev/null +++ b/Assets/Materials/Lurch.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bfc183a6d60b47a49a0cc33a212ca35a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Stone.mat b/Assets/Materials/Stone.mat new file mode 100644 index 0000000..4aa4614 --- /dev/null +++ b/Assets/Materials/Stone.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Stone + 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.5566038, g: 0.5566038, b: 0.5566038, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Materials/Stone.mat.meta b/Assets/Materials/Stone.mat.meta new file mode 100644 index 0000000..9191c6c --- /dev/null +++ b/Assets/Materials/Stone.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eb142c68072734d488e6296b1461405e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models.meta b/Assets/Models.meta new file mode 100644 index 0000000..2b3ed45 --- /dev/null +++ b/Assets/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 681795e0efcef2f49b1daca1f3fa92ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Physics.meta b/Assets/Physics.meta new file mode 100644 index 0000000..583bc9c --- /dev/null +++ b/Assets/Physics.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71349659840d16848b01e6daa968129d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Physics/Lurch.physicMaterial b/Assets/Physics/Lurch.physicMaterial new file mode 100644 index 0000000..7b4ebdf --- /dev/null +++ b/Assets/Physics/Lurch.physicMaterial @@ -0,0 +1,13 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!134 &13400000 +PhysicMaterial: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Lurch + dynamicFriction: 1 + staticFriction: 1 + bounciness: 0 + frictionCombine: 1 + bounceCombine: 1 diff --git a/Assets/Physics/Lurch.physicMaterial.meta b/Assets/Physics/Lurch.physicMaterial.meta new file mode 100644 index 0000000..533ba51 --- /dev/null +++ b/Assets/Physics/Lurch.physicMaterial.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51aacf38f27e686438555ffd44272345 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 13400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Lurch.prefab b/Assets/Prefabs/Lurch.prefab new file mode 100644 index 0000000..307e7ad --- /dev/null +++ b/Assets/Prefabs/Lurch.prefab @@ -0,0 +1,273 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 0} + m_RootGameObject: {fileID: 1376713935733488} + m_IsPrefabAsset: 1 +--- !u!1 &1376713935733488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4211561106277860} + m_Layer: 0 + m_Name: Lurch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1444832767951054 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4349673492578080} + - component: {fileID: 114123996009525022} + m_Layer: 0 + m_Name: CameraHolder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1444907702125456 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4594421400296550} + - component: {fileID: 20393068678725252} + - component: {fileID: 81251377772567150} + m_Layer: 0 + m_Name: Main Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1462012476334488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4675101163920296} + - component: {fileID: 33605324347174076} + - component: {fileID: 23689017160285550} + - component: {fileID: 65346116814365424} + - component: {fileID: 54155385480013682} + m_Layer: 0 + m_Name: LurchTest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4211561106277860 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1376713935733488} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.23070383, y: 3.253488, z: -7.428097} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4349673492578080} + - {fileID: 4675101163920296} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4349673492578080 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1444832767951054} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.5007038, y: -2.503488, z: -3.0419035} + m_LocalScale: {x: 1, y: 0.6, z: 2} + m_Children: + - {fileID: 4594421400296550} + m_Father: {fileID: 4211561106277860} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4594421400296550 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1444907702125456} + m_LocalRotation: {x: 0.13274917, y: -0, z: -0, w: 0.99114966} + m_LocalPosition: {x: -0.27, y: 2.966666, z: -1.44} + m_LocalScale: {x: 1, y: 1.6666665, z: 0.5} + m_Children: [] + m_Father: {fileID: 4349673492578080} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 15.257001, y: 0, z: 0} +--- !u!4 &4675101163920296 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1462012476334488} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.5007038, y: -2.503488, z: -3.0419035} + m_LocalScale: {x: 1, y: 0.6, z: 2} + m_Children: [] + m_Father: {fileID: 4211561106277860} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &20393068678725252 +Camera: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1444907702125456} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + 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: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!23 &23689017160285550 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1462012476334488} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: bfc183a6d60b47a49a0cc33a212ca35a, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33605324347174076 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1462012476334488} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &54155385480013682 +Rigidbody: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1462012476334488} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &65346116814365424 +BoxCollider: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1462012476334488} + m_Material: {fileID: 13400000, guid: 51aacf38f27e686438555ffd44272345, type: 2} + 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!81 &81251377772567150 +AudioListener: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1444907702125456} + m_Enabled: 1 +--- !u!114 &114123996009525022 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1444832767951054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9a548db4f33b8a24aa4ebca81f61e6dd, type: 3} + m_Name: + m_EditorClassIdentifier: + mouseSensitivity: 1 + invertMouse: 0 + lockMouse: 1 + speed: 0.5 + theLurch: {fileID: 4675101163920296} + lurchMaterial: {fileID: 0} + maxJumpForce: 10 + forceIncreaseSpeed: 0.5 + normalColor: {r: 0.14509805, g: 0.4784314, b: 1, a: 0} + fullyChargedColor: {r: 1, g: 0.6223973, b: 0, a: 0} + canStick: 1 diff --git a/Assets/Prefabs/Lurch.prefab.meta b/Assets/Prefabs/Lurch.prefab.meta new file mode 100644 index 0000000..5aaff96 --- /dev/null +++ b/Assets/Prefabs/Lurch.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8bcf2afca6664234f83b5ee8381b1975 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 6511ad2..e0b37f6 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -177,82 +177,393 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 1 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!1 &534669902 +--- !u!1 &245146341 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 534669905} - - component: {fileID: 534669904} - - component: {fileID: 534669903} + - component: {fileID: 245146345} + - component: {fileID: 245146344} + - component: {fileID: 245146343} + - component: {fileID: 245146342} m_Layer: 0 - m_Name: Main Camera + m_Name: Cube m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &534669903 -AudioListener: +--- !u!65 &245146342 +BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 534669902} - m_Enabled: 1 ---- !u!20 &534669904 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 534669902} + m_GameObject: {fileID: 245146341} + m_Material: {fileID: 0} + m_IsTrigger: 0 m_Enabled: 1 serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - 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: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &534669905 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &245146343 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 245146341} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 7884fe424030fd34c89ef6ec8c0f7a0c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &245146344 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 245146341} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &245146345 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 534669902} + m_GameObject: {fileID: 245146341} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalPosition: {x: 10.01, y: 2.9999652, z: 12.92} + m_LocalScale: {x: 12.046, y: 12.629, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &338689725 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 338689729} + - component: {fileID: 338689728} + - component: {fileID: 338689727} + - component: {fileID: 338689726} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &338689726 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 338689725} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 1 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &338689727 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 338689725} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 1c01f194ec49d1c40a582ad83ee7ff1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &338689728 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 338689725} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &338689729 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 338689725} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.8593802, y: 0.17568, z: -4.5059457} + m_LocalScale: {x: 3.524, y: 0.6428481, z: 3.524} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &793616625 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 793616629} + - component: {fileID: 793616628} + - component: {fileID: 793616627} + - component: {fileID: 793616626} + m_Layer: 0 + m_Name: Quad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &793616626 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 793616625} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &793616627 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 793616625} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + 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!33 &793616628 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 793616625} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &793616629 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 793616625} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0.16311312, y: -0.026867867, z: -0.140594} + m_LocalScale: {x: 30, y: 30, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1001 &1187842046 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4211561106277860, guid: 8bcf2afca6664234f83b5ee8381b1975, type: 2} + propertyPath: m_LocalPosition.x + value: -0.23070383 + objectReference: {fileID: 0} + - target: {fileID: 4211561106277860, guid: 8bcf2afca6664234f83b5ee8381b1975, type: 2} + propertyPath: m_LocalPosition.y + value: 3.253488 + objectReference: {fileID: 0} + - target: {fileID: 4211561106277860, guid: 8bcf2afca6664234f83b5ee8381b1975, type: 2} + propertyPath: m_LocalPosition.z + value: -7.428097 + objectReference: {fileID: 0} + - target: {fileID: 4211561106277860, guid: 8bcf2afca6664234f83b5ee8381b1975, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4211561106277860, guid: 8bcf2afca6664234f83b5ee8381b1975, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4211561106277860, guid: 8bcf2afca6664234f83b5ee8381b1975, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4211561106277860, guid: 8bcf2afca6664234f83b5ee8381b1975, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4211561106277860, guid: 8bcf2afca6664234f83b5ee8381b1975, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8bcf2afca6664234f83b5ee8381b1975, type: 2} + m_IsPrefabAsset: 0 +--- !u!1 &2030340302 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2030340306} + - component: {fileID: 2030340305} + - component: {fileID: 2030340304} + - component: {fileID: 2030340303} + m_Layer: 0 + m_Name: Cylinder (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &2030340303 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2030340302} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 1 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2030340304 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2030340302} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 1c01f194ec49d1c40a582ad83ee7ff1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &2030340305 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2030340302} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2030340306 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2030340302} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.63, y: 1.54, z: 2.53} + m_LocalScale: {x: 3.524, y: 1.8712665, z: 3.524} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Script.meta b/Assets/Script.meta new file mode 100644 index 0000000..2fd8e84 --- /dev/null +++ b/Assets/Script.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba5231659e638b1448c448e047f20e5a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/LurchMovement.cs b/Assets/Script/LurchMovement.cs new file mode 100644 index 0000000..1075a86 --- /dev/null +++ b/Assets/Script/LurchMovement.cs @@ -0,0 +1,142 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class LurchMovement : MonoBehaviour { + + [Header("Mouse")] + [Range(0.01f, 4.0f)] + public float mouseSensitivity; + public bool invertMouse; + public bool lockMouse; + + private float yaw = 0.0f; + private float pitch = 0.0f; + + [Header("Smooth Follow")] + [Range(0.1f, 2)] + public float speed; + private Vector3 velocity = Vector3.zero; + + [Header("Lurch")] + public Transform theLurch; + private Rigidbody lurchBody; + public Material lurchMaterial; + + public float maxJumpForce; + private float currentJumpForce; + public float forceIncreaseSpeed; + + public Color normalColor; + public Color fullyChargedColor; + + [Header("Jump n Stick")] + public bool canStick; + private float cooldown; + + private void Start() + { + lurchBody = theLurch.GetComponent(); + } + + void Update() + { + theLurch.rotation = Quaternion.Euler(0, transform.eulerAngles.y, 0); + + MouseControl(); + JumpControl(); + SmoothFollow(); + + + Debug.DrawRay(theLurch.position, Vector3.down * 0.45f, Color.blue); + + } + + void MouseControl() + { + float mouseInputX = Input.GetAxis("Mouse X") * mouseSensitivity; + float mouseInputY; + + transform.eulerAngles = new Vector3(pitch, yaw, 0.0f); + + if (!invertMouse) + { + mouseInputY = Input.GetAxis("Mouse Y") * mouseSensitivity; + } + else + { + mouseInputY = -Input.GetAxis("Mouse Y") * mouseSensitivity; + } + + yaw += mouseInputX; + pitch -= mouseInputY; + + if (lockMouse) + { + Cursor.lockState = CursorLockMode.Locked; + } + else + { + Cursor.lockState = CursorLockMode.None; + } + } + + void SmoothFollow() + { + Vector3 targetPosition = theLurch.TransformPoint(new Vector3(0, 0, 0)); + + // Smoothly move the camera towards that target position + transform.position = Vector3.SmoothDamp(transform.position, targetPosition, ref velocity, speed); + } + + void JumpControl() + { + if (Input.GetButton("Fire1") && currentJumpForce < maxJumpForce) + { + currentJumpForce += forceIncreaseSpeed; + } + + if (cooldown > 0.0f) + cooldown -= Time.deltaTime; + + if (Input.GetButtonUp("Fire1")) { + cooldown += 0.5f; + lurchBody.isKinematic = false; + Debug.Log("Ich springe"); + lurchBody.AddForce(theLurch.forward * currentJumpForce, ForceMode.Impulse); + lurchBody.AddForce(theLurch.up * currentJumpForce, ForceMode.Impulse); + } + else if (LurchOnGround() && Time.time > cooldown) + { + lurchBody.isKinematic = true; + } + + if (!LurchOnGround()) + { + currentJumpForce = 0.0f; + lurchBody.isKinematic = false; + } + } + + bool LurchOnGround() + { + RaycastHit hit; + if (Physics.Raycast(theLurch.position, Vector3.down, out hit, 0.4f)) + { + return true; + } + + if (canStick) + { + + Debug.DrawRay(theLurch.position, Vector3.forward* 1.6f); + + if (Physics.Raycast(theLurch.position, Vector3.forward, out hit, 1.6f)) + { + return true; + } + } + + return false; + } +} diff --git a/Assets/Script/LurchMovement.cs.meta b/Assets/Script/LurchMovement.cs.meta new file mode 100644 index 0000000..fe2566c --- /dev/null +++ b/Assets/Script/LurchMovement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9a548db4f33b8a24aa4ebca81f61e6dd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: