Войти
ПроектыФорумОцените

Клон C&C без названия (4 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 13 4 5 68 Следующая »
#45
3:49, 29 сен. 2016

Madware

Марширующие кубы на картинке?

Не, марширующие кубы медленный и неэффективный отстой, там мой собственный распаковщик по типу Surface Nets.
Так работает мой трипланарный шейдер, только он еще и сразу в трех направлениях текстурки выбирает

Поищи в инете есть трипланарник на 5 текстур, смешивает по Vertex color. Я бы кинул, но в своей мусорке сходу не найду )).
Выглядеть будет примерно так (на видео кстати тот же распаковщик меша, правда более древний)
#46
7:00, 29 сен. 2016

bwolf88
> Surface Nets
Очень круто выглядит. Надо будет разобраться с этим методом. Ты это в каком-нибудь коммерческом проекте использовал?

#47
7:28, 29 сен. 2016

В коммерческих проектах надо с ЛОДами, а я на них забил, у меня для небольшой дальности только годится, как в майнкрафте или 7Days.
Но зато я уже забыл что такое террейн, если нужна поверхность - слепил что нужно и вперед хоть с пещерами хоть с отвесными скалами. Щас еще редактор объектов доделаю, так вообще шоколадно будет, можно будет побыстрому воксельные модельки набрасывать.
Например, такие модельки можно минут за 5-10 накидать даже криворукому нехудожнику в том же MagicaVoxel и заимпортить как объекты, правда ломать их нельзя будет, а мои можно.

Это я к тому, что можно быстро накидать игровые объекты без модельщика, например те же танки или здания. Правда для нормальных моделек нужен хороший меш распаковщик с упрощениями геометрии.
12323 | Клон C&C без названия

#48
7:39, 29 сен. 2016

bwolf88
Хорошо бы еще нормальки сглаживать как-то. Для таких лоупольных челдобреков не обязательно, а вот для террейна надо бы

#49
7:50, 29 сен. 2016

Самый простой способ сгладить нормальки это использовать общие вершины для треугольников, все острые углы сгладятся сами, но текстурить такую поверхность геморнее. Либо использовать упрощения геометрии, а на углах более мелкую сетку, либо просто мелкую сетку.
Вот например та же кубическая сетка, но с шагом 0.25 м - никаких углов  не видно.

#50
12:58, 29 сен. 2016

bwolf88
>
> Не, марширующие кубы медленный и неэффективный отстой, там мой собственный
> распаковщик по типу Surface Nets.
Хм. Читаю вот эту статью. Сделал из нее вывод что это то же самое что марширующие кубы/тетраедры и прочее, просто подошли с другого угла. Как оно может быть быстрее марширующих кубов? Там что-то про трилинейную интерполяцию упоминается, но я не распарсил, что именно. Ключевое ускорение будет достигнуто именно на этом этапе?

В качестве тренировки сделал двухмерную тормозную версию с интерполяцией через бинарный поиск. Правда в случае 2д я преимуществ метода совсем не ощущаю :) те же марш квадраты но с повышенным количеством понтов
ISSN2D | Клон C&C без названия

#51
13:09, 29 сен. 2016
Как оно может быть быстрее марширующих кубов?

Хотя бы потому что марширующие кубы дают в 1,5 - 2 раза больше вертексов и трисов, а со сглаживанием каждую вершину нужно рассчитывать. Посмотри в статье есть примеры. А вот дуал методы медленнее из-за итеративного приближения точки.
#52
13:26, 29 сен. 2016

Теперь вижу. Вообще, мне в сгенерированном террейне важно только приемлемое качество его внешнего вида и чтобы он не тормозил. Генерация геометрии будет сугубо оффлайновая в редакторе юнити, так что проигрыш в скорости из-за итеративного приближения - не проблема.

Up: таки понял в чем суть :) я за каким-то хреном оставил для рисования граничные точки на ребрах квадратов, тогда как на деле этого делать не надо, и соединять нужно только точки из центров масс

#53
13:59, 29 сен. 2016

На космическую игрушку твоя демка похожа. Может на ее основе чего нибудь запилишь, мне уже нравится как выглядит )).

#54
16:00, 29 сен. 2016

bwolf88
Какой жанр запрашиваешь? :) в принципе это может быть глобальной картой для кампании

#55
4:05, 30 сен. 2016

Переделал на соединение только точек из центров масс, и получил забавные глюки как на картинке. В трехмерном варианте тоже придется костылить удаление чего-то подобного?
Изображение

Up: это у меня был баг. Теперь все норм
Изображение

#56
4:24, 30 сен. 2016

Допустим, теперь я хочу сделать это же дело в трех измерениях. Что мне для этого понадобится? Для меня пока открыт вопрос рассчета нормалей для треугольников. Как я это вижу - берем отрицательные градиенты во всех трех точках и складываем их, потом нормализуем.

После того как для всех фейсов найдены нормали, проходим дополнительно по всем точкам меша и для каждой из них складываем нормали из всех фейсов в которые эта точка входит, потом снова нормализуем. Возможно, нормали для фейсов не стоит нормализовывать для получения более гладкой поверхности? Каким образом определять, стоит ли вообще сглаживать нормали или нет? Можно наверное смотреть скалярное произведение ребер(не общих естественно) у треугольников и использовать его как вес при сложении с нормалью потом.

#57
4:56, 30 сен. 2016
Допустим, теперь я хочу сделать это же дело в трех измерениях. Что мне для этого понадобится?

Тебе для этого понадобится куб вместо квадрата :D.
Если реализовывал марширующие кубы, может взять Edge таблицу (в которой 256 значений), которая будет выдавать список пересекаемых ребер на основе полярности вершин куба.
Ну и трилинейка для всех пересечений для центра масс.

А чем тебе твоя поверхность в 2Д не нравится - гладко же смотрится, нафига еще нормали усреднять.
И что это за тулза такая на которой ты демку сделал ?

#58
5:27, 30 сен. 2016

bwolf88
> И что это за тулза такая на которой ты демку сделал ?
Delphi :) я ж дельфистом работаю

bwolf88
> А чем тебе твоя поверхность в 2Д не нравится - гладко же смотрится, нафига еще
> нормали усреднять.
мне не для 2Д, для 3Д только

#59
5:38, 30 сен. 2016

Ты сделай чтобы строилась хоть как нибудь, а потом уже думай как красиво сглаживать. И если будет сильно в тему влазить готовься потратить на это кучу времени )). Построение поверхности это только самое начало.

Страницы: 13 4 5 68 Следующая »
ПроектыФорумОцените

Тема в архиве.