From 6f4c1454cb8aaa041f7906694687516287f40c85 Mon Sep 17 00:00:00 2001 From: Dizel <106115719+LikhenkoVG@users.noreply.github.com> Date: Wed, 11 Dec 2024 20:57:06 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20=D0=B3?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BA=D0=B0?= =?UTF-8?q?=D1=80=D1=82=D1=8B=20=D0=B8=20=D0=B7=D0=BE=D0=BD=D1=8B=20=D1=82?= =?UTF-8?q?=D1=80=D0=B8=D0=B3=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Закончен скрипт генерации карты по готовым префабам, закончен скрипт тригерной зоны --- .../Test/Prefabs/Floor/Floor (Black).prefab | 15 +- .../Test/Prefabs/Floor/Floor (Green).prefab | 107 ------------ .../Prefabs/Floor/Floor (Green).prefab.meta | 7 - .../Test/Prefabs/Floor/Floor (White).prefab | 107 ------------ .../Prefabs/Floor/Floor (White).prefab.meta | 7 - .../Test/Prefabs/Floor/Floor (Yellow).prefab | 107 ------------ .../Prefabs/Floor/Floor (Yellow).prefab.meta | 7 - .../Scenes/Test/Scripts/SpawnTileScript.cs | 37 ---- .../Scenes/Test/Scripts/TileManagerScript.cs | 163 +++++++++++++----- .../Scenes/Test/Scripts/TriggerZoneScript.cs | 41 +++++ ...ript.cs.meta => TriggerZoneScript.cs.meta} | 2 +- .../Scenes/Test/Test Generate Map.unity | 72 +------- .../Level 0/Very Low_PipelineAsset.asset | 4 +- ProjectSettings/GraphicsSettings.asset | 2 +- ProjectSettings/QualitySettings.asset | 32 +++- ProjectSettings/TagManager.asset | 2 + 16 files changed, 201 insertions(+), 511 deletions(-) delete mode 100644 Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Green).prefab delete mode 100644 Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Green).prefab.meta delete mode 100644 Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (White).prefab delete mode 100644 Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (White).prefab.meta delete mode 100644 Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Yellow).prefab delete mode 100644 Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Yellow).prefab.meta delete mode 100644 Assets/Crossy Road VR/Scenes/Test/Scripts/SpawnTileScript.cs create mode 100644 Assets/Crossy Road VR/Scenes/Test/Scripts/TriggerZoneScript.cs rename Assets/Crossy Road VR/Scenes/Test/Scripts/{SpawnTileScript.cs.meta => TriggerZoneScript.cs.meta} (83%) diff --git a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Black).prefab b/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Black).prefab index c7bfb60..1c88bb6 100644 --- a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Black).prefab +++ b/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Black).prefab @@ -12,10 +12,10 @@ GameObject: - component: {fileID: 7394885590096691697} - component: {fileID: 5911224615680533587} - component: {fileID: 1504977724755762144} - - component: {fileID: 6673592107442122043} + - component: {fileID: 6891874711752822541} m_Layer: 0 m_Name: Spawn Collider - m_TagString: Untagged + m_TagString: Trigger Zone m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -106,7 +106,7 @@ BoxCollider: serializedVersion: 3 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &6673592107442122043 +--- !u!114 &6891874711752822541 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -115,12 +115,13 @@ MonoBehaviour: m_GameObject: {fileID: 6148571252392801090} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ca3942fa12d4a6d4697bcdb9318ea7a7, type: 3} + m_Script: {fileID: 11500000, guid: a0f1e849ecedb97408348ccf9f1e6c2e, type: 3} m_Name: m_EditorClassIdentifier: - _Tiles: - - {fileID: 8202227058476080034} - _CurrentTile: {fileID: 8202227058476080034} + TriggerZoneEvent: + m_PersistentCalls: + m_Calls: [] + _wasTrigged: 0 --- !u!1 &8202227058476080034 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Green).prefab b/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Green).prefab deleted file mode 100644 index 87ae8d4..0000000 --- a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Green).prefab +++ /dev/null @@ -1,107 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &8202227058476080034 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4758555326874066992} - - component: {fileID: 5623858715958442652} - - component: {fileID: 3165099950913968719} - - component: {fileID: 6729134530726316574} - m_Layer: 0 - m_Name: Floor (Green) - m_TagString: Tile - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4758555326874066992 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 20, y: 0.01, z: 20} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &5623858715958442652 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3165099950913968719 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - 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_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 269d1156437a06f419eeb0df86e3f6e0, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!65 &6729134530726316574 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - 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} diff --git a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Green).prefab.meta b/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Green).prefab.meta deleted file mode 100644 index ec85364..0000000 --- a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Green).prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 05ef6f657d9f98f4081a7578483003ac -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (White).prefab b/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (White).prefab deleted file mode 100644 index eaf2505..0000000 --- a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (White).prefab +++ /dev/null @@ -1,107 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &8202227058476080034 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4758555326874066992} - - component: {fileID: 5623858715958442652} - - component: {fileID: 3165099950913968719} - - component: {fileID: 6729134530726316574} - m_Layer: 0 - m_Name: Floor (White) - m_TagString: Tile - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4758555326874066992 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 20, y: 0.01, z: 20} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &5623858715958442652 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3165099950913968719 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - 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_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: dab2c2fbf15f2b44390b21c1b03d6d98, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!65 &6729134530726316574 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - 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} diff --git a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (White).prefab.meta b/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (White).prefab.meta deleted file mode 100644 index 0db923c..0000000 --- a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (White).prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 8c48eaa489629fd4b9fbfd4eac461987 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Yellow).prefab b/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Yellow).prefab deleted file mode 100644 index b65f09f..0000000 --- a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Yellow).prefab +++ /dev/null @@ -1,107 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &8202227058476080034 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4758555326874066992} - - component: {fileID: 5623858715958442652} - - component: {fileID: 3165099950913968719} - - component: {fileID: 6729134530726316574} - m_Layer: 0 - m_Name: Floor (Yellow) - m_TagString: Tile - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4758555326874066992 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 20, y: 0.01, z: 20} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &5623858715958442652 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3165099950913968719 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - 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_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 820c6d2abd6f7cd4dad1abe9303142eb, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!65 &6729134530726316574 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8202227058476080034} - 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} diff --git a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Yellow).prefab.meta b/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Yellow).prefab.meta deleted file mode 100644 index e2cec86..0000000 --- a/Assets/Crossy Road VR/Scenes/Test/Prefabs/Floor/Floor (Yellow).prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 75d15b80cec35864780d16105cf87076 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Crossy Road VR/Scenes/Test/Scripts/SpawnTileScript.cs b/Assets/Crossy Road VR/Scenes/Test/Scripts/SpawnTileScript.cs deleted file mode 100644 index e717a38..0000000 --- a/Assets/Crossy Road VR/Scenes/Test/Scripts/SpawnTileScript.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using UnityEngine; -using UnityEngine.UIElements; - -public class SpawnTileScript : MonoBehaviour -{ - [SerializeField] - private List _Tiles = new List(); - [SerializeField] - private GameObject _CurrentTile; - - private bool _Instantiated = false; - - private void Start() - { - - } - - //private void OnTriggerEnter(Collider other) - //{ - // if (other.gameObject.tag == "Player") - // { - // if (_Instantiated) - // { - // GenerateTile(_Tiles[0]); - // } - // } - //} - - public void GenerateTile(GameObject tile, Vector3 pos, Quaternion rot) - { - //Instantiate(tile, new Vector3(_CurrentTile.transform.position.x, _CurrentTile.transform.position.y, _CurrentTile.transform.position.z+20), _CurrentTile.transform.rotation); - Instantiate(tile, pos, rot); - } -} diff --git a/Assets/Crossy Road VR/Scenes/Test/Scripts/TileManagerScript.cs b/Assets/Crossy Road VR/Scenes/Test/Scripts/TileManagerScript.cs index 3514db1..716cb27 100644 --- a/Assets/Crossy Road VR/Scenes/Test/Scripts/TileManagerScript.cs +++ b/Assets/Crossy Road VR/Scenes/Test/Scripts/TileManagerScript.cs @@ -1,12 +1,10 @@ using System.Collections.Generic; -using System.Linq; -using Unity.VisualScripting; using UnityEngine; /// /// менеджер тайлов /// инициализация, создание новых, удаление, отслеживание кол-ва тайлов -/// +/// public class TileManagerScript : MonoBehaviour { /// @@ -16,89 +14,162 @@ public class TileManagerScript : MonoBehaviour private int _NumTile; /// - /// номер текущего тайла + /// расстояние между центрами двух тайлов, нужно переделать, чтобы бралось само /// - public int CurrentTile; - - // [SerializeField] private float _DistanceTiles; + /// + /// список префабов для случайной генерации + /// [SerializeField] - private List _TilesPref = new List(); + private List _TilePrefs = new List(); /// /// поле массива тайлов /// - private List _Tiles; + [SerializeField] + private List _Tiles = new List(); - // при запуске сцены, создание новых тайлов + /// + /// при запуске сцены, создание новых тайлов + /// private void Awake() { - Debug.Log($"NumTile = {_NumTile}"); - // создание массива - _Tiles = new List(_NumTile); - Debug.Log($"_Tiles = {_Tiles.Count}"); - // запихивание в массив тайлов null, чтобы понимать, что там пусто - for (int i = 0; i < _Tiles.Count; i++) - { - _Tiles[i] = null; - } - Debug.Log($"_Tiles = {_Tiles.Count}"); - float z = (_NumTile/2) * _DistanceTiles; - Debug.Log($"z = {z}"); + // координата самого дальнего тайла + float z = -(_NumTile / 2) * _DistanceTiles; // создание тайлов назад от игрока, где i номер тайла, а z координата transfrom.position.z for (int i = 0; i < _NumTile; i++) { - + // генерация нового тайла, с собственным z GenerateTile(new Vector3(0, 0, z), new Quaternion(0, 0, 0, 0)); - z -= _DistanceTiles; + + // увелечение позиции тайла по transform.position.z + z += _DistanceTiles; } + } + /// + /// генератор тайлов по заданному transform + /// + /// позиция нового тайла + /// поворот нового тайла + /// возвращает созданный тайл + public GameObject GenerateTile(Vector3 pos, Quaternion rot) + { + // создание нового тайла + GameObject newTile = Instantiate(GetRandomObject(_TilePrefs), pos, rot); + + // добавление массива в отслеживание + _Tiles.Add(newTile); + + // подпись нового тайла на эвент + SubTrigEvent(newTile); + + // перемещение нового тайла в менеджер как child + newTile.transform.SetParent(gameObject.transform); + + //Debug.Log($"Was created new tile awake"); + + return newTile; + } /// - /// Генератор тайлов с собственным положением + /// генерация тайла с добавлением его в конец списка /// - /// - /// - /// - public void GenerateTile(Vector3 pos, Quaternion rot) + /// возвращает созданный тайл + public GameObject GenerateTile() { - Instantiate(_TilesPref[0], pos, rot); - } - /// - /// Генератор тайлов за последним - /// - public void GenerateTile() - { - Vector3 pos = _Tiles.Last().transform.position; - Quaternion rot = _Tiles.Last().transform.rotation; + // индекс последнего элемента + int index = _NumTile - 1; + + // позиция и поворот последнего тайла + Vector3 pos = _Tiles[index].transform.position; + Quaternion rot = _Tiles[index].transform.rotation; + + // создание нового position для генерации нового тайла Vector3 newVector = new Vector3(pos.x, pos.y, pos.z + _DistanceTiles); - Instantiate(_TilesPref[0], new Vector3(), rot); + + // создание нового тайла и получение его адреса + GameObject newTile = Instantiate(GetRandomObject(_TilePrefs), newVector, rot); + + // добавление массива в отслеживание + _Tiles.Add(newTile); + + // перемещение нового тайла в менеджер как child + newTile.transform.SetParent(gameObject.transform); + + // подпись нового тайла на эвент тригера зоны + SubTrigEvent(newTile); + + // удаление первого в списке тайла DeleteTile(); + + //Debug.Log($"Was created new tile"); + + return newTile; } /// /// Удалитель тайлов /// - /// public void DeleteTile() { - Destroy(_Tiles[0]); - _Tiles.RemoveAt(0); - //GenerateTile(); + // индекс первого тайла в списке + int index = 0; + + // удаление GameObject первого тайла + Destroy(_Tiles[index]); + + // удаление первого тайла в списке + _Tiles.RemoveAt(index); + + //Debug.Log("Was deleted tile"); } - void Start() + /// + /// Подпись на триггер эвент в тайле + /// + /// передаваемый тайл на подпись + private void SubTrigEvent(GameObject tile) { + // прохождение по всем child в tile + foreach (Transform child in tile.transform) + { + // если тайл является тригерной зоной, то подписаться и закончить + if (child.CompareTag("Trigger Zone")) + { + // в подпись передаётся анонимная функция, так как GenerateTile() возвращает GameObject + child.GetComponent().TriggerZoneEvent.AddListener(() => GenerateTile()); + // выход из цикла + break; + } + } } - // Update is called once per frame - void Update() + public void test() { + GenerateTile(); + } + /// + /// Генератор случайно взятого объекта + /// + /// + /// Список из которого брать + /// + T GetRandomObject(List list) + { + // проверка на пустоту списка + if (list == null || list.Count == 0) + { + return default; + } + // Генерация случайного индекса + int randomIndex = UnityEngine.Random.Range(0, list.Count); + return list[randomIndex]; } } diff --git a/Assets/Crossy Road VR/Scenes/Test/Scripts/TriggerZoneScript.cs b/Assets/Crossy Road VR/Scenes/Test/Scripts/TriggerZoneScript.cs new file mode 100644 index 0000000..c072836 --- /dev/null +++ b/Assets/Crossy Road VR/Scenes/Test/Scripts/TriggerZoneScript.cs @@ -0,0 +1,41 @@ +using UnityEngine; +using UnityEngine.Events; + +/// +/// Обрабатывает триггерную зону тайла и вызывает эвент +/// +public class TriggerZoneScript : MonoBehaviour +{ + /// + /// Эвент, который собирает подписи, необходимо присвоить ему новый UnityEvent + /// + public UnityEvent TriggerZoneEvent = new UnityEvent(); + + /// + /// флаг реакции тригера + /// + [SerializeField] + private bool _wasTrigged = false; + + /// + /// Реакция тригерной зоны на вхождение игрока + /// + /// объект тригера + private void OnTriggerEnter(Collider other) + { + // если тег игрока и первая реакция + if (other.gameObject.CompareTag("Player") && !_wasTrigged) + { + + // Debug.Log("Was trigged"); + + // изменение, что тригер сработал + _wasTrigged = !_wasTrigged; + + // вызов всех подписей + TriggerZoneEvent.Invoke(); + } + } + +} + diff --git a/Assets/Crossy Road VR/Scenes/Test/Scripts/SpawnTileScript.cs.meta b/Assets/Crossy Road VR/Scenes/Test/Scripts/TriggerZoneScript.cs.meta similarity index 83% rename from Assets/Crossy Road VR/Scenes/Test/Scripts/SpawnTileScript.cs.meta rename to Assets/Crossy Road VR/Scenes/Test/Scripts/TriggerZoneScript.cs.meta index d314410..9dbb055 100644 --- a/Assets/Crossy Road VR/Scenes/Test/Scripts/SpawnTileScript.cs.meta +++ b/Assets/Crossy Road VR/Scenes/Test/Scripts/TriggerZoneScript.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ca3942fa12d4a6d4697bcdb9318ea7a7 +guid: a0f1e849ecedb97408348ccf9f1e6c2e MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Crossy Road VR/Scenes/Test/Test Generate Map.unity b/Assets/Crossy Road VR/Scenes/Test/Test Generate Map.unity index bb1b791..67a4151 100644 --- a/Assets/Crossy Road VR/Scenes/Test/Test Generate Map.unity +++ b/Assets/Crossy Road VR/Scenes/Test/Test Generate Map.unity @@ -222,7 +222,7 @@ Transform: m_GameObject: {fileID: 678815814} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.75, y: 0.49500084, z: -15} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -373,67 +373,6 @@ MonoBehaviour: m_LightCookieSize: {x: 1, y: 1} m_LightCookieOffset: {x: 0, y: 0} m_SoftShadowQuality: 0 ---- !u!1001 &842499528 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4758555326874066992, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_LocalPosition.x - value: -0.545702 - objectReference: {fileID: 0} - - target: {fileID: 4758555326874066992, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4758555326874066992, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_LocalPosition.z - value: 0.79941034 - objectReference: {fileID: 0} - - target: {fileID: 4758555326874066992, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4758555326874066992, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4758555326874066992, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4758555326874066992, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4758555326874066992, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4758555326874066992, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4758555326874066992, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8202227058476080034, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_Name - value: Floor (Black) - objectReference: {fileID: 0} - - target: {fileID: 8202227058476080034, guid: d113347864294f441883149abd377a24, type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d113347864294f441883149abd377a24, type: 3} --- !u!1 &961775090 GameObject: m_ObjectHideFlags: 0 @@ -552,7 +491,7 @@ GameObject: - component: {fileID: 1034189938} m_Layer: 0 m_Name: Tile Manager - m_TagString: Untagged + m_TagString: Tile Manager m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -569,11 +508,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 673f57172fdd6084f8c03e4433c6967c, type: 3} m_Name: m_EditorClassIdentifier: - _NumTile: 6 - CurrentTile: 0 + _NumTile: 30 _DistanceTiles: 20 - _TilesPref: + _TilePrefs: - {fileID: 8202227058476080034, guid: d113347864294f441883149abd377a24, type: 3} + _Tiles: [] --- !u!4 &1034189939 Transform: m_ObjectHideFlags: 0 @@ -733,6 +672,5 @@ SceneRoots: - {fileID: 1544359499} - {fileID: 691500690} - {fileID: 678815818} - - {fileID: 842499528} - {fileID: 961775094} - {fileID: 1034189939} diff --git a/Assets/URP/Settings/Level 0/Very Low_PipelineAsset.asset b/Assets/URP/Settings/Level 0/Very Low_PipelineAsset.asset index 5348b5f..3645f7c 100644 --- a/Assets/URP/Settings/Level 0/Very Low_PipelineAsset.asset +++ b/Assets/URP/Settings/Level 0/Very Low_PipelineAsset.asset @@ -25,7 +25,7 @@ MonoBehaviour: m_SupportsTerrainHoles: 1 m_SupportsHDR: 1 m_HDRColorBufferPrecision: 0 - m_MSAA: 1 + m_MSAA: 4 m_RenderScale: 1 m_UpscalingFilter: 0 m_FsrOverrideSharpness: 0 @@ -36,7 +36,7 @@ MonoBehaviour: m_MainLightRenderingMode: 0 m_MainLightShadowsSupported: 0 m_MainLightShadowmapResolution: 1024 - m_AdditionalLightsRenderingMode: 2 + m_AdditionalLightsRenderingMode: 1 m_AdditionalLightsPerObjectLimit: 4 m_AdditionalLightShadowsSupported: 0 m_AdditionalLightsShadowmapResolution: 1024 diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset index cedab27..d6b18e0 100644 --- a/ProjectSettings/GraphicsSettings.asset +++ b/ProjectSettings/GraphicsSettings.asset @@ -36,7 +36,7 @@ GraphicsSettings: m_PreloadedShaders: [] m_PreloadShadersBatchTimeLimit: -1 m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - m_CustomRenderPipeline: {fileID: 11400000, guid: 57201e7d7dfda4148bbd1249c9778e96, type: 2} + m_CustomRenderPipeline: {fileID: 11400000, guid: 87d88add63faee0449b1693dddb4f467, type: 2} m_TransparencySortMode: 0 m_TransparencySortAxis: {x: 0, y: 0, z: 1} m_DefaultRenderingPath: 1 diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset index 3313ce6..6a00a40 100644 --- a/ProjectSettings/QualitySettings.asset +++ b/ProjectSettings/QualitySettings.asset @@ -4,7 +4,7 @@ QualitySettings: m_ObjectHideFlags: 0 serializedVersion: 5 - m_CurrentQuality: 5 + m_CurrentQuality: 0 m_QualitySettings: - serializedVersion: 3 name: Very Low @@ -17,12 +17,12 @@ QualitySettings: shadowNearPlaneOffset: 3 shadowCascade2Split: 0.33333334 shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 0 + shadowmaskMode: 1 skinWeights: 1 globalTextureMipmapLimit: 1 textureMipmapLimitSettings: [] anisotropicTextures: 0 - antiAliasing: 0 + antiAliasing: 4 softParticles: 0 softVegetation: 0 realtimeReflectionProbes: 0 @@ -103,7 +103,10 @@ QualitySettings: terrainBillboardStart: 50 terrainFadeLength: 5 terrainMaxTrees: 50 - excludedTargetPlatforms: [] + excludedTargetPlatforms: + - Server + - Standalone + - Android - serializedVersion: 3 name: Medium pixelLightCount: 1 @@ -152,7 +155,10 @@ QualitySettings: terrainBillboardStart: 50 terrainFadeLength: 5 terrainMaxTrees: 50 - excludedTargetPlatforms: [] + excludedTargetPlatforms: + - Android + - Server + - Standalone - serializedVersion: 3 name: High pixelLightCount: 2 @@ -201,7 +207,10 @@ QualitySettings: terrainBillboardStart: 50 terrainFadeLength: 5 terrainMaxTrees: 50 - excludedTargetPlatforms: [] + excludedTargetPlatforms: + - Android + - Server + - Standalone - serializedVersion: 3 name: Very High pixelLightCount: 3 @@ -250,7 +259,10 @@ QualitySettings: terrainBillboardStart: 50 terrainFadeLength: 5 terrainMaxTrees: 50 - excludedTargetPlatforms: [] + excludedTargetPlatforms: + - Android + - Server + - Standalone - serializedVersion: 3 name: Ultra pixelLightCount: 4 @@ -299,7 +311,10 @@ QualitySettings: terrainBillboardStart: 50 terrainFadeLength: 5 terrainMaxTrees: 50 - excludedTargetPlatforms: [] + excludedTargetPlatforms: + - Android + - Server + - Standalone m_TextureMipmapLimitGroupNames: [] m_PerPlatformDefaultQuality: Android: 2 @@ -310,6 +325,7 @@ QualitySettings: Nintendo Switch: 5 PS4: 5 PS5: 5 + Server: 0 Stadia: 5 Standalone: 5 WebGL: 3 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index ceeccd8..a904e11 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -5,6 +5,8 @@ TagManager: serializedVersion: 2 tags: - Tile + - Trigger Zone + - Tile Manager layers: - Default - TransparentFX