Будем считать, что воду вы уже сделали и она выглядит у вас примерно так:
Явно, что так реальная вода не выглядит, по крайней мере, в нашей стране )
Необходим некий эффект глубины.
Делаем следующее.
1. Берём вот этот http://rghost.ru/1993340 написанный мною скрипт и распаковываем его куда либо в свой проект.
Он же:
WaterLightmapDeep.js
- Код: Выделить всё
// by Woolf/R-Age
var fogDensity = 0.00;
var fogColor : Color;
var depthAmbient = 1.50;
var terrainSize : Vector3;
var terrainCollider : Collider;
var texture : Texture2D;
var waterLevel = 10.00;
@ContextMenu ("Apply Fog")
function ApplyFog ()
{
var x = 0.00;
var y = 0.00;
while(x < texture.width)
{
y = 0.00;
while(y < texture.height)
{
vect = Vector3(parseFloat(x / texture.width) * terrainSize.x, parseFloat(terrainSize.z) , parseFloat(y / texture.height) * terrainSize.y);
var hit : RaycastHit;
if(terrainCollider.Raycast(Ray(vect, Vector3.up * -terrainSize.z), hit, terrainSize.z))
{
depth = waterLevel - hit.point.y;
if(depth > 0)
{
lightCol = texture.GetPixel(x,y);
curCol = Color.Lerp(lightCol, Color.gray, depthAmbient * depth * fogDensity);
fog = Vector3(Mathf.Pow(fogColor.r, depth * fogDensity), Mathf.Pow(fogColor.g, depth * fogDensity), Mathf.Pow(fogColor.b, depth * fogDensity));
texture.SetPixel(x,y, Color(curCol.r * fog.x * lightCol.a, curCol.g * fog.y * lightCol.a, curCol.b * fog.z * lightCol.a, curCol.a));
}
}
y++;
}
x++;
}
texture.Apply();
}
2. Кидаем скрипт на свой террейн
3. В настройках террейна (иконка с шестерёнкой) указываем Lighting : lightmap
4. Рассчитываем лайтмапу какого хотите разрешения
5. Настраиваем параметры скрипта
Fog Density - интенсивность тумана, влияет на прозрачность вашей воды
Fog color - тут что хотите, но я рекомендую цвета ставить тёмные
Depth Ambient - м.. хитромудрый параметр, влияет на подсветку мелких участков, поэксперементируйте )
Terrain Size - вот тут надо указать размеры вашего террейна, X,Y: ширина и длина, Z - высота
в коллайдер - коллайдер от террейна
в лайтмап - кидаем лайтмапу терайна,
WaterLevel - устанавливаем высоту (параметр Y) вашей воды, можете посмотреть его у вашего объекта воды.
5. ВНИМАНИЕ - БАГ! сохраняем проект, выходим из редактора. Не знаю почему, но без этих шаманских танцев - не работает.
6. Запускаем редактор, выбираем террейн, выбираем скрипт WaterLightmapDeep, правой кнопкой на заголовок, выбираем Apply Fog
в зависимости от мощности компа и размеров лайтмапы скрипт может работать от 5 до 120 секунд.
по окончанию работы вуаля:
Ну чем мог - тем помог, вопросы задавайте сюда.