Текстурирование ландшафта, дороги и т.д.
| .L | Участник | www | 1 мар. 2010 | 10:53 | #0 |
|---|
Сделал небо, решил допилить мего давно написанный террайн.
Генерация геометрии, разбивка на чанки есть, есть также уровни деталицации (без разрывов на стыках). Вообщем в плане геометрии вопрос давно сам решил. Теперь мне нужно его хорошо затекстурировать!
1. сажите пожалуйста как лучше производить текстурирование?
Бленд-картой? ок тогда эта карта на каждый чанк своя получается? Да? Ведь если не на каждый чанк то она должна быть мего огромной!!! Например у меня ландшафт 4096*4096. Тоесть даже если сделать 4096*4096 бленд карту то 1 её пиксель будет соответствовать 1 виртуальному метру ландшафта. Но это слишком низкое разрешение!! : ( Нужно хотябы 1 пиксель - 25 см. А это значит бленд карта размером 16384*16384!! Видяхи такие не поддерживают. И памяти она жрать будет немеряно - ровно 1 гигабайт! Ну это совсем жЁпа при том, что 1 пиксель на 25 сантиметров - не айс аще. Даже если подгружать такую текстуру для нужных чанков, выгружать ненужные мипы то всёравно. Ведь её нужно хранить на диске!! А если уровней 20 в игре? то что? 20 ГБ дискового пространства на бленд-карты? - бред! как тогда поступать?
2. как в кризисе сделаны дороги?
Начну издалека: давно, когда делать было нечего, делал я уровни для FarCry. Там дороги рисовались просто: делаем браш диаметром 2.5 метра - рисуем текстуру гравия. потом делаем браш 0.25 и рисуем 2 колеи по тому гравию - под 2 колеса собсно. ВСЁ! Дорога готова. Но вот в Кризисе всё изменилось. В кризисе текстура уже содержит колею (следы протектора шин, грязь и т.д.). Просто наложить её на ландшафт это не проблема, но как они сделали ПОВОРОТЫ? у нних нету текстур на все случаи жизни AFAIK но плавные повороты сделаны. О_О
Заранее большое спасибо за помощь.
| .L | Участник | www | 1 мар. 2010 | 11:05 | #2 |
|---|
Если деколи то как делать то? Я так понимаю сделать тулзу - наносим на ландшафт путь (ломаная/безье линия) и потом нужной функцией триангуолируем меш, проецируя точно на ландшафт. Или нет?
| innuendo | Постоялец | www | 1 мар. 2010 | 11:20 | #3 |
|---|
> Но я щас запускал кризис, смотрел сбоку дороги - не видно, чтоб это были деколи
> о_О (просвета маленького нету)
запусти редактор - поиграйся
| KKH | Постоялец | www | 1 мар. 2010 | 11:22 | #4 |
|---|
Если ты делаешь мегатекстуру (в каждом месте ландшафта свой неповторимый кусочек), почему не воспользуешься технологией мегатекстурирования? Текстуры огромных размеров на диске получаются вполне сносных для загрузки в видео. Т.к. на растоянии в 50-100 виртуальных метров детализация уже не актуальна ...
2 не знаю.
| Kloun | Участник | www | 1 мар. 2010 | 11:32 | #5 |
|---|
в один момент времени загружено в память не более 9ти кусков региона (это хучший случай). т.е. один на котором стоишь и 8 смежных. итого 9-18мгб на блендкарты. (генерятся они при загрузке куска ладшафта. на диске хранятся ввиде массива char, пожатый zlib-ом и места практически не занимают)
| .L | Участник | www | 1 мар. 2010 | 11:33 | #6 |
|---|
> запусти редактор - поиграйся
L
> У меня редактор кризиса валится при старте так что не судьба посмотреть : )
KKH
> Я делал покрытие 1 текстурой 512х512 5х5 виртуальных метров.
так, давайте немного посчитаем:
допустим у меня ландшавт 4096*4096 метров. Значит нам надо 640 000 тыких текстур на ВЕСЬ лнадшафт. Текстура ессно 4 канала значит 4 байта на пиксель. 1 текстура весит 4*512*512 = 1 мегабайт ровно. Собсно на весь ландшафт получается необходимо 640 гигабайт текстур!!! Может я чегото недопонял?
| .L | Участник | www | 1 мар. 2010 | 11:36 | #7 |
|---|
> У меня бленд-карта разрешением 0.5м, каждая текстура тайлится с периодом 4м.
> полет нормальный
> в один момент времени загружено в память не более 9ти кусков региона (это
> хучший случай)
стоп - как это 9 кусков? Ну а если предположим мы стоим на берегу моря.. в гавани. и видим противоположный берег! Он далеко но виден. и, получается, у тебя там не будет видно линии песка? просто всё зальётся дефолтной текстурой? ведь тот дальний чанк не входит в те 9 ибо далеко.
Последняя правка: 1 мар. 2010 11:37
| innuendo | Постоялец | www | 1 мар. 2010 | 11:55 | #8 |
|---|
> не будет видно линии песка? просто всё зальётся дефолтной текстурой?
запусти Крайзис и посмотри что у них там в далеке с ланшафтом творится
| Executor | Участник | www | 1 мар. 2010 | 11:56 | #9 |
|---|
| .L | Участник | www | 1 мар. 2010 | 11:56 | #9 |
|---|
> запусти Крайзис и посмотри что у них там в далеке с ланшафтом творится
хорошая идея : D сча посмотрю.
| Kloun | Участник | www | 1 мар. 2010 | 12:00 | #11 |
|---|
> Он далеко но виден. и, получается, у тебя там не будет видно линии песка
у меня радиус видимости маленький =)) мне просто больше не надо. если увеличивать дальность видимости в моей архитектуре, то для дальних кусков - надо строить зверские лоды - скажем загрузка ландшафта с другими парамерами - чтобы сетка сразу резалась раз в 16 (сейчас детализация 0.5м) чтобы бенд карта резалась тоже сильно (во сколько раз - оценить не сложно - достаточно рассчитать из дальности обзора чтобы на пиксель экрана приходилось не больше пикселя бленд карты, а может даже и меньше - тут надо пробывать и смотереть как выглядит), и чтобы сами тайлы вместо 512 * 512 заменялиь текстурами 32*32. а по мере приблежения уже такие урезанные куски заменять на нормальные
| Kloun | Участник | www | 1 мар. 2010 | 12:03 | #12 |
|---|
> Текстура ессно 4 канала значит 4 байта на пиксель.
хранить на диске так не надо. я уже написал это.
KKH
> Более менее нормально смотрится пиксель на сантиметр. (моё личное мнение).
не путай бленд карты с самими текстурами ;)
| .L | Участник | www | 1 мар. 2010 | 12:18 | #13 |
|---|
запустил и посмотрел. там видно и берег и текстуры гор и т.д.
| innuendo | Постоялец | www | 1 мар. 2010 | 12:23 | #14 |
|---|
> запустил и посмотрел. там видно и берег и текстуры гор и т.д.
а в каком качестве ?
/ Форум / Программирование игр / Графика
Для определения, можете ли вы оставлять сообщения, необходимо войти в систему под своим логином.