test mesh
This commit is contained in:
@@ -16,6 +16,10 @@ public class WorldManager : MonoBehaviour
|
||||
[Tooltip("Можно оставить пустым — создаётся из кода")]
|
||||
public GameObject chunkPrefab;
|
||||
|
||||
[Header("Chunk Layer")]
|
||||
[Tooltip("Слой для всех чанков — должен совпадать с blockLayer в BlockPlacer")]
|
||||
public LayerMask chunkLayer;
|
||||
|
||||
// chunkPos (в чанковых координатах) → Chunk
|
||||
private readonly Dictionary<Vector3Int, Chunk> _chunks = new();
|
||||
|
||||
@@ -97,8 +101,11 @@ public class WorldManager : MonoBehaviour
|
||||
|
||||
go.transform.position = ChunkData.ChunkToWorld(chunkPos);
|
||||
|
||||
if (chunkLayer.value != 0)
|
||||
go.layer = Mathf.RoundToInt(Mathf.Log(chunkLayer.value, 2));
|
||||
|
||||
var chunk = go.GetComponent<Chunk>() ?? go.AddComponent<Chunk>();
|
||||
chunk.Initialise(data, registry.ChunkMaterial);
|
||||
chunk.Initialise(data, registry.ChunkMaterial, buildMesh: false);
|
||||
|
||||
_chunks[chunkPos] = chunk;
|
||||
return chunk;
|
||||
@@ -129,6 +136,16 @@ public class WorldManager : MonoBehaviour
|
||||
chunk.RebuildMesh();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Перестраивает меши всех чанков.
|
||||
/// Вызывать после того как все чанки созданы — исправляет граничные грани.
|
||||
/// </summary>
|
||||
public void RebuildAllChunks()
|
||||
{
|
||||
foreach (var chunk in _chunks.Values)
|
||||
chunk.RebuildMesh();
|
||||
}
|
||||
|
||||
/// <summary>Перевод мировой позиции игрока → мировые координаты блока.</summary>
|
||||
public static Vector3Int WorldToBlock(Vector3 worldPosition)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user