From f8edbd7ae3290110960f936e3167d72fca643855 Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Tue, 7 Jan 2020 21:52:52 -0500 Subject: [PATCH 1/8] A proper and functional procedural level generation has been implemented although it is missing many more obstacles as well as its own scene to be generated (and re-generated upon completion) in --- Assets/Prefabs.meta | 8 + Assets/Prefabs/Capsule.prefab | 190 ++++++++++++++++++++ Assets/Prefabs/Capsule.prefab.meta | 7 + Assets/Prefabs/Cube.prefab | 189 +++++++++++++++++++ Assets/Prefabs/Cube.prefab.meta | 7 + Assets/Prefabs/Cylinder.prefab | 190 ++++++++++++++++++++ Assets/Prefabs/Cylinder.prefab.meta | 7 + Assets/Prefabs/Floor.prefab | 95 ++++++++++ Assets/Prefabs/Floor.prefab.meta | 7 + Assets/Prefabs/Sphere.prefab | 189 +++++++++++++++++++ Assets/Prefabs/Sphere.prefab.meta | 7 + Assets/Scenes/Test Scene.unity | 59 +++++- Assets/Scripts/ProceduralGeneration.cs | 40 +++++ Assets/Scripts/ProceduralGeneration.cs.meta | 11 ++ 14 files changed, 1002 insertions(+), 4 deletions(-) create mode 100644 Assets/Prefabs.meta create mode 100644 Assets/Prefabs/Capsule.prefab create mode 100644 Assets/Prefabs/Capsule.prefab.meta create mode 100644 Assets/Prefabs/Cube.prefab create mode 100644 Assets/Prefabs/Cube.prefab.meta create mode 100644 Assets/Prefabs/Cylinder.prefab create mode 100644 Assets/Prefabs/Cylinder.prefab.meta create mode 100644 Assets/Prefabs/Floor.prefab create mode 100644 Assets/Prefabs/Floor.prefab.meta create mode 100644 Assets/Prefabs/Sphere.prefab create mode 100644 Assets/Prefabs/Sphere.prefab.meta create mode 100644 Assets/Scripts/ProceduralGeneration.cs create mode 100644 Assets/Scripts/ProceduralGeneration.cs.meta diff --git a/Assets/Prefabs.meta b/Assets/Prefabs.meta new file mode 100644 index 0000000..9d32c28 --- /dev/null +++ b/Assets/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b285cc8114104624f9f15f1840df534f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Capsule.prefab b/Assets/Prefabs/Capsule.prefab new file mode 100644 index 0000000..76b7b26 --- /dev/null +++ b/Assets/Prefabs/Capsule.prefab @@ -0,0 +1,190 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &7670366362719441355 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3245037020312721591} + - component: {fileID: 6943372931692667949} + - component: {fileID: 4036833559523045356} + - component: {fileID: 4818038440620942293} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3245037020312721591 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7670366362719441355} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 708102993293209940} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6943372931692667949 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7670366362719441355} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &4036833559523045356 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7670366362719441355} + 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!136 &4818038440620942293 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7670366362719441355} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &8210660572894703545 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 708102993293209940} + - component: {fileID: 6030714741099513522} + - component: {fileID: 5209123461684651324} + - component: {fileID: 3210174877193556351} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &708102993293209940 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8210660572894703545} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 100, y: 1, z: 100} + m_Children: [] + m_Father: {fileID: 3245037020312721591} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6030714741099513522 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8210660572894703545} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &5209123461684651324 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8210660572894703545} + 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!65 &3210174877193556351 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8210660572894703545} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefabs/Capsule.prefab.meta b/Assets/Prefabs/Capsule.prefab.meta new file mode 100644 index 0000000..4199713 --- /dev/null +++ b/Assets/Prefabs/Capsule.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e4879a38fef5725438adb256da808dc4 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Cube.prefab b/Assets/Prefabs/Cube.prefab new file mode 100644 index 0000000..b3fe97f --- /dev/null +++ b/Assets/Prefabs/Cube.prefab @@ -0,0 +1,189 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &943966635323818140 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8241896131041563219} + - component: {fileID: 6816956308021314059} + - component: {fileID: 1055332946174489780} + - component: {fileID: 3126543287859478963} + m_Layer: 0 + m_Name: Floor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8241896131041563219 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 943966635323818140} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 100, y: 1, z: 100} + m_Children: [] + m_Father: {fileID: 1319732905949421629} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6816956308021314059 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 943966635323818140} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1055332946174489780 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 943966635323818140} + 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!65 &3126543287859478963 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 943966635323818140} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &3821658720673687754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1319732905949421629} + - component: {fileID: 1073826814823897058} + - component: {fileID: 6956182386881615010} + - component: {fileID: 4272160868205044256} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1319732905949421629 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3821658720673687754} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8241896131041563219} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1073826814823897058 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3821658720673687754} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6956182386881615010 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3821658720673687754} + 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!65 &4272160868205044256 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3821658720673687754} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefabs/Cube.prefab.meta b/Assets/Prefabs/Cube.prefab.meta new file mode 100644 index 0000000..5e7f05b --- /dev/null +++ b/Assets/Prefabs/Cube.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d0164d7ee6ae94349b5fb425366d9805 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Cylinder.prefab b/Assets/Prefabs/Cylinder.prefab new file mode 100644 index 0000000..c371501 --- /dev/null +++ b/Assets/Prefabs/Cylinder.prefab @@ -0,0 +1,190 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1848736413957888321 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1831703054020442865} + - component: {fileID: 6173488803413043390} + - component: {fileID: 8450504160681943529} + - component: {fileID: 6804570720553365167} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1831703054020442865 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1848736413957888321} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 100, y: 1, z: 100} + m_Children: [] + m_Father: {fileID: 1746853580132593672} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6173488803413043390 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1848736413957888321} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8450504160681943529 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1848736413957888321} + 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!65 &6804570720553365167 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1848736413957888321} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &2900998352494031732 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1746853580132593672} + - component: {fileID: 6142989085564234761} + - component: {fileID: 2913354610499242464} + - component: {fileID: 8132011569594881881} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1746853580132593672 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2900998352494031732} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1831703054020442865} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6142989085564234761 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2900998352494031732} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2913354610499242464 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2900998352494031732} + 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!136 &8132011569594881881 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2900998352494031732} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5000001 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697} diff --git a/Assets/Prefabs/Cylinder.prefab.meta b/Assets/Prefabs/Cylinder.prefab.meta new file mode 100644 index 0000000..cd0a396 --- /dev/null +++ b/Assets/Prefabs/Cylinder.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b90ade3883072a7448b42985436d9b75 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Floor.prefab b/Assets/Prefabs/Floor.prefab new file mode 100644 index 0000000..79cc0bb --- /dev/null +++ b/Assets/Prefabs/Floor.prefab @@ -0,0 +1,95 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2429100199437399696 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1714989584036100326} + - component: {fileID: 4278983072884301541} + - component: {fileID: 8863050179184527068} + - component: {fileID: 6848709852780750561} + m_Layer: 0 + m_Name: Floor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1714989584036100326 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2429100199437399696} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 1, z: 100} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4278983072884301541 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2429100199437399696} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8863050179184527068 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2429100199437399696} + 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: 4995e529222357e47a1b77d2e400ff1d, 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!65 &6848709852780750561 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2429100199437399696} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefabs/Floor.prefab.meta b/Assets/Prefabs/Floor.prefab.meta new file mode 100644 index 0000000..289fecc --- /dev/null +++ b/Assets/Prefabs/Floor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0d434787bd8a63c418a6f46610be5a56 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Sphere.prefab b/Assets/Prefabs/Sphere.prefab new file mode 100644 index 0000000..f41090a --- /dev/null +++ b/Assets/Prefabs/Sphere.prefab @@ -0,0 +1,189 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3626424710013366907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3342169140136306596} + - component: {fileID: 3914852202244779405} + - component: {fileID: 3358596491712644614} + - component: {fileID: 7236633371657305712} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3342169140136306596 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3626424710013366907} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8026123776532072665} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3914852202244779405 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3626424710013366907} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3358596491712644614 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3626424710013366907} + 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!135 &7236633371657305712 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3626424710013366907} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &8724527278347342149 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8026123776532072665} + - component: {fileID: 832932194818048038} + - component: {fileID: 8155014575118460016} + - component: {fileID: 8842556640349643242} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8026123776532072665 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8724527278347342149} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 100, y: 1, z: 100} + m_Children: [] + m_Father: {fileID: 3342169140136306596} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &832932194818048038 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8724527278347342149} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8155014575118460016 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8724527278347342149} + 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!65 &8842556640349643242 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8724527278347342149} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefabs/Sphere.prefab.meta b/Assets/Prefabs/Sphere.prefab.meta new file mode 100644 index 0000000..2b4c910 --- /dev/null +++ b/Assets/Prefabs/Sphere.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a98abc5d37537f24989e8e292af3e36c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Test Scene.unity b/Assets/Scenes/Test Scene.unity index 885a894..16847d8 100644 --- a/Assets/Scenes/Test Scene.unity +++ b/Assets/Scenes/Test Scene.unity @@ -988,7 +988,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 1 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} --- !u!1 &717001268 GameObject: @@ -1270,7 +1270,7 @@ Transform: m_Children: - {fileID: 615882419} m_Father: {fileID: 0} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &741217457 MonoBehaviour: @@ -1469,6 +1469,57 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 858957125} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &925216706 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 925216708} + - component: {fileID: 925216707} + m_Layer: 0 + m_Name: GM + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &925216707 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 925216706} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e52a505534642144b4f939196badbab, type: 3} + m_Name: + m_EditorClassIdentifier: + testPrefab1: {fileID: 3821658720673687754, guid: d0164d7ee6ae94349b5fb425366d9805, + type: 3} + testPrefab2: {fileID: 3626424710013366907, guid: a98abc5d37537f24989e8e292af3e36c, + type: 3} + testPrefab3: {fileID: 7670366362719441355, guid: e4879a38fef5725438adb256da808dc4, + type: 3} + testPrefab4: {fileID: 2900998352494031732, guid: b90ade3883072a7448b42985436d9b75, + type: 3} +--- !u!4 &925216708 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 925216706} + 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!1 &942294094 GameObject: m_ObjectHideFlags: 0 @@ -1585,7 +1636,7 @@ Transform: m_Children: - {fileID: 1402695046} m_Father: {fileID: 0} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &963194229 MonoBehaviour: @@ -2015,7 +2066,7 @@ Transform: - {fileID: 833538478} - {fileID: 1488444358} m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1853948297 GameObject: diff --git a/Assets/Scripts/ProceduralGeneration.cs b/Assets/Scripts/ProceduralGeneration.cs new file mode 100644 index 0000000..7905a6f --- /dev/null +++ b/Assets/Scripts/ProceduralGeneration.cs @@ -0,0 +1,40 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[System.Serializable] + +public class ProceduralGeneration : MonoBehaviour +{ + + public int escalation; + public GameObject[] obstacleList; + + private int selection = 0; + + // Start is called before the first frame update + void Start() + { + for(int i = 1; i <= escalation; i++){ + for(int j = 1; j <= escalation; j++){ + selection = Random.Range(1, obstacleList.Length); + Instantiate(obstacleList[selection], new Vector3(50*i, 2, 50*j), Quaternion.identity); + + selection = Random.Range(1, obstacleList.Length); + Instantiate(obstacleList[selection], new Vector3(-50*i, 3, -50*j), Quaternion.identity); + + selection = Random.Range(1, obstacleList.Length); + Instantiate(obstacleList[selection], new Vector3(-50*i, 4, 50*j), Quaternion.identity); + + selection = Random.Range(1, obstacleList.Length); + Instantiate(obstacleList[selection], new Vector3(50*i, 5, -50*j), Quaternion.identity); + } + + } + + Instantiate(obstacleList[0], new Vector3((50*escalation)+100, 0, (50*escalation)+100), Quaternion.identity); + Instantiate(obstacleList[0], new Vector3(-((50*escalation)+100), 0, -((50*escalation)+100)), Quaternion.identity); + + } + +} diff --git a/Assets/Scripts/ProceduralGeneration.cs.meta b/Assets/Scripts/ProceduralGeneration.cs.meta new file mode 100644 index 0000000..276bf2b --- /dev/null +++ b/Assets/Scripts/ProceduralGeneration.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7e52a505534642144b4f939196badbab +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From e21c46f9414d99d9e26e4ee8fcb04e17735b103d Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Tue, 7 Jan 2020 21:55:49 -0500 Subject: [PATCH 2/8] Adding new 'basic' floor prefab as well as including it in the obstacle list array --- Assets/Scenes/Test Scene.unity | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Assets/Scenes/Test Scene.unity b/Assets/Scenes/Test Scene.unity index 16847d8..da75325 100644 --- a/Assets/Scenes/Test Scene.unity +++ b/Assets/Scenes/Test Scene.unity @@ -1265,7 +1265,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 741217452} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalPosition: {x: 0, y: 5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 615882419} @@ -1498,14 +1498,13 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7e52a505534642144b4f939196badbab, type: 3} m_Name: m_EditorClassIdentifier: - testPrefab1: {fileID: 3821658720673687754, guid: d0164d7ee6ae94349b5fb425366d9805, - type: 3} - testPrefab2: {fileID: 3626424710013366907, guid: a98abc5d37537f24989e8e292af3e36c, - type: 3} - testPrefab3: {fileID: 7670366362719441355, guid: e4879a38fef5725438adb256da808dc4, - type: 3} - testPrefab4: {fileID: 2900998352494031732, guid: b90ade3883072a7448b42985436d9b75, - type: 3} + escalation: 1 + obstacleList: + - {fileID: 2429100199437399696, guid: 0d434787bd8a63c418a6f46610be5a56, type: 3} + - {fileID: 3821658720673687754, guid: d0164d7ee6ae94349b5fb425366d9805, type: 3} + - {fileID: 3626424710013366907, guid: a98abc5d37537f24989e8e292af3e36c, type: 3} + - {fileID: 2900998352494031732, guid: b90ade3883072a7448b42985436d9b75, type: 3} + - {fileID: 7670366362719441355, guid: e4879a38fef5725438adb256da808dc4, type: 3} --- !u!4 &925216708 Transform: m_ObjectHideFlags: 0 From e801bfe945800c62c72bb4dcd444f375163e5481 Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Fri, 10 Jan 2020 00:26:44 -0500 Subject: [PATCH 3/8] Moved the procedural generation over into a new scene in order to develop the first game mode - spawning into the next 'floor' is currently buggy --- Assets/Prefabs/Capsule.prefab | 4 +- Assets/Prefabs/Cube.prefab | 4 +- Assets/Prefabs/Cylinder.prefab | 4 +- Assets/Prefabs/End Floor.prefab | 95 +++ Assets/Prefabs/End Floor.prefab.meta | 7 + Assets/Prefabs/Sphere.prefab | 4 +- .../{Floor.prefab => Start Floor.prefab} | 4 +- ...or.prefab.meta => Start Floor.prefab.meta} | 0 Assets/Scenes/Floor Level.unity | 632 ++++++++++++++++++ Assets/Scenes/Floor Level.unity.meta | 7 + .../{Test Scene.unity => Hub World.unity} | 58 +- ... Scene.unity.meta => Hub World.unity.meta} | 0 Assets/Scripts/PlayerController.cs | 8 + Assets/Scripts/ProceduralGeneration.cs | 55 +- ProjectSettings/EditorBuildSettings.asset | 2 +- ProjectSettings/TagManager.asset | 1 + 16 files changed, 814 insertions(+), 71 deletions(-) create mode 100644 Assets/Prefabs/End Floor.prefab create mode 100644 Assets/Prefabs/End Floor.prefab.meta rename Assets/Prefabs/{Floor.prefab => Start Floor.prefab} (98%) rename Assets/Prefabs/{Floor.prefab.meta => Start Floor.prefab.meta} (100%) create mode 100644 Assets/Scenes/Floor Level.unity create mode 100644 Assets/Scenes/Floor Level.unity.meta rename Assets/Scenes/{Test Scene.unity => Hub World.unity} (97%) rename Assets/Scenes/{Test Scene.unity.meta => Hub World.unity.meta} (100%) diff --git a/Assets/Prefabs/Capsule.prefab b/Assets/Prefabs/Capsule.prefab index 76b7b26..f7a4c55 100644 --- a/Assets/Prefabs/Capsule.prefab +++ b/Assets/Prefabs/Capsule.prefab @@ -14,7 +14,7 @@ GameObject: - component: {fileID: 4818038440620942293} m_Layer: 0 m_Name: Capsule - m_TagString: Untagged + m_TagString: Environment m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -109,7 +109,7 @@ GameObject: - component: {fileID: 3210174877193556351} m_Layer: 0 m_Name: Cube - m_TagString: Untagged + m_TagString: Environment m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 diff --git a/Assets/Prefabs/Cube.prefab b/Assets/Prefabs/Cube.prefab index b3fe97f..4f24d7f 100644 --- a/Assets/Prefabs/Cube.prefab +++ b/Assets/Prefabs/Cube.prefab @@ -14,7 +14,7 @@ GameObject: - component: {fileID: 3126543287859478963} m_Layer: 0 m_Name: Floor - m_TagString: Untagged + m_TagString: Environment m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -107,7 +107,7 @@ GameObject: - component: {fileID: 4272160868205044256} m_Layer: 0 m_Name: Cube - m_TagString: Untagged + m_TagString: Environment m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 diff --git a/Assets/Prefabs/Cylinder.prefab b/Assets/Prefabs/Cylinder.prefab index c371501..92e2652 100644 --- a/Assets/Prefabs/Cylinder.prefab +++ b/Assets/Prefabs/Cylinder.prefab @@ -14,7 +14,7 @@ GameObject: - component: {fileID: 6804570720553365167} m_Layer: 0 m_Name: Cube - m_TagString: Untagged + m_TagString: Environment m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -107,7 +107,7 @@ GameObject: - component: {fileID: 8132011569594881881} m_Layer: 0 m_Name: Cylinder - m_TagString: Untagged + m_TagString: Environment m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 diff --git a/Assets/Prefabs/End Floor.prefab b/Assets/Prefabs/End Floor.prefab new file mode 100644 index 0000000..1ba3dad --- /dev/null +++ b/Assets/Prefabs/End Floor.prefab @@ -0,0 +1,95 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &414519846808350713 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 854500409151902700} + - component: {fileID: 4859450450154205248} + - component: {fileID: 5214956656353994278} + - component: {fileID: 3411710137925627472} + m_Layer: 0 + m_Name: End Floor + m_TagString: Finish + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &854500409151902700 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414519846808350713} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 1, z: 100} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4859450450154205248 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414519846808350713} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &5214956656353994278 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414519846808350713} + 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: 4995e529222357e47a1b77d2e400ff1d, 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!65 &3411710137925627472 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414519846808350713} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefabs/End Floor.prefab.meta b/Assets/Prefabs/End Floor.prefab.meta new file mode 100644 index 0000000..c7b0b7d --- /dev/null +++ b/Assets/Prefabs/End Floor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8d0421e8cce8f3e46a4626141a4411eb +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Sphere.prefab b/Assets/Prefabs/Sphere.prefab index f41090a..7858bf2 100644 --- a/Assets/Prefabs/Sphere.prefab +++ b/Assets/Prefabs/Sphere.prefab @@ -14,7 +14,7 @@ GameObject: - component: {fileID: 7236633371657305712} m_Layer: 0 m_Name: Sphere - m_TagString: Untagged + m_TagString: Environment m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -108,7 +108,7 @@ GameObject: - component: {fileID: 8842556640349643242} m_Layer: 0 m_Name: Cube - m_TagString: Untagged + m_TagString: Environment m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 diff --git a/Assets/Prefabs/Floor.prefab b/Assets/Prefabs/Start Floor.prefab similarity index 98% rename from Assets/Prefabs/Floor.prefab rename to Assets/Prefabs/Start Floor.prefab index 79cc0bb..6e712c4 100644 --- a/Assets/Prefabs/Floor.prefab +++ b/Assets/Prefabs/Start Floor.prefab @@ -13,8 +13,8 @@ GameObject: - component: {fileID: 8863050179184527068} - component: {fileID: 6848709852780750561} m_Layer: 0 - m_Name: Floor - m_TagString: Untagged + m_Name: Start Floor + m_TagString: Environment m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 diff --git a/Assets/Prefabs/Floor.prefab.meta b/Assets/Prefabs/Start Floor.prefab.meta similarity index 100% rename from Assets/Prefabs/Floor.prefab.meta rename to Assets/Prefabs/Start Floor.prefab.meta diff --git a/Assets/Scenes/Floor Level.unity b/Assets/Scenes/Floor Level.unity new file mode 100644 index 0000000..f02663d --- /dev/null +++ b/Assets/Scenes/Floor Level.unity @@ -0,0 +1,632 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &485207306 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 485207307} + - component: {fileID: 485207310} + - component: {fileID: 485207309} + - component: {fileID: 485207308} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &485207307 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485207306} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: -7} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1339349186} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &485207308 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485207306} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f648a3df441ef4243bc2d3b59166e6ca, type: 3} + m_Name: + m_EditorClassIdentifier: + useOffsetValues: 0 + invertY: 0 + rotateSpeed: 1 + maxViewAngle: 50 + minViewAngle: -50 + player: {fileID: 1644583845} + pivot: {fileID: 1339349186} + offset: {x: 0, y: 1, z: 7} +--- !u!81 &485207309 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485207306} + m_Enabled: 1 +--- !u!20 &485207310 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485207306} + 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_GateFitMode: 2 + m_FOVAxisMode: 0 + 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!1 &680319582 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 680319584} + - component: {fileID: 680319583} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &680319583 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 680319582} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &680319584 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 680319582} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1339349185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1339349186} + m_Layer: 0 + m_Name: Pivot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1339349186 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1339349185} + 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: 485207307} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1573414419 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1573414423} + - component: {fileID: 1573414422} + - component: {fileID: 1573414421} + - component: {fileID: 1573414420} + m_Layer: 0 + m_Name: Player Object + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!136 &1573414420 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573414419} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1573414421 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573414419} + 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: 42806559a24f32a43aa4a2670138cf7b, 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 &1573414422 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573414419} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1573414423 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573414419} + 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: 1644583845} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1644583839 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1644583845} + - component: {fileID: 1644583844} + - component: {fileID: 1644583843} + - component: {fileID: 1644583842} + - component: {fileID: 1644583841} + - component: {fileID: 1644583840} + m_Layer: 0 + m_Name: Player + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1644583840 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644583839} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83127dd120c01de45954b99cc4d669a5, type: 3} + m_Name: + m_EditorClassIdentifier: + finished: 0 + maxSpeed: 25 + acceleration: 0.5 + friction: 0.1 + jumpHeight: 20 + gravity: 5 + rotationSpeed: 20 + pivot: {fileID: 1339349186} + playerModel: {fileID: 1573414419} +--- !u!143 &1644583841 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644583839} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Height: 2 + m_Radius: 0.5 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0, z: 0} +--- !u!136 &1644583842 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644583839} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1644583843 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644583839} + m_Enabled: 0 + 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: [] + 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 &1644583844 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644583839} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1644583845 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644583839} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1573414423} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1677821148 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1677821150} + - component: {fileID: 1677821149} + m_Layer: 0 + m_Name: GM + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1677821149 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1677821148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e52a505534642144b4f939196badbab, type: 3} + m_Name: + m_EditorClassIdentifier: + escalation: 1 + player: {fileID: 1644583839} + script: {fileID: 1644583840} + obstacleList: + - {fileID: 2429100199437399696, guid: 0d434787bd8a63c418a6f46610be5a56, type: 3} + - {fileID: 414519846808350713, guid: 8d0421e8cce8f3e46a4626141a4411eb, type: 3} + - {fileID: 3821658720673687754, guid: d0164d7ee6ae94349b5fb425366d9805, type: 3} + - {fileID: 3626424710013366907, guid: a98abc5d37537f24989e8e292af3e36c, type: 3} + - {fileID: 2900998352494031732, guid: b90ade3883072a7448b42985436d9b75, type: 3} + - {fileID: 7670366362719441355, guid: e4879a38fef5725438adb256da808dc4, type: 3} +--- !u!4 &1677821150 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1677821148} + 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} diff --git a/Assets/Scenes/Floor Level.unity.meta b/Assets/Scenes/Floor Level.unity.meta new file mode 100644 index 0000000..2dcb136 --- /dev/null +++ b/Assets/Scenes/Floor Level.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1677949d058a3674f9e975f034bdb9a5 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Test Scene.unity b/Assets/Scenes/Hub World.unity similarity index 97% rename from Assets/Scenes/Test Scene.unity rename to Assets/Scenes/Hub World.unity index da75325..d93af6e 100644 --- a/Assets/Scenes/Test Scene.unity +++ b/Assets/Scenes/Hub World.unity @@ -988,7 +988,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} --- !u!1 &717001268 GameObject: @@ -1270,7 +1270,7 @@ Transform: m_Children: - {fileID: 615882419} m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &741217457 MonoBehaviour: @@ -1469,56 +1469,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 858957125} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &925216706 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 925216708} - - component: {fileID: 925216707} - m_Layer: 0 - m_Name: GM - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &925216707 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 925216706} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7e52a505534642144b4f939196badbab, type: 3} - m_Name: - m_EditorClassIdentifier: - escalation: 1 - obstacleList: - - {fileID: 2429100199437399696, guid: 0d434787bd8a63c418a6f46610be5a56, type: 3} - - {fileID: 3821658720673687754, guid: d0164d7ee6ae94349b5fb425366d9805, type: 3} - - {fileID: 3626424710013366907, guid: a98abc5d37537f24989e8e292af3e36c, type: 3} - - {fileID: 2900998352494031732, guid: b90ade3883072a7448b42985436d9b75, type: 3} - - {fileID: 7670366362719441355, guid: e4879a38fef5725438adb256da808dc4, type: 3} ---- !u!4 &925216708 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 925216706} - 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!1 &942294094 GameObject: m_ObjectHideFlags: 0 @@ -1635,7 +1585,7 @@ Transform: m_Children: - {fileID: 1402695046} m_Father: {fileID: 0} - m_RootOrder: 1 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &963194229 MonoBehaviour: @@ -2065,7 +2015,7 @@ Transform: - {fileID: 833538478} - {fileID: 1488444358} m_Father: {fileID: 0} - m_RootOrder: 3 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1853948297 GameObject: diff --git a/Assets/Scenes/Test Scene.unity.meta b/Assets/Scenes/Hub World.unity.meta similarity index 100% rename from Assets/Scenes/Test Scene.unity.meta rename to Assets/Scenes/Hub World.unity.meta diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index 83bcc38..605154c 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -12,6 +12,7 @@ public class PlayerController : MonoBehaviour CharacterController characterController; CapsuleCollider capsule; + public bool finished = false; public float maxSpeed; public float acceleration; public float friction; @@ -64,6 +65,13 @@ public class PlayerController : MonoBehaviour wallRunning = true; wall++; } + + if(hit.gameObject.tag == "Finish") + { + finished = true; + velocity = new Vector3(0,0,0); + maxSpeed = 0; + } } diff --git a/Assets/Scripts/ProceduralGeneration.cs b/Assets/Scripts/ProceduralGeneration.cs index 7905a6f..d66c0c1 100644 --- a/Assets/Scripts/ProceduralGeneration.cs +++ b/Assets/Scripts/ProceduralGeneration.cs @@ -8,6 +8,8 @@ public class ProceduralGeneration : MonoBehaviour { public int escalation; + public GameObject player; + public PlayerController script; public GameObject[] obstacleList; private int selection = 0; @@ -15,26 +17,67 @@ public class ProceduralGeneration : MonoBehaviour // Start is called before the first frame update void Start() { + + script = player.GetComponent(); + escalation = 1; + script.finished = false; + levelBuild(); + + } + + void Update() + { + + if(script.finished == true) + { + + escalation++; + + levelBuild(); + + } + + } + + void levelBuild() + { + + GameObject[] oldObjects = GameObject.FindGameObjectsWithTag("Environment"); + foreach (GameObject target in oldObjects) { + GameObject.Destroy(target); + } + + Destroy(GameObject.FindWithTag("Finish")); + for(int i = 1; i <= escalation; i++){ for(int j = 1; j <= escalation; j++){ - selection = Random.Range(1, obstacleList.Length); + selection = Random.Range(2, obstacleList.Length); Instantiate(obstacleList[selection], new Vector3(50*i, 2, 50*j), Quaternion.identity); - selection = Random.Range(1, obstacleList.Length); + selection = Random.Range(2, obstacleList.Length); Instantiate(obstacleList[selection], new Vector3(-50*i, 3, -50*j), Quaternion.identity); - selection = Random.Range(1, obstacleList.Length); + selection = Random.Range(2, obstacleList.Length); Instantiate(obstacleList[selection], new Vector3(-50*i, 4, 50*j), Quaternion.identity); - selection = Random.Range(1, obstacleList.Length); + selection = Random.Range(2, obstacleList.Length); Instantiate(obstacleList[selection], new Vector3(50*i, 5, -50*j), Quaternion.identity); } } Instantiate(obstacleList[0], new Vector3((50*escalation)+100, 0, (50*escalation)+100), Quaternion.identity); - Instantiate(obstacleList[0], new Vector3(-((50*escalation)+100), 0, -((50*escalation)+100)), Quaternion.identity); - + Instantiate(obstacleList[1], new Vector3(-((50*escalation)+100), 0, -((50*escalation)+100)), Quaternion.identity); + + player.transform.position = new Vector3((50*escalation)+100, 2, (50*escalation)+100); + player.transform.Rotate(0.0f, 225.0f, 0.0f, Space.Self); + + if(escalation == 1) + { + script.pivot.transform.Rotate(0.0f, 225.0f, 0.0f, Space.Self); + } + + script.finished = false; } } diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 7545818..c75ecbb 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -6,7 +6,7 @@ EditorBuildSettings: serializedVersion: 2 m_Scenes: - enabled: 1 - path: Assets/Scenes/Test Scene.unity + path: Assets/Scenes/Hub World.unity guid: 9fc0d4010bbf28b4594072e72b8655ab m_configObjects: com.unity.input.settings: {fileID: 11400000, guid: 5dbe934aa009ccc4591ccf96f49a3d48, diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 3d6800d..3948ad7 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -6,6 +6,7 @@ TagManager: tags: - Environment - Wall + - Obstacle layers: - Default - TransparentFX From 15521e4a4c9f5c017cce7c7173fdfbb78d8bfd57 Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Sat, 11 Jan 2020 00:46:40 -0500 Subject: [PATCH 4/8] Added the resetting of a level after player reaches the end, encountered strange bug that causes player to not teleport back to start --- Assets/Scenes/Floor Level.unity | 2 +- Assets/Scripts/PlayerController.cs | 14 ++++++++++---- Assets/Scripts/ProceduralGeneration.cs | 23 +++++++++++++---------- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/Assets/Scenes/Floor Level.unity b/Assets/Scenes/Floor Level.unity index f02663d..3d1eccf 100644 --- a/Assets/Scenes/Floor Level.unity +++ b/Assets/Scenes/Floor Level.unity @@ -606,7 +606,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7e52a505534642144b4f939196badbab, type: 3} m_Name: m_EditorClassIdentifier: - escalation: 1 + escalation: 0 player: {fileID: 1644583839} script: {fileID: 1644583840} obstacleList: diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index 605154c..021d9b9 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -68,10 +68,16 @@ public class PlayerController : MonoBehaviour if(hit.gameObject.tag == "Finish") { - finished = true; + velocity = new Vector3(0,0,0); + //moveDirection = new Vector3(0,0,0); maxSpeed = 0; - } + + if((Input.GetAxis("Horizontal") == 0 && Input.GetAxis("Vertical") == 0) || Input.GetButton("Stop")) + { + finished = true; + } + } } @@ -261,14 +267,14 @@ public class PlayerController : MonoBehaviour velocity.y = moveDirection.y; - Debug.Log(moveDirection.y+"\n"); - if(moveDirection.y <= -5 && Mathf.Abs(velocity.x) <= 1.5f && Mathf.Abs(velocity.z) <= 1.5f) { velocity.x = velocity.x * Mathf.Abs(moveDirection.y); velocity.z = velocity.z * Mathf.Abs(moveDirection.y); } + Debug.Log("Current Position: " + transform.position); + // Move the controller characterController.Move(velocity * Time.deltaTime); diff --git a/Assets/Scripts/ProceduralGeneration.cs b/Assets/Scripts/ProceduralGeneration.cs index d66c0c1..3e69c16 100644 --- a/Assets/Scripts/ProceduralGeneration.cs +++ b/Assets/Scripts/ProceduralGeneration.cs @@ -21,6 +21,9 @@ public class ProceduralGeneration : MonoBehaviour script = player.GetComponent(); escalation = 1; script.finished = false; + script.transform.position = new Vector3((50*escalation)+100, 2, (50*escalation)+100); + script.transform.Rotate(0.0f, 0.0f, 0.0f, Space.Self); + script.pivot.transform.Rotate(0.0f, 225.0f, 0.0f, Space.Self); levelBuild(); } @@ -31,8 +34,7 @@ public class ProceduralGeneration : MonoBehaviour if(script.finished == true) { - escalation++; - + escalation++; levelBuild(); } @@ -42,6 +44,11 @@ public class ProceduralGeneration : MonoBehaviour void levelBuild() { + Debug.Log("Sent: " + new Vector3((50*escalation)+100, 2, (50*escalation)+100)); + script.transform.position = new Vector3((50*escalation)+100, 2, (50*escalation)+100); + script.transform.Rotate(0.0f, 0.0f, 0.0f, Space.Self); + Debug.Log("Player: " + new Vector3((50*escalation)+100, 2, (50*escalation)+100)); + GameObject[] oldObjects = GameObject.FindGameObjectsWithTag("Environment"); foreach (GameObject target in oldObjects) { GameObject.Destroy(target); @@ -62,6 +69,9 @@ public class ProceduralGeneration : MonoBehaviour selection = Random.Range(2, obstacleList.Length); Instantiate(obstacleList[selection], new Vector3(50*i, 5, -50*j), Quaternion.identity); + + script.transform.position = new Vector3((50*escalation)+100, 2, (50*escalation)+100); + script.transform.Rotate(0.0f, 0.0f, 0.0f, Space.Self); } } @@ -69,15 +79,8 @@ public class ProceduralGeneration : MonoBehaviour Instantiate(obstacleList[0], new Vector3((50*escalation)+100, 0, (50*escalation)+100), Quaternion.identity); Instantiate(obstacleList[1], new Vector3(-((50*escalation)+100), 0, -((50*escalation)+100)), Quaternion.identity); - player.transform.position = new Vector3((50*escalation)+100, 2, (50*escalation)+100); - player.transform.Rotate(0.0f, 225.0f, 0.0f, Space.Self); + script.finished = false; - if(escalation == 1) - { - script.pivot.transform.Rotate(0.0f, 225.0f, 0.0f, Space.Self); - } - - script.finished = false; } } From 406a39655d9ed917565cfa4e72fdbf3e824467ef Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Sat, 11 Jan 2020 13:35:50 -0500 Subject: [PATCH 5/8] Figured out solution to respawning bug --- Assets/Scripts/PlayerController.cs | 20 +++++++++++++------- Assets/Scripts/ProceduralGeneration.cs | 26 +++++++++++++++++++------- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index 021d9b9..ccf7240 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -42,9 +42,11 @@ public class PlayerController : MonoBehaviour float slideTime = 0.0f; float wallRunTime = 0.0f; + float respawnTime = 1.0f; float oneSec = 1.0f; float halfSec = 0.5f; float quarterSec = 0.25f; + float tenthSec = 0.1f; void Start() { @@ -70,14 +72,14 @@ public class PlayerController : MonoBehaviour { velocity = new Vector3(0,0,0); - //moveDirection = new Vector3(0,0,0); + moveDirection = new Vector3(0,0,0); maxSpeed = 0; - if((Input.GetAxis("Horizontal") == 0 && Input.GetAxis("Vertical") == 0) || Input.GetButton("Stop")) - { - finished = true; - } - } + finished = true; + respawnTime = Time.time; + } else { + finished = false; + } } @@ -212,6 +214,7 @@ public class PlayerController : MonoBehaviour if (characterController.collisionFlags == CollisionFlags.None) { wallRunning = false; + //finished = false; wall = 0; } @@ -276,7 +279,10 @@ public class PlayerController : MonoBehaviour Debug.Log("Current Position: " + transform.position); // Move the controller - characterController.Move(velocity * Time.deltaTime); + if(finished == false && respawnTime + tenthSec < Time.time) + { + characterController.Move(velocity * Time.deltaTime); + } //Move the player in different directions based on camera look direction if(Input.GetAxis("Horizontal") != 0 || Input.GetAxis("Vertical") != 0) diff --git a/Assets/Scripts/ProceduralGeneration.cs b/Assets/Scripts/ProceduralGeneration.cs index 3e69c16..66ad927 100644 --- a/Assets/Scripts/ProceduralGeneration.cs +++ b/Assets/Scripts/ProceduralGeneration.cs @@ -12,6 +12,7 @@ public class ProceduralGeneration : MonoBehaviour public PlayerController script; public GameObject[] obstacleList; + private bool worldBuild = false; private int selection = 0; // Start is called before the first frame update @@ -20,6 +21,7 @@ public class ProceduralGeneration : MonoBehaviour script = player.GetComponent(); escalation = 1; + worldBuild = false; script.finished = false; script.transform.position = new Vector3((50*escalation)+100, 2, (50*escalation)+100); script.transform.Rotate(0.0f, 0.0f, 0.0f, Space.Self); @@ -34,21 +36,31 @@ public class ProceduralGeneration : MonoBehaviour if(script.finished == true) { + respawn(); escalation++; - levelBuild(); } + if(worldBuild == true) + { + levelBuild(); + } + + } + + void respawn() + { + + Debug.Log("Sent: " + new Vector3((50*escalation)+100, 2, (50*escalation)+100)); + script.transform.position = new Vector3((50*escalation)+100, 10, (50*escalation)+100); + script.transform.Rotate(0.0f, 0.0f, 0.0f, Space.Self); + worldBuild = true; + } void levelBuild() { - Debug.Log("Sent: " + new Vector3((50*escalation)+100, 2, (50*escalation)+100)); - script.transform.position = new Vector3((50*escalation)+100, 2, (50*escalation)+100); - script.transform.Rotate(0.0f, 0.0f, 0.0f, Space.Self); - Debug.Log("Player: " + new Vector3((50*escalation)+100, 2, (50*escalation)+100)); - GameObject[] oldObjects = GameObject.FindGameObjectsWithTag("Environment"); foreach (GameObject target in oldObjects) { GameObject.Destroy(target); @@ -79,8 +91,8 @@ public class ProceduralGeneration : MonoBehaviour Instantiate(obstacleList[0], new Vector3((50*escalation)+100, 0, (50*escalation)+100), Quaternion.identity); Instantiate(obstacleList[1], new Vector3(-((50*escalation)+100), 0, -((50*escalation)+100)), Quaternion.identity); + worldBuild = false; script.finished = false; - } } From 05632bf0b790167cb9d290a2fb419a37a48e9926 Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Sat, 11 Jan 2020 14:04:14 -0500 Subject: [PATCH 6/8] Adding respawning and a lives count. Once lives count reaches zero you are kicked back to hub world. Hub world also has respawning --- Assets/Scenes/Floor Level.unity | 4 +++- Assets/Scenes/Hub World.unity | 5 +++- Assets/Scripts/PlayerController.cs | 26 ++++++++++++++------ Assets/Scripts/ProceduralGeneration.cs | 29 ++++++++++++++--------- ProjectSettings/EditorBuildSettings.asset | 3 +++ 5 files changed, 47 insertions(+), 20 deletions(-) diff --git a/Assets/Scenes/Floor Level.unity b/Assets/Scenes/Floor Level.unity index 3d1eccf..015cb21 100644 --- a/Assets/Scenes/Floor Level.unity +++ b/Assets/Scenes/Floor Level.unity @@ -476,6 +476,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: finished: 0 + respawn: 0 + lives: 3 maxSpeed: 25 acceleration: 0.5 friction: 0.1 @@ -570,7 +572,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1644583839} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 5, z: 0} + m_LocalPosition: {x: 0, y: 2, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1573414423} diff --git a/Assets/Scenes/Hub World.unity b/Assets/Scenes/Hub World.unity index d93af6e..0d6369a 100644 --- a/Assets/Scenes/Hub World.unity +++ b/Assets/Scenes/Hub World.unity @@ -1265,7 +1265,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 741217452} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 5, z: 0} + m_LocalPosition: {x: 0, y: 2, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 615882419} @@ -1284,6 +1284,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 83127dd120c01de45954b99cc4d669a5, type: 3} m_Name: m_EditorClassIdentifier: + finished: 0 + respawn: 0 + lives: 3 maxSpeed: 25 acceleration: 0.5 friction: 0.1 diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index ccf7240..0e4245a 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -1,4 +1,5 @@ using UnityEngine; +using UnityEngine.SceneManagement; using System.Collections; // This script moves the character controller forward @@ -13,6 +14,8 @@ public class PlayerController : MonoBehaviour CapsuleCollider capsule; public bool finished = false; + public bool respawn = false; + public int lives = 3; public float maxSpeed; public float acceleration; public float friction; @@ -77,9 +80,7 @@ public class PlayerController : MonoBehaviour finished = true; respawnTime = Time.time; - } else { - finished = false; - } + } } @@ -92,6 +93,20 @@ public class PlayerController : MonoBehaviour moveDirection = Vector3.ClampMagnitude(moveDirection, 1.0f); moveDirection.y = yStore; + if(transform.position.y < -20.0f) + { + + respawn = true; + respawnTime = Time.time; + + if (SceneManager.GetActiveScene().name == "Hub World") + { + transform.position = new Vector3(0, 2, 0); + transform.Rotate(0.0f, 0.0f, 0.0f, Space.Self); + } + + } + if (jump >= 2) { if(maxSpeed > maxSpeedStore/1.5f) @@ -214,7 +229,6 @@ public class PlayerController : MonoBehaviour if (characterController.collisionFlags == CollisionFlags.None) { wallRunning = false; - //finished = false; wall = 0; } @@ -276,10 +290,8 @@ public class PlayerController : MonoBehaviour velocity.z = velocity.z * Mathf.Abs(moveDirection.y); } - Debug.Log("Current Position: " + transform.position); - // Move the controller - if(finished == false && respawnTime + tenthSec < Time.time) + if((finished == false || respawn == false) && respawnTime + tenthSec < Time.time) { characterController.Move(velocity * Time.deltaTime); } diff --git a/Assets/Scripts/ProceduralGeneration.cs b/Assets/Scripts/ProceduralGeneration.cs index 66ad927..1a7ddb6 100644 --- a/Assets/Scripts/ProceduralGeneration.cs +++ b/Assets/Scripts/ProceduralGeneration.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using UnityEngine.SceneManagement; [System.Serializable] @@ -12,7 +13,6 @@ public class ProceduralGeneration : MonoBehaviour public PlayerController script; public GameObject[] obstacleList; - private bool worldBuild = false; private int selection = 0; // Start is called before the first frame update @@ -21,10 +21,9 @@ public class ProceduralGeneration : MonoBehaviour script = player.GetComponent(); escalation = 1; - worldBuild = false; + script.lives = 3; script.finished = false; - script.transform.position = new Vector3((50*escalation)+100, 2, (50*escalation)+100); - script.transform.Rotate(0.0f, 0.0f, 0.0f, Space.Self); + respawn(); script.pivot.transform.Rotate(0.0f, 225.0f, 0.0f, Space.Self); levelBuild(); @@ -36,14 +35,25 @@ public class ProceduralGeneration : MonoBehaviour if(script.finished == true) { - respawn(); escalation++; + respawn(); + levelBuild(); } - if(worldBuild == true) + if(script.respawn == true) { - levelBuild(); + respawn(); + script.lives--; + script.respawn = false; + } + + if(script.lives == 0) + { + + script.lives = -1; + SceneManager.LoadScene("Hub World", LoadSceneMode.Single); + } } @@ -51,10 +61,8 @@ public class ProceduralGeneration : MonoBehaviour void respawn() { - Debug.Log("Sent: " + new Vector3((50*escalation)+100, 2, (50*escalation)+100)); - script.transform.position = new Vector3((50*escalation)+100, 10, (50*escalation)+100); + script.transform.position = new Vector3((50*escalation)+100, 2, (50*escalation)+100); script.transform.Rotate(0.0f, 0.0f, 0.0f, Space.Self); - worldBuild = true; } @@ -91,7 +99,6 @@ public class ProceduralGeneration : MonoBehaviour Instantiate(obstacleList[0], new Vector3((50*escalation)+100, 0, (50*escalation)+100), Quaternion.identity); Instantiate(obstacleList[1], new Vector3(-((50*escalation)+100), 0, -((50*escalation)+100)), Quaternion.identity); - worldBuild = false; script.finished = false; } diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index c75ecbb..49a8671 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -8,6 +8,9 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/Hub World.unity guid: 9fc0d4010bbf28b4594072e72b8655ab + - enabled: 1 + path: Assets/Scenes/Floor Level.unity + guid: 1677949d058a3674f9e975f034bdb9a5 m_configObjects: com.unity.input.settings: {fileID: 11400000, guid: 5dbe934aa009ccc4591ccf96f49a3d48, type: 2} From 24c16b9e8a808956e10ae84db61b58d59c7059f4 Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Sat, 11 Jan 2020 14:10:44 -0500 Subject: [PATCH 7/8] Renmed script since this script will only be used for the floor level scene --- Assets/Scripts/{ProceduralGeneration.cs => FloorLevel.cs} | 2 +- .../{ProceduralGeneration.cs.meta => FloorLevel.cs.meta} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename Assets/Scripts/{ProceduralGeneration.cs => FloorLevel.cs} (94%) rename Assets/Scripts/{ProceduralGeneration.cs.meta => FloorLevel.cs.meta} (100%) diff --git a/Assets/Scripts/ProceduralGeneration.cs b/Assets/Scripts/FloorLevel.cs similarity index 94% rename from Assets/Scripts/ProceduralGeneration.cs rename to Assets/Scripts/FloorLevel.cs index 1a7ddb6..4ab2a09 100644 --- a/Assets/Scripts/ProceduralGeneration.cs +++ b/Assets/Scripts/FloorLevel.cs @@ -5,7 +5,7 @@ using UnityEngine.SceneManagement; [System.Serializable] -public class ProceduralGeneration : MonoBehaviour +public class FloorLevel : MonoBehaviour { public int escalation; diff --git a/Assets/Scripts/ProceduralGeneration.cs.meta b/Assets/Scripts/FloorLevel.cs.meta similarity index 100% rename from Assets/Scripts/ProceduralGeneration.cs.meta rename to Assets/Scripts/FloorLevel.cs.meta From c6c387760f1e2a463183df7c21bf89ac25d73041 Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Sat, 11 Jan 2020 14:15:38 -0500 Subject: [PATCH 8/8] Cleaned up some respawn variable changes on hub world to prevent future bugs --- Assets/Scripts/PlayerController.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index 0e4245a..8f5a041 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -294,6 +294,7 @@ public class PlayerController : MonoBehaviour if((finished == false || respawn == false) && respawnTime + tenthSec < Time.time) { characterController.Move(velocity * Time.deltaTime); + respawn = false; } //Move the player in different directions based on camera look direction