diff --git a/Assets/RoomAssets/Laboratory/Textures/Floor.mat b/Assets/RoomAssets/Laboratory/Textures/Floor.mat index 49777cb..28ce135 100644 --- a/Assets/RoomAssets/Laboratory/Textures/Floor.mat +++ b/Assets/RoomAssets/Laboratory/Textures/Floor.mat @@ -24,7 +24,8 @@ Material: m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] + m_ValidKeywords: + - _PARALLAXMAP m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 @@ -40,7 +41,7 @@ Material: m_TexEnvs: - _BaseMap: m_Texture: {fileID: 2800000, guid: fe7751865d12f4b6cb410707f10a3311, type: 3} - m_Scale: {x: 1, y: 1} + m_Scale: {x: 2, y: 2} m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} @@ -64,7 +65,7 @@ Material: m_Offset: {x: 0, y: 0} - _MainTex: m_Texture: {fileID: 2800000, guid: fe7751865d12f4b6cb410707f10a3311, type: 3} - m_Scale: {x: 1, y: 1} + m_Scale: {x: 2, y: 2} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: m_Texture: {fileID: 0} @@ -75,7 +76,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _ParallaxMap: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: 2d9c6a23d211b5ff480a1c3ee1d3af57, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _SpecGlossMap: @@ -116,7 +117,7 @@ Material: - _GlossyReflections: 0 - _Metallic: 0 - _OcclusionStrength: 1 - - _Parallax: 0.005 + - _Parallax: 0.08 - _QueueOffset: 0 - _ReceiveShadows: 1 - _ScreenSpaceReflections: 1 diff --git a/Assets/RoomAssets/RoomThemes/Laboratory 1.asset b/Assets/RoomAssets/RoomThemes/Laboratory 1.asset new file mode 100644 index 0000000..b9c6bb2 --- /dev/null +++ b/Assets/RoomAssets/RoomThemes/Laboratory 1.asset @@ -0,0 +1,24 @@ +%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: db0cd7361afa447e84273406c58818df, type: 3} + m_Name: Laboratory 1 + m_EditorClassIdentifier: Assembly-CSharp::_Project.Scripts.LevelGenerating.RoomTheme + floorMaterial: {fileID: 2100000, guid: e4d8990be0d4681c2a931521991dd97e, type: 2} + wallMaterial: {fileID: -2963162529242000753, guid: 5ffefc05c8840a644a89d935b25c2f3d, type: 3} + ceilingMaterial: {fileID: 5398659014882694498, guid: 5ffefc05c8840a644a89d935b25c2f3d, type: 3} + createLights: 0 + lightColor: {r: 1, g: 1, b: 1, a: 1} + lightIntensity: 1.5 + lightRange: 8 + lightSpacing: 6 + lightDrop: 0.3 + lightShadows: 0 diff --git a/Assets/RoomAssets/RoomThemes/Laboratory 1.asset.meta b/Assets/RoomAssets/RoomThemes/Laboratory 1.asset.meta new file mode 100644 index 0000000..3a69381 --- /dev/null +++ b/Assets/RoomAssets/RoomThemes/Laboratory 1.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4ced885841efb23e18cbc01c8dc2da8e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index eae3fc1..f97629d 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -13823,6 +13823,7 @@ GameObject: - component: {fileID: 740097204} - component: {fileID: 740097206} - component: {fileID: 740097207} + - component: {fileID: 740097208} m_Layer: 0 m_Name: WallsGenerator m_TagString: Untagged @@ -13856,8 +13857,9 @@ MonoBehaviour: _minDistanceStartLift: 50 GameObjectA: {fileID: 8066171868259172852, guid: e46748b8eb8a6074d9bb87701cebe84b, type: 3} GameObjectB: {fileID: 4641718306729093824, guid: 3905eab8a5f6b3049a83378b1acf1ebc, type: 3} + Player: {fileID: 1033791869251556189} shellSpawner: {fileID: 740097207} - roomGenerators: {fileID: 0} + roomGenerators: {fileID: 740097208} maxRooms: 15 branchChance: 0.7 roomMargin: 2 @@ -13905,6 +13907,22 @@ MonoBehaviour: planeBaseSize: 10 wallHeight: 10 colliderThickness: 0.2 +--- !u!114 &740097208 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 740097203} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ce465b42a730432fa72090cca5a21514, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::_Project.Scripts.LevelGenerating.RoomGeneratorRegistry + defaultTheme: {fileID: 0} + themes: + - type: 4 + theme: {fileID: 11400000, guid: 7edd14cceb4cead988d98ebb08ab60f6, type: 2} --- !u!1001 &740364276 PrefabInstance: m_ObjectHideFlags: 0 @@ -42049,63 +42067,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 1672666446545052606, guid: 51510de34f82041149d25090ec962e10, type: 3} m_PrefabInstance: {fileID: 1976378229} m_PrefabAsset: {fileID: 0} ---- !u!1001 &2963155052512803733 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2351983011819804703, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} - propertyPath: m_Name - value: Wall_plane - objectReference: {fileID: 0} - - target: {fileID: 9198856115946365673, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} - propertyPath: m_LocalPosition.x - value: 3.6887558 - objectReference: {fileID: 0} - - target: {fileID: 9198856115946365673, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} - propertyPath: m_LocalPosition.y - value: -0.0000001526085 - objectReference: {fileID: 0} - - target: {fileID: 9198856115946365673, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} - propertyPath: m_LocalPosition.z - value: -1.0606401 - objectReference: {fileID: 0} - - target: {fileID: 9198856115946365673, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 9198856115946365673, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9198856115946365673, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9198856115946365673, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9198856115946365673, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9198856115946365673, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9198856115946365673, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d384f0cf68653df499e2ce184bd2459e, type: 3} --- !u!4 &2968039846363327014 stripped Transform: m_CorrespondingSourceObject: {fileID: 7060358851928517638, guid: dc48d9e02acd04cb786357a49b2aa38d, type: 3} @@ -44817,4 +44778,3 @@ SceneRoots: - {fileID: 217181662} - {fileID: 740097205} - {fileID: 552049569} - - {fileID: 2963155052512803733} diff --git a/Assets/_Project/Scripts/LevelGenerating/RoomGenerationRegistry.cs b/Assets/_Project/Scripts/LevelGenerating/RoomGenerationRegistry.cs index 0be6403..09a6855 100644 --- a/Assets/_Project/Scripts/LevelGenerating/RoomGenerationRegistry.cs +++ b/Assets/_Project/Scripts/LevelGenerating/RoomGenerationRegistry.cs @@ -5,13 +5,6 @@ using UnityEngine; namespace _Project.Scripts.LevelGenerating { - [Serializable] - public class ThemeEntry - { - public RoomType type; - public RoomTheme theme; - } - // ===================================================================== // Для каждой комнаты выбирает тему (по роли комнаты) и генератор, затем запускает его. // diff --git a/Assets/_Project/Scripts/LevelGenerating/ShellSpawner.cs b/Assets/_Project/Scripts/LevelGenerating/ShellSpawner.cs index 6a7af32..20d4382 100644 --- a/Assets/_Project/Scripts/LevelGenerating/ShellSpawner.cs +++ b/Assets/_Project/Scripts/LevelGenerating/ShellSpawner.cs @@ -64,7 +64,9 @@ namespace _Project.Scripts.LevelGenerating // пол: нормаль вверх var floorGo = Make(roomGo.transform, "Floor", new Vector3(c.x, 0f, c.z), Quaternion.identity, scale, true); + floorGo.layer = LayerMask.NameToLayer("Ground"); view.FloorRenderers.AddRange(floorGo.GetComponentsInChildren()); + // потолок: перевёрнут, нормаль вниз var ceilingGo = Make(roomGo.transform, "Ceiling", new Vector3(c.x, wallHeight, c.z), diff --git a/Assets/_Project/Scripts/LevelGenerating/ThemeEntry.cs b/Assets/_Project/Scripts/LevelGenerating/ThemeEntry.cs new file mode 100644 index 0000000..a284a2c --- /dev/null +++ b/Assets/_Project/Scripts/LevelGenerating/ThemeEntry.cs @@ -0,0 +1,11 @@ +using System; + +namespace _Project.Scripts.LevelGenerating +{ + [Serializable] + public class ThemeEntry + { + public RoomType type; + public RoomTheme theme; + } +} \ No newline at end of file diff --git a/Assets/_Project/Scripts/LevelGenerating/ThemeEntry.cs.meta b/Assets/_Project/Scripts/LevelGenerating/ThemeEntry.cs.meta new file mode 100644 index 0000000..f897c36 --- /dev/null +++ b/Assets/_Project/Scripts/LevelGenerating/ThemeEntry.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 45f74fba298244fbaa55961a1a2fcd3d +timeCreated: 1791823708 \ No newline at end of file diff --git a/Assets/_Project/Scripts/LevelGenerating/WallsGenerator.cs b/Assets/_Project/Scripts/LevelGenerating/WallsGenerator.cs index e064cdf..6477e64 100644 --- a/Assets/_Project/Scripts/LevelGenerating/WallsGenerator.cs +++ b/Assets/_Project/Scripts/LevelGenerating/WallsGenerator.cs @@ -31,6 +31,7 @@ namespace _Project.Scripts.LevelGenerating [SerializeField] private float _minDistanceStartLift; // метры [SerializeField] private GameObject GameObjectA; [SerializeField] private GameObject GameObjectB; + [SerializeField] private GameObject Player; [SerializeField] private ShellSpawner shellSpawner; // если назначен, строит пол, стены и потолок [SerializeField] private RoomGeneratorRegistry roomGenerators; // оформляет комнаты по темам (материалы, свет) @@ -63,9 +64,11 @@ namespace _Project.Scripts.LevelGenerating private static readonly RoomType[] FullRoles = { RoomType.Storage, RoomType.SwitchboardRoom, RoomType.BoilerRoom }; void Start() - { + { ReadSettings(); - Generate(0); // позже этим будет управлять оркестратор + var data = Generate(0); // позже этим будет управлять оркестратор + var pos = data.Start.Center; + Player.transform.position = new Vector3(pos.x/2f, 10, pos.y/2f); } void ReadSettings()