forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Плавная граница воды и берега (http://forum.boolean.name/showthread.php?t=1957)

JVSh 19.11.2006 23:47

Плавная граница воды и берега
 
Всем доброго времени суток!:-)

Вопрос:
Как сделать плавный переход от воды к берегу ?

Есть пример реализации на Блитце.
http://www.blitzcoder.com/cgi-bin/showcase/showcase_showentry.pl?id=adba11142003173210&commen ts=no

Только кода подобного решения я так и не нашёл.:''((
У кого есть соображения по этому поводу?

jimon 20.11.2006 08:53

Re: Плавная граница воды и берега
 
хех
вода "везде"
а берег выше полигонов воды
вот и все...

JVSh 20.11.2006 09:40

Re: Плавная граница воды и берега
 
То что вода везде - согласен.

Но берег... Он не выше берегов и на нём нет "альфы". Я внимательно смотрел демку, там есть момент, когда камера "погружается" под воду. Реализован именно эффект плавного растворения текстуры воды у берега...

Есть у кого ещё соображения?

НУБ 20.11.2006 11:00

Re: Плавная граница воды и берега
 
А чего тут соображать?
Генерируешь текстуру прозрачности на основе разницы карты высот террейна и высоты воды, накладываешь её вместе с текстурой отражения...
Ещё можно вместо плейна мешь сделать, вырезанный по пересечению террейна и воды, и вершины где они соприкасаются сделать прозрачными.

НУБ 20.11.2006 11:06

Re: Плавная граница воды и берега
 
Собсно кури: http://www.gamedev.ru/code/forum/?id=53605

JVSh 20.11.2006 11:26

Re: Плавная граница воды и берега
 
to НУБ

Спасибо за инфу и идеи...
Но, осуществить трудно, поскольку вода у меня это Plane а остров- mesh.

Может есть у кого какие идеи?

Или отказаться от использования Plane и делать огромный Mesh для воды?

(как я понял, небольшую локацию с отровом , реализовать можно, как быть с "морем" и несколькими "островами"?)

JVSh 20.11.2006 14:19

Re: Плавная граница воды и берега
 
Вложений: 4
С Plane и Terrain у меня вроде бы получилось. :)

Вот скрины до и после:


Кто подскажет, как затекстурить Terrain через карту высот?

jimon 20.11.2006 15:19

Re: Плавная граница воды и берега
 
JVSh
наложи на terrain еще одну текстуру
только размер текстуре задай
будет затекстуреный terrain
через карту высот не текстурят

ps. прикольно выглядит на втором скрине
только не очень правдоподобно

JVSh 20.11.2006 15:30

Re: Плавная граница воды и берега
 
Может я неправильно выразился... Просто хочу использовать карту высот для маскирования текстур... Мучался с Блендингом, так и не подобрал значения и порядок наложения текстур. Кто поможет с кодом?

Есть:
1. текстура "подводная" с тайлингом
2. текстура "высот" , её нужно использовать как маску
3. текстура "надводная" с тайлингом.

Буду рад помощи:ok:

HolyDel 21.11.2006 01:21

Re: Плавная граница воды и берега
 
Цитата:

Сообщение от НУБ
А чего тут соображать?
Генерируешь текстуру прозрачности на основе разницы карты высот террейна и высоты воды, накладываешь её вместе с текстурой отражения...

А как генерить текстуру прозрачности?

Цитата:

Сообщение от JVSh
С Plane и Terrain у меня вроде бы получилось.
Вот скрины до и после:

А как?

JVSh 21.11.2006 09:56

Re: Плавная граница воды и берега
 
Вложений: 2
to HolyDel

Делаешь текстуру по очертаниям твоего Mesh (Можешь в Максе отрендерить вид сверху с альфа-каналом), затем в фотошопе делаешь чёрно-белую текстуру применяешь Filter-Blur-GaussianBlur , чтобы размыть границу.

Затем грузишь её в код

water_texture=LoadTexture("water.bmp")
alpha_texture=LoadTexture("alpha.bmp",2)
EntityTexture water_plane,alpha_texture,0,0
EntityTexture water_plane,water_texture,0,1
EntityFX water,32

При загрузке текстуры можешь поставить флаг 50 ( вместо 2), тогда текстура не будет тайлится.

Если в качестве островов используется не Mesh, а Terrain, тогда нужно сделать:

ScaleTexture alpha_texture,X,X

Где Х - размер битмапа террайна, при использовании Mesh, пришлось подгонять масштаб.




Часовой пояс GMT +4, время: 17:30.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot