diff --git a/Assets/Asset/russian_buildings/materials/rus_build_07.mat b/Assets/Asset/russian_buildings/materials/rus_build_07.mat index 863b004..6169daa 100644 --- a/Assets/Asset/russian_buildings/materials/rus_build_07.mat +++ b/Assets/Asset/russian_buildings/materials/rus_build_07.mat @@ -25,6 +25,9 @@ Material: m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: + - _METALLICSPECGLOSSMAP + - _NORMALMAP + - _PARALLAXMAP - _SPECGLOSSMAP - _SPECULAR_SETUP m_InvalidKeywords: [] @@ -65,7 +68,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: a9a0a885c2eede34587e12cd1414003c, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Asset/russian_buildings/materials/rus_build_08.mat b/Assets/Asset/russian_buildings/materials/rus_build_08.mat index 1064b34..fe35ac1 100644 --- a/Assets/Asset/russian_buildings/materials/rus_build_08.mat +++ b/Assets/Asset/russian_buildings/materials/rus_build_08.mat @@ -25,6 +25,9 @@ Material: m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: + - _METALLICSPECGLOSSMAP + - _NORMALMAP + - _PARALLAXMAP - _SPECGLOSSMAP - _SPECULAR_SETUP m_InvalidKeywords: [] @@ -65,7 +68,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: f63b585b494c19e408adc8374a32ff38, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Asset/russian_buildings/materials/rus_build_11.mat b/Assets/Asset/russian_buildings/materials/rus_build_11.mat index 2b7b144..f38148c 100644 --- a/Assets/Asset/russian_buildings/materials/rus_build_11.mat +++ b/Assets/Asset/russian_buildings/materials/rus_build_11.mat @@ -12,6 +12,9 @@ Material: m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: + - _METALLICSPECGLOSSMAP + - _NORMALMAP + - _PARALLAXMAP - _SPECGLOSSMAP - _SPECULAR_SETUP m_InvalidKeywords: [] @@ -52,7 +55,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: d898f1952a888e5459ca4fa61f69aacb, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Asset/russian_buildings/materials/rus_build_14.mat b/Assets/Asset/russian_buildings/materials/rus_build_14.mat index 5cefaf0..dcb5303 100644 --- a/Assets/Asset/russian_buildings/materials/rus_build_14.mat +++ b/Assets/Asset/russian_buildings/materials/rus_build_14.mat @@ -12,6 +12,9 @@ Material: m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: + - _METALLICSPECGLOSSMAP + - _NORMALMAP + - _PARALLAXMAP - _SPECGLOSSMAP - _SPECULAR_SETUP m_InvalidKeywords: [] @@ -52,7 +55,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: 190b08caee9510e4094d8fb85df30e6a, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Asset/russian_buildings/materials/rus_build_15.mat b/Assets/Asset/russian_buildings/materials/rus_build_15.mat index bcbceca..8eb2755 100644 --- a/Assets/Asset/russian_buildings/materials/rus_build_15.mat +++ b/Assets/Asset/russian_buildings/materials/rus_build_15.mat @@ -25,6 +25,9 @@ Material: m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: + - _METALLICSPECGLOSSMAP + - _NORMALMAP + - _PARALLAXMAP - _SPECGLOSSMAP - _SPECULAR_SETUP m_InvalidKeywords: [] @@ -65,7 +68,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: 348b7b1e9b718254eb222c50d2f1b370, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Asset/russian_buildings/materials/rus_build_dec_01.mat b/Assets/Asset/russian_buildings/materials/rus_build_dec_01.mat index 3b69b55..c9d450d 100644 --- a/Assets/Asset/russian_buildings/materials/rus_build_dec_01.mat +++ b/Assets/Asset/russian_buildings/materials/rus_build_dec_01.mat @@ -64,7 +64,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: 24ae1851ee4bd6b40903851f84596cc5, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Asset/russian_buildings/materials/rus_build_lod_01.mat b/Assets/Asset/russian_buildings/materials/rus_build_lod_01.mat index ed858a7..b205625 100644 --- a/Assets/Asset/russian_buildings/materials/rus_build_lod_01.mat +++ b/Assets/Asset/russian_buildings/materials/rus_build_lod_01.mat @@ -12,6 +12,7 @@ Material: m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: + - _METALLICSPECGLOSSMAP - _SPECGLOSSMAP - _SPECULAR_SETUP m_InvalidKeywords: @@ -53,7 +54,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: 027ee668c37651046b8fcc1de158d11b, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Asset/russian_buildings/materials/rus_build_lod_02.mat b/Assets/Asset/russian_buildings/materials/rus_build_lod_02.mat index 9cfd798..aa75994 100644 --- a/Assets/Asset/russian_buildings/materials/rus_build_lod_02.mat +++ b/Assets/Asset/russian_buildings/materials/rus_build_lod_02.mat @@ -25,6 +25,7 @@ Material: m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: + - _METALLICSPECGLOSSMAP - _SPECGLOSSMAP - _SPECULAR_SETUP m_InvalidKeywords: [] @@ -65,7 +66,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: 62da88ce44d49764b91100a52cc54548, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Asset/russian_buildings/materials/rus_build_lod_03.mat b/Assets/Asset/russian_buildings/materials/rus_build_lod_03.mat index 1aa5a44..e2d6347 100644 --- a/Assets/Asset/russian_buildings/materials/rus_build_lod_03.mat +++ b/Assets/Asset/russian_buildings/materials/rus_build_lod_03.mat @@ -12,6 +12,7 @@ Material: m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: + - _METALLICSPECGLOSSMAP - _SPECGLOSSMAP - _SPECULAR_SETUP m_InvalidKeywords: @@ -53,7 +54,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: efce089419136f94492f8f54bf755a5c, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Data/CarPhysicsData.meta b/Assets/Data/CarPhysicsData.meta new file mode 100644 index 0000000..f7bd342 --- /dev/null +++ b/Assets/Data/CarPhysicsData.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3efdaab9fd94774aa80108ad4e02503 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Data/CarPhysicsData/Hirochi_Physics.asset b/Assets/Data/CarPhysicsData/Hirochi_Physics.asset new file mode 100644 index 0000000..a01ba22 --- /dev/null +++ b/Assets/Data/CarPhysicsData/Hirochi_Physics.asset @@ -0,0 +1,98 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 396086e692304e97aab2b9b09066d2b5, type: 3} + m_Name: Hirochi_Physics + m_EditorClassIdentifier: Assembly-CSharp::CarPhysicsData + torqueCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0.123904884 + outSlope: 0.123904884 + tangentMode: 34 + weightedMode: 0 + inWeight: 0 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 800 + value: 100 + inSlope: 0.082222715 + outSlope: 0.082222715 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4500 + value: 250 + inSlope: -0.0137297325 + outSlope: -0.0137297325 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 7000 + value: 80 + inSlope: -0.068 + outSlope: -0.068 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + maxRPM: 7000 + minRPM: 800 + shiftUpRPM: 6000 + shiftDownRPM: 2500 + gearRatios: + - 3.1 + - 2.2 + - 1.6 + - 1.2 + - 0.9 + - 0.7 + finalDrive: 3.4 + maxSteerAngle: 35 + steerSmoothing: 10 + steerAngleBySpeed: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 150 + value: 0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + centerOfMassOffset: {x: 0, y: -0.2, z: 0} + antiRollForce: 5000 + brakeForce: 3000 + handbrakeFrictionMultiplier: 0.3 diff --git a/Assets/Data/CarPhysicsData/Hirochi_Physics.asset.meta b/Assets/Data/CarPhysicsData/Hirochi_Physics.asset.meta new file mode 100644 index 0000000..f1291a9 --- /dev/null +++ b/Assets/Data/CarPhysicsData/Hirochi_Physics.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1865251594a045046b5f77e23e0cb2c6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/SpawnCubesEditor.cs b/Assets/Editor/SpawnCubesEditor.cs deleted file mode 100644 index f46f37e..0000000 --- a/Assets/Editor/SpawnCubesEditor.cs +++ /dev/null @@ -1,116 +0,0 @@ -using UnityEngine; -using UnityEditor; -using UnityEditor.SceneManagement; - -namespace Perekyp.EditorTools -{ - [InitializeOnLoad] - public static class SpawnCubesEditor - { - static SpawnCubesEditor() - { - EditorApplication.delayCall += SpawnCubesOnce; - } - - private static void SpawnCubesOnce() - { - // Execute spawn of the 6 cubes - ExecuteSpawn(); - } - - [MenuItem("Tools/Spawn 6 Cubes (2 Rows)")] - public static void ExecuteSpawn() - { - // Clean up previous groups if existing - GameObject oldGroup1 = GameObject.Find("ThreeCubes"); - if (oldGroup1 != null) - { - Undo.DestroyObjectImmediate(oldGroup1); - } - GameObject oldGroup2 = GameObject.Find("CubesGroup"); - if (oldGroup2 != null) - { - Undo.DestroyObjectImmediate(oldGroup2); - } - - GameObject parent = new GameObject("CubesGroup"); - Undo.RegisterCreatedObjectUndo(parent, "Create CubesGroup Parent"); - - // Row 1 (first 3 cubes) and Row 2 (3 new cubes next to them) - // Player is around Z = 5.24 facing negative Z, so Z = 3.5 and Z = 2.0 are directly in view. - Vector3[] positions = new Vector3[] - { - // Row 1 (first row) - new Vector3(-2.0f, 1.0f, 3.5f), - new Vector3( 0.0f, 1.0f, 3.5f), - new Vector3( 2.0f, 1.0f, 3.5f), - - // Row 2 (second row, right next to / in front of the first row) - new Vector3(-2.0f, 1.0f, 2.0f), - new Vector3( 0.0f, 1.0f, 2.0f), - new Vector3( 2.0f, 1.0f, 2.0f) - }; - - Color[] colors = new Color[] - { - // Row 1: Red, Green, Blue - new Color(0.95f, 0.26f, 0.21f), // Red - new Color(0.30f, 0.69f, 0.31f), // Green - new Color(0.13f, 0.59f, 0.95f), // Blue - - // Row 2: Red, Green, Blue (matching set) - new Color(0.95f, 0.26f, 0.21f), // Red - new Color(0.30f, 0.69f, 0.31f), // Green - new Color(0.13f, 0.59f, 0.95f) // Blue - }; - - string[] names = new string[] - { - "Cube_Red_Row1", - "Cube_Green_Row1", - "Cube_Blue_Row1", - "Cube_Red_Row2", - "Cube_Green_Row2", - "Cube_Blue_Row2" - }; - - Shader urpShader = Shader.Find("Universal Render Pipeline/Lit") - ?? Shader.Find("URP/Lit") - ?? Shader.Find("Standard"); - - for (int i = 0; i < 6; i++) - { - GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); - cube.name = names[i]; - cube.transform.position = positions[i]; - cube.transform.localScale = Vector3.one; - cube.transform.SetParent(parent.transform); - - var renderer = cube.GetComponent(); - if (renderer != null && urpShader != null) - { - Material mat = new Material(urpShader); - mat.name = $"Mat_{names[i]}"; - mat.color = colors[i]; - renderer.sharedMaterial = mat; - } - - Undo.RegisterCreatedObjectUndo(cube, $"Create {names[i]}"); - } - - Selection.activeGameObject = parent; - - var activeScene = EditorSceneManager.GetActiveScene(); - if (activeScene.IsValid()) - { - EditorSceneManager.MarkSceneDirty(activeScene); - EditorSceneManager.SaveScene(activeScene); - Debug.Log($"[SpawnCubesEditor] Successfully spawned 6 cubes (2 rows of 3) on scene '{activeScene.name}'!"); - } - else - { - Debug.Log("[SpawnCubesEditor] Successfully spawned 6 cubes in the scene!"); - } - } - } -} diff --git a/Assets/Editor/SpawnCubesEditor.cs.meta b/Assets/Editor/SpawnCubesEditor.cs.meta deleted file mode 100644 index 2e34b65..0000000 --- a/Assets/Editor/SpawnCubesEditor.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 403983d9c86a19f4a85074eba6aed3fd \ No newline at end of file diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index e9e977c..bd535e6 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -808,128 +808,6 @@ Transform: - {fileID: 1744968924} m_Father: {fileID: 6278759869018894530} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!21 &61882806 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Mat_Cube_Green_Row1 - 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: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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 - - _ScreenSpaceReflections: 1 - - _ScreenSpaceReflectionsContributeTransparent: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _WorkflowMode: 1 - - _XRMotionVectorsPass: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.3, g: 0.69, b: 0.31, 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!1 &67709936 GameObject: m_ObjectHideFlags: 0 @@ -2257,118 +2135,6 @@ WheelCollider: m_LayerOverridePriority: 0 m_Enabled: 1 m_ProvidesContacts: 0 ---- !u!1 &248743526 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 248743527} - - component: {fileID: 248743530} - - component: {fileID: 248743529} - - component: {fileID: 248743528} - m_Layer: 0 - m_Name: Cube_Red_Row2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &248743527 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 248743526} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -2, y: 1, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 395157957} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &248743528 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 248743526} - 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: 1910795361} - 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: 1 - 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!65 &248743529 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 248743526} - 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: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &248743530 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 248743526} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &269046124 GameObject: m_ObjectHideFlags: 0 @@ -2719,43 +2485,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: d0942da8e0756d64fa0dc5f970badb08, type: 3} ---- !u!1 &395157956 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 395157957} - m_Layer: 0 - m_Name: CubesGroup - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &395157957 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 395157956} - 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: 1095945124} - - {fileID: 1374005392} - - {fileID: 1429402202} - - {fileID: 248743527} - - {fileID: 719438455} - - {fileID: 1165196503} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &396455077 GameObject: m_ObjectHideFlags: 0 @@ -3567,6 +3296,7 @@ MonoBehaviour: m_Bits: 64 primaryKey: 101 secondaryKey: 114 + enterVehicleKey: 102 uiManager: {fileID: 1891979} --- !u!1 &513905391 GameObject: @@ -4400,118 +4130,6 @@ Transform: - {fileID: 692812962} m_Father: {fileID: 108665768} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &719438454 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 719438455} - - component: {fileID: 719438458} - - component: {fileID: 719438457} - - component: {fileID: 719438456} - m_Layer: 0 - m_Name: Cube_Green_Row2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &719438455 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 719438454} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 395157957} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &719438456 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 719438454} - 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: 1352189295} - 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: 1 - 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!65 &719438457 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 719438454} - 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: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &719438458 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 719438454} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &727573202 GameObject: m_ObjectHideFlags: 0 @@ -5349,128 +4967,6 @@ WheelCollider: m_LayerOverridePriority: 0 m_Enabled: 1 m_ProvidesContacts: 0 ---- !u!21 &1032387370 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Mat_Cube_Red_Row1 - 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: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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 - - _ScreenSpaceReflections: 1 - - _ScreenSpaceReflectionsContributeTransparent: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _WorkflowMode: 1 - - _XRMotionVectorsPass: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.95, g: 0.26, b: 0.21, 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!1 &1037590842 GameObject: m_ObjectHideFlags: 0 @@ -5717,479 +5213,11 @@ Transform: m_Children: [] m_Father: {fileID: 6278759869018894530} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1095945123 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1095945124} - - component: {fileID: 1095945127} - - component: {fileID: 1095945126} - - component: {fileID: 1095945125} - m_Layer: 0 - m_Name: Cube_Red_Row1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1095945124 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1095945123} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -2, y: 1, z: 3.5} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 395157957} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1095945125 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1095945123} - 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: 1032387370} - 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: 1 - 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!65 &1095945126 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1095945123} - 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: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1095945127 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1095945123} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!21 &1096274942 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Mat_Cube_Blue_Row2 - 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: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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 - - _ScreenSpaceReflections: 1 - - _ScreenSpaceReflectionsContributeTransparent: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _WorkflowMode: 1 - - _XRMotionVectorsPass: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.13, g: 0.59, b: 0.95, 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!21 &1134028333 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Mat_Cube_Blue_Row1 - 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: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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 - - _ScreenSpaceReflections: 1 - - _ScreenSpaceReflectionsContributeTransparent: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _WorkflowMode: 1 - - _XRMotionVectorsPass: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.13, g: 0.59, b: 0.95, 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!4 &1158675883 stripped Transform: m_CorrespondingSourceObject: {fileID: 4559603791418098, guid: 17ad28e3b260df24480db2f8dd6a7e09, type: 3} m_PrefabInstance: {fileID: 2082177307} m_PrefabAsset: {fileID: 0} ---- !u!1 &1165196502 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1165196503} - - component: {fileID: 1165196506} - - component: {fileID: 1165196505} - - component: {fileID: 1165196504} - m_Layer: 0 - m_Name: Cube_Blue_Row2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1165196503 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1165196502} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2, y: 1, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 395157957} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1165196504 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1165196502} - 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: 1096274942} - 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: 1 - 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!65 &1165196505 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1165196502} - 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: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1165196506 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1165196502} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1187635324 GameObject: m_ObjectHideFlags: 0 @@ -6584,240 +5612,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!21 &1352189295 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Mat_Cube_Green_Row2 - 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: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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 - - _ScreenSpaceReflections: 1 - - _ScreenSpaceReflectionsContributeTransparent: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _WorkflowMode: 1 - - _XRMotionVectorsPass: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.3, g: 0.69, b: 0.31, 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!1 &1374005391 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1374005392} - - component: {fileID: 1374005395} - - component: {fileID: 1374005394} - - component: {fileID: 1374005393} - m_Layer: 0 - m_Name: Cube_Green_Row1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1374005392 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1374005391} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: 3.5} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 395157957} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1374005393 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1374005391} - 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: 61882806} - 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: 1 - 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!65 &1374005394 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1374005391} - 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: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1374005395 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1374005391} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1401415245 GameObject: m_ObjectHideFlags: 0 @@ -7367,118 +6161,6 @@ BoxCollider: serializedVersion: 3 m_Size: {x: 1.9034042, y: 1.1622311, z: 4.854271} m_Center: {x: -0.18816757, y: 0.6376721, z: -0.31553233} ---- !u!1 &1429402201 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1429402202} - - component: {fileID: 1429402205} - - component: {fileID: 1429402204} - - component: {fileID: 1429402203} - m_Layer: 0 - m_Name: Cube_Blue_Row1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1429402202 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1429402201} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2, y: 1, z: 3.5} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 395157957} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1429402203 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1429402201} - 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: 1134028333} - 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: 1 - 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!65 &1429402204 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1429402201} - 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: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1429402205 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1429402201} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1435413743 GameObject: m_ObjectHideFlags: 0 @@ -8987,128 +7669,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 4215362236259530, guid: a121d32ef0a226a459036bdbc16455ea, type: 3} m_PrefabInstance: {fileID: 562911678} m_PrefabAsset: {fileID: 0} ---- !u!21 &1910795361 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Mat_Cube_Red_Row2 - 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: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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 - - _ScreenSpaceReflections: 1 - - _ScreenSpaceReflectionsContributeTransparent: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _WorkflowMode: 1 - - _XRMotionVectorsPass: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.95, g: 0.26, b: 0.21, 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!1 &1911354196 GameObject: m_ObjectHideFlags: 0 @@ -40940,6 +39500,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::VehicleInteraction exitPoint: {fileID: 128789039} uiManager: {fileID: 1891979} + isPlayerInside: 0 --- !u!114 &2054412499695396753 MonoBehaviour: m_ObjectHideFlags: 0 @@ -54569,10 +53130,10 @@ GameObject: m_Component: - component: {fileID: 2401697899028463495} - component: {fileID: 3035244932027966782} - - component: {fileID: 3035244932027966785} - - component: {fileID: 3035244932027966784} - component: {fileID: 3035244932027966783} - component: {fileID: 3035244932027966786} + - component: {fileID: 3035244932027966788} + - component: {fileID: 3035244932027966787} m_Layer: 0 m_Name: Hirochi m_TagString: Untagged @@ -54621,52 +53182,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::VehicleInteraction exitPoint: {fileID: 513905392} uiManager: {fileID: 1891979} ---- !u!114 &3035244932027966784 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3035244932027966781} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4d9eeaad380562f42bac8b304778252c, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::EasySuspension - naturalFrequency: 8.2 - dampingRatio: 0.8 - forceShift: 0.03 - setSuspensionDistance: 1 ---- !u!114 &3035244932027966785 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3035244932027966781} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 100e57e4683949049302153c3df8055c, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::CarController - driveType: 2 - motorForce: 1500 - brakeForce: 3000 - maxSteerAngle: 30 - fwdFrontGrip: 1.2 - fwdRearGrip: 2 - rwdFrontGrip: 2 - rwdRearGrip: 1.2 - awdFrontGrip: 2.5 - awdRearGrip: 2.5 - frontLeftCollider: {fileID: 654526129} - frontRightCollider: {fileID: 663631739} - rearLeftCollider: {fileID: 1402802267} - rearRightCollider: {fileID: 2043752013} - frontLeftMesh: {fileID: 7493965781162990976} - frontRightMesh: {fileID: 1900989433652124910} - rearLeftMesh: {fileID: 3759583277276445777} - rearRightMesh: {fileID: 482239282661849437} + isPlayerInside: 0 --- !u!114 &3035244932027966786 MonoBehaviour: m_ObjectHideFlags: 0 @@ -54683,6 +53199,48 @@ MonoBehaviour: minRustAmount: 0.2 maxRustAmount: 0.85 baseCarColor: {r: 0.101960786, g: 0.08627451, b: 0.52156866, a: 1} +--- !u!114 &3035244932027966787 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3035244932027966781} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ce1b65bf09494194a68749d417b0e17a, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::WheelVisuals + wheels: + - collider: {fileID: 663631739} + mesh: {fileID: 1900989433652124910} + - collider: {fileID: 654526129} + mesh: {fileID: 7493965781162990976} + - collider: {fileID: 2043752013} + mesh: {fileID: 482239282661849437} + - collider: {fileID: 1402802267} + mesh: {fileID: 3759583277276445777} +--- !u!114 &3035244932027966788 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3035244932027966781} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c02b03f912164de9ae5c7659d886fae9, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::AdvancedCarController + data: {fileID: 11400000, guid: 1865251594a045046b5f77e23e0cb2c6, type: 2} + frontWheels: + - {fileID: 663631739} + - {fileID: 654526129} + rearWheels: + - {fileID: 2043752013} + - {fileID: 1402802267} + engineCondition: 1 + tiresCondition: 1 --- !u!1 &3036468142004751567 GameObject: m_ObjectHideFlags: 0 @@ -58273,6 +56831,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::VehicleInteraction exitPoint: {fileID: 1708092279} uiManager: {fileID: 1891979} + isPlayerInside: 0 --- !u!114 &3258653862255695682 MonoBehaviour: m_ObjectHideFlags: 0 @@ -59599,6 +58158,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::VehicleInteraction exitPoint: {fileID: 1972314793} uiManager: {fileID: 1891979} + isPlayerInside: 0 --- !u!114 &3338272779446886914 MonoBehaviour: m_ObjectHideFlags: 0 @@ -71064,6 +69624,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::VehicleInteraction exitPoint: {fileID: 1737848292} uiManager: {fileID: 1891979} + isPlayerInside: 0 --- !u!114 &4103311451504405024 MonoBehaviour: m_ObjectHideFlags: 0 @@ -75227,6 +73788,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::VehicleInteraction exitPoint: {fileID: 1972115337} uiManager: {fileID: 1891979} + isPlayerInside: 0 --- !u!114 &4384547954251713702 MonoBehaviour: m_ObjectHideFlags: 0 @@ -107904,6 +106466,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::VehicleInteraction exitPoint: {fileID: 1094138646} uiManager: {fileID: 1891979} + isPlayerInside: 0 --- !u!114 &6658979389074123387 MonoBehaviour: m_ObjectHideFlags: 0 @@ -127390,6 +125953,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::VehicleInteraction exitPoint: {fileID: 1257481080} uiManager: {fileID: 1891979} + isPlayerInside: 0 --- !u!114 &7965521666115879924 MonoBehaviour: m_ObjectHideFlags: 0 @@ -144805,6 +143369,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::VehicleInteraction exitPoint: {fileID: 1523640618} uiManager: {fileID: 1891979} + isPlayerInside: 0 --- !u!114 &9017884357251508377 MonoBehaviour: m_ObjectHideFlags: 0 @@ -147853,4 +146418,3 @@ SceneRoots: - {fileID: 1714021960163736884} - {fileID: 9017884357251508374} - {fileID: 4384547954251713699} - - {fileID: 395157957} diff --git a/Assets/Scripts/Car/Interaction/VehicleInteraction.cs b/Assets/Scripts/Car/Interaction/VehicleInteraction.cs index 91e4682..daa8be7 100644 --- a/Assets/Scripts/Car/Interaction/VehicleInteraction.cs +++ b/Assets/Scripts/Car/Interaction/VehicleInteraction.cs @@ -7,13 +7,13 @@ public class VehicleInteraction : MonoBehaviour, IInteractable [SerializeField] private UIManager uiManager; private CarOrbitCamera globalCarCamera; // Ссылка на глобальную камеру - private CarController carController; + private AdvancedCarController carController; private GameObject playerInstance; - private bool isPlayerInside = false; + public bool isPlayerInside = false; private void Awake() { - carController = GetComponent(); + carController = GetComponent(); // Автоматически находим камеру на сцене, даже если она выключена globalCarCamera = FindAnyObjectByType(FindObjectsInactive.Include); diff --git a/Assets/Scripts/Car/PartData.meta b/Assets/Scripts/Car/Part.meta similarity index 100% rename from Assets/Scripts/Car/PartData.meta rename to Assets/Scripts/Car/Part.meta diff --git a/Assets/Scripts/Car/PartData/CarPart.cs b/Assets/Scripts/Car/Part/CarPart.cs similarity index 100% rename from Assets/Scripts/Car/PartData/CarPart.cs rename to Assets/Scripts/Car/Part/CarPart.cs diff --git a/Assets/Scripts/Car/PartData/CarPart.cs.meta b/Assets/Scripts/Car/Part/CarPart.cs.meta similarity index 100% rename from Assets/Scripts/Car/PartData/CarPart.cs.meta rename to Assets/Scripts/Car/Part/CarPart.cs.meta diff --git a/Assets/Scripts/Car/PartData/CarPartMountZone.cs b/Assets/Scripts/Car/Part/CarPartMountZone.cs similarity index 100% rename from Assets/Scripts/Car/PartData/CarPartMountZone.cs rename to Assets/Scripts/Car/Part/CarPartMountZone.cs diff --git a/Assets/Scripts/Car/PartData/CarPartMountZone.cs.meta b/Assets/Scripts/Car/Part/CarPartMountZone.cs.meta similarity index 100% rename from Assets/Scripts/Car/PartData/CarPartMountZone.cs.meta rename to Assets/Scripts/Car/Part/CarPartMountZone.cs.meta diff --git a/Assets/Scripts/Car/Part/Data.meta b/Assets/Scripts/Car/Part/Data.meta new file mode 100644 index 0000000..2e17ee0 --- /dev/null +++ b/Assets/Scripts/Car/Part/Data.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d1396ff771764dc2bcb7e90faac08815 +timeCreated: 1791809673 \ No newline at end of file diff --git a/Assets/Scripts/Car/PartData/CartPartData.cs b/Assets/Scripts/Car/Part/Data/CartPartData.cs similarity index 100% rename from Assets/Scripts/Car/PartData/CartPartData.cs rename to Assets/Scripts/Car/Part/Data/CartPartData.cs diff --git a/Assets/Scripts/Car/PartData/CartPartData.cs.meta b/Assets/Scripts/Car/Part/Data/CartPartData.cs.meta similarity index 100% rename from Assets/Scripts/Car/PartData/CartPartData.cs.meta rename to Assets/Scripts/Car/Part/Data/CartPartData.cs.meta diff --git a/Assets/Scripts/Car/Physics/AdvancedCarController.cs b/Assets/Scripts/Car/Physics/AdvancedCarController.cs new file mode 100644 index 0000000..bc42f77 --- /dev/null +++ b/Assets/Scripts/Car/Physics/AdvancedCarController.cs @@ -0,0 +1,170 @@ +using UnityEngine; + +[RequireComponent(typeof(Rigidbody))] +public class AdvancedCarController : MonoBehaviour +{ + public float SpeedKmH => rb.linearVelocity.magnitude * 3.6f; + + [Header("Данные авто")] + [SerializeField] private CarPhysicsData data; + + [Header("Колеса (WheelColliders)")] + [SerializeField] private WheelCollider[] frontWheels; + [SerializeField] private WheelCollider[] rearWheels; + + [Header("Состояние деталей (Для диплома)")] + [Range(0.1f, 1f)] public float engineCondition = 1f; // 1 - новое, 0.1 - убитое (не тянет) + [Range(0.1f, 1f)] public float tiresCondition = 1f; // Влияет на держак резины + + // Состояние авто + public float CurrentSpeedKmH => rb.linearVelocity.magnitude * 3.6f; + public float EngineRPM { get; private set; } + public int CurrentGear { get; private set; } + + private Rigidbody rb; + private float currentSteerAngle; + private WheelFrictionCurve originalRearSidewaysFriction; + + // Ввод + private float moveInput, steerInput; + private bool isBraking, isHandbrake; + + private void Awake() + { + rb = GetComponent(); + rb.centerOfMass = data.centerOfMassOffset; // Понижаем центр масс для стабильности + + // Запоминаем оригинальное трение для ручника + if (rearWheels.Length > 0) + originalRearSidewaysFriction = rearWheels[0].sidewaysFriction; + } + + private void Update() + { + // Чтение инпута (можно заменить на новый Input System) + moveInput = Input.GetAxis("Vertical"); + steerInput = Input.GetAxis("Horizontal"); + isBraking = Input.GetKey(KeyCode.Space) || (moveInput < 0 && CurrentSpeedKmH > 5f); + isHandbrake = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.Space); + } + + private void FixedUpdate() + { + ApplySteering(); + ProcessEngineAndGears(); + ApplyAntiRollBar(); + ProcessHandbrake(); + } + + public void ProcessInput(float vertical, float horizontal, bool handbrake) + { + moveInput = vertical; + steerInput = horizontal; + isHandbrake = handbrake; + } + + private void ApplySteering() + { + // 1. Угол зависит от скорости (на 100 км/ч руль не вывернется на 35 градусов) + float speedMultiplier = data.steerAngleBySpeed.Evaluate(CurrentSpeedKmH); + float targetSteer = steerInput * data.maxSteerAngle * speedMultiplier; + + // 2. Сглаживание поворота (руль не дергается мгновенно) + currentSteerAngle = Mathf.Lerp(currentSteerAngle, targetSteer, Time.fixedDeltaTime * data.steerSmoothing); + + foreach (var wheel in frontWheels) + { + wheel.steerAngle = currentSteerAngle; + } + } + + private void ProcessEngineAndGears() + { + // Считаем средние обороты ведущих колес (допустим, задний привод) + float wheelRPM = 0; + foreach (var w in rearWheels) wheelRPM += Mathf.Abs(w.rpm); + wheelRPM /= rearWheels.Length; + + // Вычисляем обороты двигателя через передаточные числа + float gearRatio = data.gearRatios[CurrentGear]; + EngineRPM = Mathf.Clamp(wheelRPM * gearRatio * data.finalDrive, data.minRPM, data.maxRPM); + + // Автоматическая коробка передач + if (EngineRPM > data.shiftUpRPM && CurrentGear < data.gearRatios.Length - 1) + CurrentGear++; + else if (EngineRPM < data.shiftDownRPM && CurrentGear > 0) + CurrentGear--; + + // Получаем крутящий момент по графику и умножаем на состояние двигателя! + float motorTorque = data.torqueCurve.Evaluate(EngineRPM) * gearRatio * data.finalDrive; + float finalTorque = moveInput * motorTorque * engineCondition; + + // Применяем газ или тормоз + foreach (var wheel in rearWheels) + { + if (isBraking) + { + wheel.motorTorque = 0; + wheel.brakeTorque = data.brakeForce; + } + else + { + wheel.motorTorque = finalTorque / rearWheels.Length; + wheel.brakeTorque = 0; + } + } + } + + private void ProcessHandbrake() + { + foreach (var wheel in rearWheels) + { + if (isHandbrake) + { + wheel.brakeTorque = data.brakeForce; + + // ДРИФТ: Уменьшаем боковое сцепление, умножая на износ шин + WheelFrictionCurve fc = wheel.sidewaysFriction; + fc.stiffness = originalRearSidewaysFriction.stiffness * data.handbrakeFrictionMultiplier * tiresCondition; + wheel.sidewaysFriction = fc; + } + else if (!isBraking) + { + wheel.brakeTorque = 0; + + // Возвращаем обычное сцепление с поправкой на убитость шин + WheelFrictionCurve fc = wheel.sidewaysFriction; + fc.stiffness = originalRearSidewaysFriction.stiffness * tiresCondition; + wheel.sidewaysFriction = fc; + } + } + } + + private void ApplyAntiRollBar() + { + // Стабилизатор поперечной устойчивости для передней и задней оси + ApplyAxleAntiRoll(frontWheels[0], frontWheels[1]); + ApplyAxleAntiRoll(rearWheels[0], rearWheels[1]); + } + + private void ApplyAxleAntiRoll(WheelCollider left, WheelCollider right) + { + float travelL = 1.0f; + float travelR = 1.0f; + + bool groundedL = left.GetGroundHit(out WheelHit hitL); + if (groundedL) travelL = (-left.transform.InverseTransformPoint(hitL.point).y - left.radius) / left.suspensionDistance; + + bool groundedR = right.GetGroundHit(out WheelHit hitR); + if (groundedR) travelR = (-right.transform.InverseTransformPoint(hitR.point).y - right.radius) / right.suspensionDistance; + + // Разница сжатия подвески + float antiRollVal = (travelL - travelR) * data.antiRollForce; + + // Применяем противодействующую силу (прижимаем поднявшееся колесо) + if (groundedL) rb.AddForceAtPosition(left.transform.up * -antiRollVal, left.transform.position); + if (groundedR) rb.AddForceAtPosition(right.transform.up * antiRollVal, right.transform.position); + } + + +} \ No newline at end of file diff --git a/Assets/Scripts/Car/Physics/AdvancedCarController.cs.meta b/Assets/Scripts/Car/Physics/AdvancedCarController.cs.meta new file mode 100644 index 0000000..cc55381 --- /dev/null +++ b/Assets/Scripts/Car/Physics/AdvancedCarController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c02b03f912164de9ae5c7659d886fae9 +timeCreated: 1791809782 \ No newline at end of file diff --git a/Assets/Scripts/Car/Physics/Data.meta b/Assets/Scripts/Car/Physics/Data.meta new file mode 100644 index 0000000..1ae5ffd --- /dev/null +++ b/Assets/Scripts/Car/Physics/Data.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 50a1732ad7494d0ab29474ca2bc918c1 +timeCreated: 1791809613 \ No newline at end of file diff --git a/Assets/Scripts/Car/Physics/Data/CarPhysicsData.cs b/Assets/Scripts/Car/Physics/Data/CarPhysicsData.cs new file mode 100644 index 0000000..e5245df --- /dev/null +++ b/Assets/Scripts/Car/Physics/Data/CarPhysicsData.cs @@ -0,0 +1,28 @@ +using UnityEngine; + +[CreateAssetMenu(fileName = "NewCarPhysics", menuName = "Car System/Physics Data")] +public class CarPhysicsData : ScriptableObject +{ + [Header("Двигатель и КПП")] + public AnimationCurve torqueCurve; // Кривая: X - обороты (RPM), Y - крутящий момент (Nm) + public float maxRPM = 7000f; + public float minRPM = 800f; + public float shiftUpRPM = 6000f; + public float shiftDownRPM = 2500f; + public float[] gearRatios = { 3.1f, 2.2f, 1.6f, 1.2f, 0.9f, 0.7f }; + public float finalDrive = 3.4f; + + [Header("Рулевое управление")] + public float maxSteerAngle = 35f; + public float steerSmoothing = 10f; // Скорость поворота руля + [Tooltip("Как сильно режется угол поворота на высокой скорости")] + public AnimationCurve steerAngleBySpeed; // X - скорость (км/ч), Y - множитель угла (0..1) + + [Header("Подвеска и физика")] + public Vector3 centerOfMassOffset = new Vector3(0, -0.2f, 0); // Пониженный центр масс + public float antiRollForce = 5000f; // Стабилизатор поперечной устойчивости + public float brakeForce = 3000f; + + [Header("Дрифт (Ручник)")] + public float handbrakeFrictionMultiplier = 0.3f; // Насколько скользкой становится задняя ось +} \ No newline at end of file diff --git a/Assets/Scripts/Car/Physics/Data/CarPhysicsData.cs.meta b/Assets/Scripts/Car/Physics/Data/CarPhysicsData.cs.meta new file mode 100644 index 0000000..1df8152 --- /dev/null +++ b/Assets/Scripts/Car/Physics/Data/CarPhysicsData.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 396086e692304e97aab2b9b09066d2b5 +timeCreated: 1791809619 \ No newline at end of file diff --git a/Assets/Scripts/Car/Physics/WheelVisuals.cs b/Assets/Scripts/Car/Physics/WheelVisuals.cs new file mode 100644 index 0000000..4d6be89 --- /dev/null +++ b/Assets/Scripts/Car/Physics/WheelVisuals.cs @@ -0,0 +1,29 @@ +using UnityEngine; + +public class WheelVisuals : MonoBehaviour +{ + [System.Serializable] + public struct WheelPair + { + public WheelCollider collider; + public Transform mesh; + } + + [Header("Привязка колес")] + public WheelPair[] wheels; + + private void Update() + { + foreach (var w in wheels) + { + if (w.collider == null || w.mesh == null) continue; + + // Получаем физическую позицию колеса + w.collider.GetWorldPose(out Vector3 pos, out Quaternion rot); + + // Применяем к 3D-модели + w.mesh.position = pos; + w.mesh.rotation = rot; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Car/Physics/WheelVisuals.cs.meta b/Assets/Scripts/Car/Physics/WheelVisuals.cs.meta new file mode 100644 index 0000000..0bb0c67 --- /dev/null +++ b/Assets/Scripts/Car/Physics/WheelVisuals.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ce1b65bf09494194a68749d417b0e17a +timeCreated: 1791809850 \ No newline at end of file diff --git a/Assets/Scripts/Player/Interactor/PlayerInteractor.cs b/Assets/Scripts/Player/Interactor/PlayerInteractor.cs index 5f9562b..a2e304f 100644 --- a/Assets/Scripts/Player/Interactor/PlayerInteractor.cs +++ b/Assets/Scripts/Player/Interactor/PlayerInteractor.cs @@ -2,45 +2,80 @@ using UnityEngine; public class PlayerInteractor : MonoBehaviour { + [Header("Настройки луча")] [SerializeField] private float interactRange = 3f; - [SerializeField] private LayerMask interactableLayer; // Создайте слой "Interactable" в Unity - [SerializeField] private KeyCode primaryKey = KeyCode.E; - [SerializeField] private KeyCode secondaryKey = KeyCode.R; - - [Header("References")] + [SerializeField] private LayerMask interactableLayer; + + [Header("Клавиши управления")] + [SerializeField] private KeyCode primaryKey = KeyCode.E; // Работа с деталью (открыть/взять) + [SerializeField] private KeyCode secondaryKey = KeyCode.R; // Снять деталь + [SerializeField] private KeyCode enterVehicleKey = KeyCode.F; // Сесть в машину + + [Header("Ссылки")] [SerializeField] private UIManager uiManager; + private void OnDisable() + { + if (uiManager != null) uiManager.HidePrompt(); + } + private void Update() { - // Пускаем луч из центра экрана Ray ray = new Ray(transform.position, transform.forward); if (Physics.Raycast(ray, out RaycastHit hit, interactRange, interactableLayer, QueryTriggerInteraction.Collide)) { + // Ищем интерактивную деталь (дверь, капот, крыло) IInteractable interactable = hit.collider.GetComponentInParent(); - if (interactable != null) + // Ищем скрипт автомобиля в родительских объектах + VehicleInteraction vehicle = hit.collider.GetComponentInParent(); + + if (interactable != null || vehicle != null) { - if (!string.IsNullOrEmpty(interactable.GetPrompt()) && uiManager!=null) + // Формируем комбинированную подсказку + string prompt = ""; + + if (vehicle != null && !vehicle.isPlayerInside) { - uiManager.ShowPrompt(interactable.GetPrompt()); + prompt += "[F] Сесть в авто "; } - else if (uiManager != null) + + if (interactable != null) { - uiManager.HidePrompt(); + string partPrompt = interactable.GetPrompt(); + if (!string.IsNullOrEmpty(partPrompt)) + { + prompt += partPrompt; + } } - - - if (Input.GetKeyDown(primaryKey)) + + if (!string.IsNullOrEmpty(prompt) && uiManager != null) + { + uiManager.ShowPrompt(prompt); + } + + // 1. Посадка в авто на F + if (Input.GetKeyDown(enterVehicleKey) && vehicle != null) + { + vehicle.Interact(transform.root.gameObject); + if (uiManager != null) uiManager.HidePrompt(); + return; + } + + // 2. Основное действие с деталью на E (Открыть/Закрыть) + if (Input.GetKeyDown(primaryKey) && interactable != null) { interactable.Interact(transform.root.gameObject); } + + // 3. Вторичное действие с деталью на R (Снять в руки) if (Input.GetKeyDown(secondaryKey)) { ISecondaryInteractable secondary = hit.collider.GetComponentInParent(); secondary?.SecondaryInteract(transform.root.gameObject); } - + return; } } @@ -50,12 +85,4 @@ public class PlayerInteractor : MonoBehaviour uiManager.HidePrompt(); } } - - private void OnDisable() - { - if (uiManager != null) - { - uiManager.HidePrompt(); - } - } } \ No newline at end of file