Как скрыть тайловость 3D ландшафта?
Добрый день! Меня интересуют возможности скрыть тайловость ландшафта. Какие для этого существуют способы, может кто знает?
Текстуру накладывал в glsl, попробовал растянуть текстуру на несколько клеток, но знаний не хватило, как такое реализовать ((
А то как-то тоскливо смотреть на такое (((
надо просто хорошую текстуру, без резких частей, тогда не так будет заметно. Или еще поверху накладывать полупрозрачный шар с большим масштабом.
it_is_good
> Какие для этого существуют способы, может кто знает?
Просто предполагается, что будет два вида. Один сверху, второй, как на скриншоте. Вот сверху сильно заметна тайловость будет. Смотрел в игре Banished скриншоты, так там на несколько клеток (примерно 5х5) ложится одна текстура. На некоторых сайтах советуют поверх ещё одну текстуру ложить на всю карту. Последнее я ещё смогу реализовать, но как в шейдерах растянуть текстуру на 5 клеток, ума не приложу. В выходные только буду дальше пробовать.
P.S. про шум (в oGL) я слышал, но там также говорится, что он на каждой машине будет работать по разному. Вот это и настораживает меня.
можно заблюрить с текстурой, натянутой на всю видимую часть ландскейпа.
it_is_good
> Меня интересуют возможности скрыть тайловость ландшафта.
1. Не использовать ландшафт
2. надо просто хорошую текстуру. Чтобы края противоположные края совпадали.
3 не дано
asvp
> 1. Не использовать ландшафт
lol
> 2. надо просто хорошую текстуру. Чтобы края противоположные края совпадали.
Тут и так совпадают
it_is_good
3. Шум/текстура с некоторым масштабом поверх, как уже предлагали.
4. Самый красивый и тяжелый вариант, использовать не 4 текстуры, а 8, и блендить по дополнительной ч/б карте с чистым шумом или еще с чем-то.
5. Текстуры без выделяющихся частей, но тогда у тебя вместо тайлов будет одноцветная мазня.
it_is_good
> Меня интересуют возможности скрыть тайловость ландшафта. Какие для этого
> существуют способы, может кто знает?
Наложить на текстуру фильтр высоких частот. Чем выше порог, тем сильнее можно тайлить.
В фотошопе что-то подобное быстро делается путем удаления теней и пересветов.
Сложный вариант блендить больше одной текстуры по какой-то маске с суммой шумов разной частоты (в простанородье фотошопе называется облака 🙂 )
it_is_good
> . про шум (в oGL) я слышал,
Попробуй для начала задать в вершинах некий случайный цвет и промодулировать им
Источник
методы борьбы с тайлингом
тайлится текстура на hmap’e. Какие есть методы борьбы?
Стандартное смешивание не ботает, тк юзаю texture splatting и еще
мешать туда — это охренеть можно) Что нить кроме этого моно юзать? скажем, шум какой-нить?
скрин
Mephisto std
Я не знаю как, но можно ту темно-зеленую текстуру размножить в граф-редакторе
xx
xx
Тоесть 4 копии текстуры у нас будет (текса в два раза больше)
и нам нужно Разбить вручную тайлинг «по среднему кресту», а потом
сдвинуть офсет (или как там фильтр называется) на 0.5
и снова вручную поклацать Штампом, чтобы убрать «подозрительные места».
И главное в этой технике — надо чтобы в тексе были намеки на Тайлинг, но
какие-то детали узора «желательно серого цвета» обманывали зрение.
Тоесть, игрок посмотрит на ту серо-зеленую часть и у него возникнет сразу два
впечатления — вроде похожэ на повтор (тайлинг) и вроде все «повторы разные».
Ну и напоследок — лучше растянуть побольше Талантливую тексу, чем вот такую
фигню как у тебя «мелко накладывать».
// при мелком репите та текса и рябить, наверно, начинает 🙂
slatazan
славик, я просто поражаюсь — поток мыслей в твоей голове настолько же стройный?)
Mephisto std
увеличить разрешение карты весов
По честному нужна мегатекстура, нормальный фейк предложил slatazan (так делают проги XFader, Luxology imageSynth).
Mephisto std
Добавь света-тени, и деталей ландшафта — кустов, тропинок, деревьев, камней, и теней от всего этого. Голая-то текстура конечно выглядит отстойно.
Ну и желательно ещё смешать с другой текстурой, растянутой в несколько десятков раз по отношению к основной, и нарисовать на ней разные оттенки земли.
Есть разные читы. Скажем, чуть потянуть текстурные координаты, добавить в uv сумму нескольких синусоид.
Можно растянуть текстуры раза в два, но тогда вблизи полезут пиксели. Их можно залечить, наложив вблизи детальную текстуру. Или просто тупо те же текстуры, что и в сплаттинге, но со сжатыми uv. lerp сделать по расстоянию.
Можно посчитать цветной лайтмап, туда фигануть небольшой шумок. Шумок надо делать аккуратно, чтобы на снегу не было пятен.
А вообще, глядя на картинку, там проблема с тайлингом наведенная. Надо сильно более разнообразный террейн сделать. Больше шума и детализации в hmap, посчитать лайтмапы или AO.
Я сразу хотел сказать что текстура «фигня», но вспомнил личный опыт борьбы
и попытался кратко пересказать.
// —
Я пробывал ранее делать мип-мэпы вручную.
Так-вот, основная текса (512) фильтром Резкость поправлялась и хранилась в TGA чтобы пиксель-к-пикселю-как-штык.
Потом пару мипок оч акуратно «изменял» — тот самый крест граней поправлял (0.5; edit; — 0.5)
и несколько пикселей в серединке можно «слегка изменить».
И каждый мип-уровень делал «менее контрастным». //256 128 64 32 и далее автомат повтора
Поэтому яркие загагулины, которые бросаются в глаза и напоминают о тайлинге просто
становились серой массой вдали .
Заодно убирался эфект «ряби вдали».
Mephisto std
Надо-бы как-то внедрить хоть какой-то Бамп.
А то сейчас булыжники выглядят хуже, чем «волнуюший тебя тайлинг».
Ну и мне кажется, что ты выбрал какой-то спорный способ рисования земли.
Тоесть, я сам все время ошибался «как делать землю».
Сейчас рекомендую сделать подобие wh40::Dawn_of_war.
Я не знаю точно, но догадка такая..
Рисуются мега-быстро лоскуты земли у которых всего две текстуры..
Мелкий тайлинг и текстура свободных цветовых оттенков на всю локацию (на всю стратег-карту).
Потом все мега-прелести тропинок и пешеходных зебрушек рисуются через хитрые декали (наклейки).
Как-бы второй проход получается, потому-что все наклейки рисуются из vbo лоскутов земли (индексы выборочные).
Здесь можно использовать Все 4 текстурных слоя, тогда 4 наклейки могут пересекаться в одном месте .
Уже сейчас земля может выглядеть лучше чем в варкрафте (ну или не хуже).
Ну и после этого можно нарисовать лоскуты земель, чтобы «вбить в буфер кадра свет и тень».
Как минимум просто лайт-мэп наложить поверх всех наслоек уже хорошо.
Вероятно, можно как-то со стэнсил-буфером «химичить», чтобы знать «кто в пикселе главный остался».
// первый проход или одна из наклеек, у которых свой байтовый номер.
Тогда при добавке свето-тени первая текса будет «картой блеска» для первого прохода, а вторая
текса будет . тайл-сэтом с блексом для 250-ти наклеек.
И далее тексы для теней.
А вдруг получится 🙂
slatazan
бамп есть, притом довольно качественный) просто у мя проблемы с налаживанием производства карт нормалей)) сделал слишком светлую
По поводу земли — норм алгоритм юзаю. Декалями ложить дорожки — это ж охренеешь их крафтить, у мя приоритет «простое создание уровней»
в первом посте ты предложил по ходу просто сделать нетайловые текстуры) это как бы не способ, я ваще эти текстуры утянул, а не сам делал,
у мя дела поважней чем текстуры клепать — мну прогать надо) текстурщиков потом поищу, когда будет куда искать
x
каким образом это поможет? увеличу разрешение — просто переходы станут поплавней, но тайлинг останется. или ты предлагаешь текстуру
земли разбавить чуть чуть снегом?
Tonal
с мегатекстурами я уже делал — очень неудобно было рисовать всё это) остановился на сплаттинге в итоге
BUzer
это ты по принципу готики 3) там если отключить траву и тд — ваще такой тайлинг поёдёт, что над ним даже дум первый будет смеяться
Но это вариант. Правда трава на снегу как-то не очень.
Я вообще-то думал про какую-нить текстуру шума скажем 10 к 1 в отношении к обычной текстуре, и чтобы она как-нить воздействовала
нестандартно — например не складывать цвета, а умножать
Источник
3ds max: Тайлинг.
Вопрос моделлерам. Питаюсь смоделировать небольшой городок, а также избавиться от проблемы размытия текстуры на полигонах большого размера. Маппинг: face. То есть, нужно настроить тайлинг, но для конкретных полигонов. Кто что посоветует?
Я знаю что можно задавать кол-во тайлов в счетчике.
Тоесть сначала выделяешь полигон или несколько . затем делаешь модификатор UVW Map в нем есть счетчик тайлов .
Так же в текстуре материала можно кол-во тайлов задать, и тогда выделив полигон применить к нем этот материал .
Как еще можно избавиться от размытия не знаю .
NewOne
Спасибо, НО почему это дело не работает с Multi\Sub-Object материалами не знаю, всетаки у меня большой меш улицы, и без мультиматериалов не обойтись (наверное).
Третий вариант, выбрать в анврапе (Unwrap UVW — select face) нужные тебе полигоны и заскейлить их за приделы клетки символизирующей один тайл.
Но честно говоря и первых двух вариантов достаточно даже для работы с Мультисаб материалами.
Странно, но у меня почему-то с мультисабами никак маппинг не корректируется, разве только тайлинг самой текстуры, но в этом случае он меняется и для других полигонов, в итоге текстура сжимается на тех полигонах, на которых она хорошо сидела. Пробовал выделять полигон и с помощью Mesh Select и просто выделял, потом UVW Map или Unwrap UVW, вообще ничего не меняется. а без мультисабов все работает. В чем можеть быть проблема? Макс 7 версии.
Очень интересный вопрос — не подскажите пару статей по текстурированию игровых уровней?
Источник
Что такое тайловое текстурирование — общие принципы и использование Статьи редакции
Как создавать тайлы и зачем это нужно.
Этот обучающий материал посвящён тайловому текстурированию: как создаются и применяются тайлы и почему это одна из важных основ в геймдеве — акцент будет на применение в разработке игр.
Не стану детально описывать пайплайн в конкретных программах, а сосредоточимся на общих принципах работы и ответах на возможные вопросы.
В одном из своих обучающих материалов я уже упоминал метод тайлового текстурирования, но рассказал о нём поверхностно — тогда основная тема касалась оптимизации UV-развертки.
Tile — произносится как «тайл», переводится как «плитка», а означает повторение. Повторяющуюся текстуру используют для текстурирования больших поверхностей: грунта, стен, домов, модулей и иногда мелких объектов. Такой вид текстур позволяет добиться высокого качества и при этом уменьшить количество применяемых материалов в игровой сцене.
Бесшовные текстуры — это и есть тайлы, но иногда их так называют. Паттерны на краях текстуры продолжают друг друга, чтобы избавиться от швов и сделать повторяемость менее заметной.
Trim Sheet или тримы , в какой-то степени — это тоже тайлы, однако они бесшовные лишь по одной оси и применяются к вытянутым объектам: балкам, перилам, плинтусам, узорам на стенах и многим другим. Наглядные примеры таких текстур ниже.
Tile Atlas или атлас тайлов — несколько тайлов на одной текстуре. При использовании атласов приходится жертвовать числом полигонов, чтобы использовать оверлапинг — наложение UV-островов на один участок текстуры. Атласы создают ради того, чтобы снизить количество материалов, чаще всего используются в мобильных играх, где требования к оптимизации более высокие.
Tileset или тайл сет — подразумевается сет модулей, из которых делают уровни. Эти модули используют общие тайловые материалы или тримы, поэтому их можно назвать сетом одного тайла.
Оптимизация. Известно, что файлы игр состоят примерно на 60-80% из текстур, а возможно и на 95% — всё зависит от конкретного проекта. Однотипные, бесшовные текстуры часто используются повторно на различных моделях, тем самым позволяя экономить место на жёстком диске, снижать время загрузки и обращение к видеопамяти. Повторное использование материала в сцене вместо создания нового снижает количество Draw Calls — вызовов отрисовки.
Сокращение времени на разработку. Опытный левелдизайнер может создавать новые и уникальные локации, используя одни и те же модели и текстуры. Разумеется, это занимает меньше времени нежели создание каждой сцены с нуля.
Повторяемость ассетов. Если в игре часто использовать ассеты повторно, то через несколько часов геймплея визуально игра станет скучной. Этим особенно страдают игры с большим миром, например TESO, да и вообще вся серия «Свитков». После нескольких походов по пещерами можно увидеть все возможные тайлсеты, и новые локации не вызовут никаких впечатлений, так как они почти идентичны во всём, кроме проектировки уровня.
Зато большая часть Тамриеля (Мира вселенной The Elder Scrolls) умещается в 95 гигабайт, что по сравнению с новыми играми не так уж и много.
Сложный пайплайн для инди и новичков. При создании своего примера, я потратил больше дня на подбор скачанных текстур для одной очень простой модельки, при этом получилось так себе.
Основная трудность для меня была в том, что я не знал, что хочу визуализировать, не хватало предварительных артов или референсов, а если я и знал, что мне нужно, то нужных текстур не находил. Потратить ещё кучу времени на создание своих текстур исключительно для примера я не решился.
А теперь представьте те же сложности в масштабах игрового проекта или большого ассета. Для реализации качественных тайл сетов понадобится хоть какой-то опыт, время или деньги на покупку готовых.
Обработка фотографий в 2D редакторе — в Photoshop или в специализированных программах. Для создания полноценного PBR-материала не достаточно одной текстуры цвета — необходимы маски метала, шероховатости и карта рельефа (Metallic, Roughness, Normal Map). Всё это нужно либо рисовать вручную, либо генерировать из той же фотографии, что, конечно, даст результат, но не лучшего качества. По этой причине способ считается устаревшим.
Для генерации существуют отдельные программы — например бесплатный materialize или Bitmap2Material — который по сути является набором нод из Substance Designer. Ещё есть онлайн-сервис NormalMap-Online, он может создать Normal, AO, Sepcular из любого изображения. У всех этих генераторов похожий принцип, цвет используется как маска, карта нормалей получается вдавленной в тёмных местах и выдавленной на светлых, в некоторых случаях из этого можно получить приемлемое качество.
Моделирование и запекание. Художник создаёт геометрию на прямой плоскости при помощи скульптинга или моделирования. Геометрию окрашивают ID-материалами или через Vertex Paint. Далее это запекается на обычный плейн в текстуры: Normal, ID map, Curvature, Ambient Occlusion.
Остальное создаётся вручную. ID Map помогает отделять друг от друга элементы на плоской текстуре. Metallic, roughness и базовый цвет можно создать в Substance painter, в Blender через нодовый редактор, в Photoshop или даже внутри игрового движка, смешивая текстуры по ID-маске.
Hand Paint — создание текстур вручную, рисование в Photoshop или в других 2D-редакторах. Как правило, этот метод подходит для стилизованной графики, так как добиться реализма мазками кисти крайне сложно, если вообще возможно. Для создания стилизованной графики с PBR можно комбинировать с методом запекания.
Процедурные редакторы. Благодаря нодовым редакторам можно создать, а затем в любой момент отредактировать, что угодно, изменять не только цвета, но и каждый паттерн в отдельности, создавать множество вариаций одного материала.
Ноды — это что-то вроде визуального программирования. В каждой программе они реализованы по-разному, но суть везде похожая: первая нода создает простой паттерн или шум, вторая нода его редактирует, а третья — добавляет цвета. Конечно, при создании реалистичного материала тремя-четырьмя нодами не обойтись.
Лучшей нодовой программой для создания тайлов и не только, считается Substance Designer, так как она, её инструментарий и библиотека нодов были созданы для этой задачи.
Источник