diff --git a/Assets/Code/Gameplay/Level.meta b/Assets/Code/Gameplay/Level.meta new file mode 100644 index 0000000..b5e5a7a --- /dev/null +++ b/Assets/Code/Gameplay/Level.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e20edf8d105b46b5b57694433330b63f +timeCreated: 1772874450 \ No newline at end of file diff --git a/Assets/Code/Gameplay/Level/LevelBuilder.cs b/Assets/Code/Gameplay/Level/LevelBuilder.cs new file mode 100644 index 0000000..6e397da --- /dev/null +++ b/Assets/Code/Gameplay/Level/LevelBuilder.cs @@ -0,0 +1,82 @@ +using System.Collections.Generic; +using UnityEngine; + +public class LevelBuilder : MonoBehaviour +{ + [Header("Tile Settings")] + [SerializeField] private GameObject[] tilePrefabs; + [SerializeField] private float tileLength = 6f; + [SerializeField] private int numberOfTiles = 20; + [SerializeField] private Transform playerTransform; + + [Header("Environment Settings")] + [SerializeField] private GameObject[] treePrefabs; + + [SerializeField] private float sideOffset = 10f; + [SerializeField] private float treeRandomSpread = 2f; + + private readonly List _activeTiles = new(); + private readonly List _activeEnvironment = new(); + private float _spawnZ; + + private void Start() + { + for (var i = 0; i < numberOfTiles; i++) + { + SpawnTile(i < 5 ? 0 : Random.Range(0, tilePrefabs.Length)); + } + } + + private void Update() + { + if (playerTransform.position.z - 35 > _spawnZ - numberOfTiles * tileLength) + { + SpawnTile(Random.Range(0, tilePrefabs.Length)); + DeleteTile(); + } + } + + private void SpawnTile(int tileIndex) + { + var tile = Instantiate(tilePrefabs[tileIndex], transform.forward * _spawnZ, transform.rotation); + _activeTiles.Add(tile); + + SpawnEnvironment(_spawnZ); + + _spawnZ += tileLength; + } + + private void SpawnEnvironment(float zPos) + { + var envContainer = new GameObject("EnvGroup_" + zPos); + envContainer.transform.SetParent(transform); + + CreateTree(-sideOffset, zPos, envContainer.transform); + CreateTree(sideOffset, zPos, envContainer.transform); + + _activeEnvironment.Add(envContainer); + } + + private void CreateTree(float xOffset, float zPos, Transform parent) + { + if (treePrefabs.Length == 0) return; + + var finalX = xOffset + Random.Range(-treeRandomSpread, treeRandomSpread); + var finalZ = zPos + Random.Range(-treeRandomSpread, treeRandomSpread); + var spawnPos = new Vector3(finalX, 0, finalZ); + + var treePrefab = treePrefabs[Random.Range(0, treePrefabs.Length)]; + var tree = Instantiate(treePrefab, spawnPos, Quaternion.Euler(0, Random.Range(0, 360), 0)); + + tree.transform.SetParent(parent); + } + + private void DeleteTile() + { + Destroy(_activeTiles[0]); + _activeTiles.RemoveAt(0); + + Destroy(_activeEnvironment[0]); + _activeEnvironment.RemoveAt(0); + } +} \ No newline at end of file diff --git a/Assets/Code/Gameplay/Level/LevelBuilder.cs.meta b/Assets/Code/Gameplay/Level/LevelBuilder.cs.meta new file mode 100644 index 0000000..2dc0b11 --- /dev/null +++ b/Assets/Code/Gameplay/Level/LevelBuilder.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a596f6fd58984b8086c3494224d3a45e +timeCreated: 1772874458 \ No newline at end of file diff --git a/Assets/Resources/Materials/Grass.meta b/Assets/Resources/Materials/Grass.meta new file mode 100644 index 0000000..4c3e7ea --- /dev/null +++ b/Assets/Resources/Materials/Grass.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 454a6a27870ad41d0b4df86665c43fb0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Materials/Grass/Grass.jpg b/Assets/Resources/Materials/Grass/Grass.jpg new file mode 100644 index 0000000..fcffe05 --- /dev/null +++ b/Assets/Resources/Materials/Grass/Grass.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f300caedd7a04e9988c4634b5ac3bc969678945364f879195d2f8a4e9f3b953 +size 101502 diff --git a/Assets/Resources/Materials/Grass/Grass.jpg.meta b/Assets/Resources/Materials/Grass/Grass.jpg.meta new file mode 100644 index 0000000..5c76a64 --- /dev/null +++ b/Assets/Resources/Materials/Grass/Grass.jpg.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 18173c3b87d419cb0a06e514432abe07 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Materials/Grass/Grass.mat b/Assets/Resources/Materials/Grass/Grass.mat new file mode 100644 index 0000000..e8d4f7c --- /dev/null +++ b/Assets/Resources/Materials/Grass/Grass.mat @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Grass + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: 18173c3b87d419cb0a06e514432abe07, type: 3} + m_Scale: {x: 20, y: 1.2} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 18173c3b87d419cb0a06e514432abe07, type: 3} + m_Scale: {x: 20, y: 1.2} + 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} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _XRMotionVectorsPass: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &2722752101259375918 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 diff --git a/Assets/Resources/Materials/Grass/Grass.mat.meta b/Assets/Resources/Materials/Grass/Grass.mat.meta new file mode 100644 index 0000000..068932f --- /dev/null +++ b/Assets/Resources/Materials/Grass/Grass.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bfe0e2f584e31ed438edc5790440009b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Meshes.meta b/Assets/Resources/Meshes.meta new file mode 100644 index 0000000..74e1440 --- /dev/null +++ b/Assets/Resources/Meshes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d358d1369a6f03be7904b55cb38933f2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Meshes/LowPolyRoadPackFull.fbx b/Assets/Resources/Meshes/LowPolyRoadPackFull.fbx new file mode 100644 index 0000000..baaf112 --- /dev/null +++ b/Assets/Resources/Meshes/LowPolyRoadPackFull.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6780fef94d2d570623d3830e17bfe822fd3de5d61a7ebd8679d1d9f29f19a222 +size 161884 diff --git a/Assets/Resources/Meshes/LowPolyRoadPackFull.fbx.meta b/Assets/Resources/Meshes/LowPolyRoadPackFull.fbx.meta new file mode 100644 index 0000000..d367828 --- /dev/null +++ b/Assets/Resources/Meshes/LowPolyRoadPackFull.fbx.meta @@ -0,0 +1,110 @@ +fileFormatVersion: 2 +guid: 6132bf5dcb680d082a63126bb4f7df27 +ModelImporter: + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs.meta b/Assets/Resources/Prefabs.meta new file mode 100644 index 0000000..5b370bb --- /dev/null +++ b/Assets/Resources/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3a22568df45f2624e91ebd611d06b98e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/RoadTile.prefab b/Assets/Resources/Prefabs/RoadTile.prefab new file mode 100644 index 0000000..8ff70fe --- /dev/null +++ b/Assets/Resources/Prefabs/RoadTile.prefab @@ -0,0 +1,381 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2765262475731304197 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2971570566155986717} + - component: {fileID: 3675032572674265493} + - component: {fileID: 1755596153117060735} + - component: {fileID: 3684467025969415336} + m_Layer: 0 + m_Name: RoadFullLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2971570566155986717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2765262475731304197} + serializedVersion: 2 + m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 5, y: 0, z: 0} + m_LocalScale: {x: 300, y: 300, z: 5} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5930235490827277055} + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} +--- !u!33 &3675032572674265493 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2765262475731304197} + m_Mesh: {fileID: 7743829760212825795, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} +--- !u!23 &1755596153117060735 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2765262475731304197} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -6478536213147159724, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} + - {fileID: -3846018093981099296, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} + - {fileID: -6922793697723135513, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} + - {fileID: 4874126678125670354, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} + 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_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &3684467025969415336 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2765262475731304197} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 7743829760212825795, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} +--- !u!1 &3808195138003618927 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5930235490827277055} + m_Layer: 0 + m_Name: RoadTile + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5930235490827277055 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3808195138003618927} + serializedVersion: 2 + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2971570566155986717} + - {fileID: 2428960410874794624} + - {fileID: 3623208529512177735} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7066569773602192362 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2428960410874794624} + - component: {fileID: 3939376364173908410} + - component: {fileID: 9019804465349541032} + - component: {fileID: 5468040625834974621} + m_Layer: 0 + m_Name: RoadFullRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2428960410874794624 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7066569773602192362} + serializedVersion: 2 + m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -5, y: 0, z: 0} + m_LocalScale: {x: 300, y: 300, z: 5} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5930235490827277055} + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} +--- !u!33 &3939376364173908410 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7066569773602192362} + m_Mesh: {fileID: 7862779685367481540, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} +--- !u!23 &9019804465349541032 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7066569773602192362} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -6478536213147159724, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} + - {fileID: -3846018093981099296, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} + - {fileID: -6922793697723135513, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} + - {fileID: 4874126678125670354, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} + 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_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &5468040625834974621 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7066569773602192362} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 7862779685367481540, guid: 6132bf5dcb680d082a63126bb4f7df27, type: 3} +--- !u!1 &7499470466283527924 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3623208529512177735} + - component: {fileID: 8617838237189111118} + - component: {fileID: 6346538748158788352} + - component: {fileID: 530002612214262329} + m_Layer: 0 + m_Name: Grass + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3623208529512177735 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7499470466283527924} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 1, z: 0.6} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5930235490827277055} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8617838237189111118 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7499470466283527924} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6346538748158788352 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7499470466283527924} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: bfe0e2f584e31ed438edc5790440009b, 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_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &530002612214262329 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7499470466283527924} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/Resources/Prefabs/RoadTile.prefab.meta b/Assets/Resources/Prefabs/RoadTile.prefab.meta new file mode 100644 index 0000000..913d10b --- /dev/null +++ b/Assets/Resources/Prefabs/RoadTile.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: acc10273637de4f7f89083e2c8312552 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Scenes/Gameplay.unity b/Assets/Resources/Scenes/Gameplay.unity index 4a72157..06e0bc3 100644 --- a/Assets/Resources/Scenes/Gameplay.unity +++ b/Assets/Resources/Scenes/Gameplay.unity @@ -284,13 +284,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 330585543} serializedVersion: 2 - m_LocalRotation: {x: 0.10713175, y: 0, z: 0, w: 0.9942449} - m_LocalPosition: {x: 0, y: 4.84, z: -10} + m_LocalRotation: {x: 0.38268343, y: 0, z: 0, w: 0.92387956} + m_LocalPosition: {x: 0, y: 8, z: -5} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1630184751} - m_LocalEulerAnglesHint: {x: 12.3, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} --- !u!114 &330585547 MonoBehaviour: m_ObjectHideFlags: 0 @@ -393,6 +393,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 892292345} + - component: {fileID: 892292346} m_Layer: 0 m_Name: ScriptsHelper m_TagString: Untagged @@ -415,119 +416,54 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &893290716 -GameObject: +--- !u!114 &892292346 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 893290720} - - component: {fileID: 893290719} - - component: {fileID: 893290718} - - component: {fileID: 893290717} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!64 &893290717 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 893290716} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 + m_GameObject: {fileID: 892292344} m_Enabled: 1 - serializedVersion: 5 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &893290718 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 893290716} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 4a28b01b742cc3279b57e8edcdb89473, 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_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_MaskInteraction: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &893290719 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 893290716} - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &893290720 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 893290716} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1000, y: 1000, z: 1000} - m_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a596f6fd58984b8086c3494224d3a45e, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::LevelBuilder + tilePrefabs: + - {fileID: 3808195138003618927, guid: acc10273637de4f7f89083e2c8312552, type: 3} + tileLength: 6 + numberOfTiles: 20 + playerTransform: {fileID: 1630184751} + treePrefabs: + - {fileID: 108108427490349048, guid: 1f60561e8ec0b974381e14a26655f629, type: 3} + - {fileID: 4600195313735960183, guid: 02b2dbf2646b0334a9f4cc5fe7b199ec, type: 3} + - {fileID: 3040485896965194352, guid: d6669ddf98dae2f408d2f3a5e8c0bf0d, type: 3} + - {fileID: 4769218423111688515, guid: 646007c1f27ee854295555aaf1fa1b0d, type: 3} + - {fileID: 7863330281341523992, guid: c4129451ee3d52945a9b592fa718a488, type: 3} + - {fileID: 6511319503458863414, guid: 2691fed7003dbca4caf3ee9f301dd943, type: 3} + - {fileID: 10446517643947872, guid: 85d9d214dd7b1aa41a63a1b3512c2259, type: 3} + - {fileID: 2534275892078415137, guid: 6cc2fd16f8aa78141bb11b53d5b91dc8, type: 3} + - {fileID: 583406281077993818, guid: 6545659982cdec049b1b9599ec6e8002, type: 3} + - {fileID: 8284668239768734177, guid: 231467dde288e2a459316e41613ca008, type: 3} + - {fileID: 193123286497617351, guid: 39c85e62288f8f2408668c64486fc6a6, type: 3} + - {fileID: 4528600786783135784, guid: 52a4c65a66c01504a9ed6f421e1899de, type: 3} + - {fileID: 7275349744810137865, guid: 4aabc38ced7d0e442b3489d497cd2e1c, type: 3} + - {fileID: 3436519743139411627, guid: 5e3a6dcade10c5a40bd652218d759a9e, type: 3} + - {fileID: 6113246385989427732, guid: cbfd54b921c50034d80fcbffd05b2623, type: 3} + - {fileID: 8474463903988374512, guid: 6a31c72feef54824f867e347a5b7fe8b, type: 3} + - {fileID: 4375367762823042040, guid: d78b9f4a522c3434aae7d5b6995a6a70, type: 3} + - {fileID: 3021034894600886645, guid: 2a96164ee6fc9cd44ae1017377233ac6, type: 3} + - {fileID: 6008148855844316918, guid: 8941ddf2f482a344f93348ae6e1d3c7f, type: 3} + - {fileID: 3014918777988423885, guid: f92266c5fb68bfb4ea85ea3a4c89976a, type: 3} + - {fileID: 3942084053788971128, guid: 22a9080c2f2402b499a0dc31dec98137, type: 3} + - {fileID: 7201747772869918559, guid: 12efbc7df835fc14ebb93e4cca0f64ae, type: 3} + - {fileID: 1229011041972476712, guid: 94ad8b899c7bd8d4fbc1fc2e26cf8aa7, type: 3} + - {fileID: 1140370902928530324, guid: 56290f2e330106f46b32b220f4538982, type: 3} + - {fileID: 671027193443017514, guid: 552a36e918430bb4da7fdcacca4c4d9f, type: 3} + - {fileID: 2800490832198860664, guid: 6e27188a1eec1614c81e23bcfced4a0b, type: 3} + - {fileID: 2756664391083949116, guid: 32b3a39cf7df4bb479ce54be8fbbdf60, type: 3} + - {fileID: 2955052899970172754, guid: 1704e3c258c73534ab8925fb44d45111, type: 3} + sideOffset: 10 + treeRandomSpread: 3 --- !u!1 &1630184746 GameObject: m_ObjectHideFlags: 0 @@ -683,8 +619,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.Player.PlayerController forwardSpeed: 10 - laneDistance: 2.5 - jumpForce: 25 + laneDistance: 5 + jumpForce: 12.5 gravity: 20 --- !u!1 &1639123675 GameObject: @@ -795,5 +731,4 @@ SceneRoots: - {fileID: 832575519} - {fileID: 1639123679} - {fileID: 245661898} - - {fileID: 893290720} - {fileID: 1630184751}