игрок спанится в стартовой комнате, полу назначается уровень, тема комнате назначается

This commit is contained in:
vladislove 2026-10-12 20:20:05 +03:00
parent bf675c75e2
commit d05e6d8cf3
9 changed files with 78 additions and 73 deletions

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4ced885841efb23e18cbc01c8dc2da8e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -5,13 +5,6 @@ using UnityEngine;
namespace _Project.Scripts.LevelGenerating
{
[Serializable]
public class ThemeEntry
{
public RoomType type;
public RoomTheme theme;
}
// =====================================================================
// Для каждой комнаты выбирает тему (по роли комнаты) и генератор, затем запускает его.
//

View File

@ -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<Renderer>());
// потолок: перевёрнут, нормаль вниз
var ceilingGo = Make(roomGo.transform, "Ceiling", new Vector3(c.x, wallHeight, c.z),

View File

@ -0,0 +1,11 @@
using System;
namespace _Project.Scripts.LevelGenerating
{
[Serializable]
public class ThemeEntry
{
public RoomType type;
public RoomTheme theme;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 45f74fba298244fbaa55961a1a2fcd3d
timeCreated: 1791823708

View File

@ -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()