diff --git a/settings.json b/settings.json new file mode 100644 index 0000000..edf9814 --- /dev/null +++ b/settings.json @@ -0,0 +1,10 @@ +{ + "Language": "ru", + "Fullscreen": false, + "VSync": true, + "Width": 1280, + "Height": 720, + "Volume": 1, + "UiScale": 1, + "DeveloperMode": true +} \ No newline at end of file diff --git a/src/LittleSim/Scenes/WorldScene.cs b/src/LittleSim/Scenes/WorldScene.cs index e939bed..7142043 100644 --- a/src/LittleSim/Scenes/WorldScene.cs +++ b/src/LittleSim/Scenes/WorldScene.cs @@ -994,10 +994,20 @@ public sealed class WorldScene : Scene return shore.ToArray(); } - // Текущая сетка окклюдеров для лайтмапа: светонепроницаемый террейн (сейчас нет) + зрелые деревья. + // Затеняют ли зрелые деревья землю. Сейчас выключено: одиночное дерево = 1 клетка-окклюдер, а спрайт + // кроны крупнее и смещён, плюс направленная тень тянется «хвостом» — на открытой почве это читается как + // странные оторванные пятна. Вернуть, когда у кроны будет настоящий многоклеточный след затенения. + private static readonly bool TreesCastShade = false; + + // Сетка окклюдеров для лайтмапа: светонепроницаемый террейн (сейчас такого нет) + опц. зрелые деревья. private bool[] BuildOccluders() { Array.Copy(_cellOccluderBase, _cellOccluder, _cellOccluder.Length); + if (!TreesCastShade) + { + return _cellOccluder; // ровное освещение — без странных теней от отдельных деревьев + } + Store .Query() .ForEachEntity(