jetyb писал(а):По-прежнему не совсем понимаю что вам надо. На скринах все вроде бы освещено корректно. Деревья правда освещены странно, но они сделаны совсем по-своему, под Directional Light, и обновляются через TerrainData.RefreshPrototypes.
Тень хотите к точечному свету добавить? Берется рендертекстура кубмэпа глубины, ставится на место источника света. Каждая точка кубмэпы - расстояние от источника света до ближайшего препятствия. Определяется глубина точки через функцию texCube из трехмерного вектора направления текущей точки относительно источника света. Вектор направления относительно источника света текущего пикселя можно вычислить из позиции текущего пикселя в мировом пространстве.
Все: зная глубину пискселя, можно узнать "виден ли он" из точки света. Если виден то его attenuation = 1, иначе -0.
Не в деревьях и тенях дело.
Я хотел добавить реалистичное освещение воды point источниками света.
В реальном мире, освещение воды выглядит как-то так (рис 4). (немного фотошопа)
https://i.imgur.com/yRySyus.pngМожно заметить, что это просто градиентный круг в экранном пространстве плоскости воды (рис 2).
Затем я просто отбросил пиксели по маске, ниже границы плоскости воды (рис 3).
Получился псевдообъёмный свет в плоскости воды (рис 4).