HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- XashNT: блог разработчика (https://hlfx.ru/forum/showthread.php?threadid=5297)
Отправлено Cybermax 16-01-2021 в 16:35:
В Shortest Edge наиболее угадывается камазюка, разве что немного покрышки побиты.
На втором месте Quadric Error Metrics unweighted, кроме покоцанных колес угадывается оригинал.
Quadric Error Metrics (QEM) weighted by triangle area
- такое себе, лонжероны пропали.
Original Algorithm by Stan Melax - ужас.
Отправлено Chyvachok 16-01-2021 в 17:37:
Судя по скриншотам автоматическая генерация лодов еще долго не заменит ручную работу модельщика.
Вообще мне кажется что в принципе вряд ли возможен алгоритм который мог бы нормально уменьшать полигонаж, т.к. надо понимать геометрию модели, и упрощать ее сохраняя ее форму.
Добавлено 16-01-2021 в 19:37:
Если выбирать из перечисленных то однозначно Shortest Edge, у него модель меньше всего убита. Stan Melax однозначно самое дно, модель полностью анигилирована.
Отправлено Дядя Миша 16-01-2021 в 17:38:
Цитата:
Chyvachok писал:
Судя по скриншотам автоматическая генерация лодов еще долго не заменит ручную работу модельщика.
скорее всего - никогда. Потому что сейчас делают наоборот. Берут заранее симплифицированную модельку и добавляют к ней детали при помощи тесселяции. А тесселяция, это не просто увеличение полигонов. Она ориентируется на хейтмапу, снятую с оригинальной хай-поли модели.
Крупные детали так конечно не сделать, но вся мелочь в играх именно так и проступает. Игрок далеко - тесселяция на минимум. Правда у нее есть существенный минус, она не ускоряет работу, как лоды, а наоборот замедляет её.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено ncuxonaT 16-01-2021 в 18:07:
Цитата:
Дядя Миша писал:
Потому что сейчас делают наоборот.
В одном Метре увидел и экстраполируешь.
А скинь модель, я посмотрю, как 3дмаксовский упрощатель упростит.
Отправлено Дядя Миша 16-01-2021 в 22:13:
Цитата:
ncuxonaT писал:
В одном Метре увидел и экстраполируешь.
Есть вполне официальная тенденция. Зря что ли тесселяцию внедрили.
Вообще-то первые демки были уже в 2009-м году.
Добавлено 17-01-2021 в 01:13:
Цитата:
ncuxonaT писал:
как 3дмаксовский упрощатель упростит.
все дециматоры худо-бедно дают неплохие результаты до 50%.
Проблемы начинаются где-то от 30%. И там уже фирменные косяки алгоритма лезут наружу.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено ncuxonaT 17-01-2021 в 09:49:
Цитата:
Дядя Миша писал:
Есть вполне официальная тенденция. Зря что ли тесселяцию внедрили.
Вообще-то первые демки были уже в 2009-м году.
Официальная тенденция среди украинских разработчиков разве что. Не очень-то много современных игор вспоминается с тесселяцией. Даже если посмотреть статьи "что такое тесселяция" за последние пять лет, то там в примерах будут сталкер, метро и крузис 2.
Цитата:
Дядя Миша писал:
все дециматоры худо-бедно дают неплохие результаты до 50%.
Проблемы начинаются где-то от 30%. И там уже фирменные косяки алгоритма лезут наружу.
3дмакс сработал не очень, а блендер родил вот такое. Модель кривая, она на части разбита, где не надо. Например, покрышки разбиты на 4 отдельных куска. Если предварительно объединить совпадающие вершины, то не будет дыр хотя бы (левый камаз)
Отправлено Дядя Миша 17-01-2021 в 12:36:
Цитата:
ncuxonaT писал:
Модель кривая, она на части разбита, где не надо
так ведь приходится иметь дело с какими угодно моделями.
Кому нужен движок, который работает только с идеальными, сферическими.
Добавлено 17-01-2021 в 15:29:
Нам в идеале даже из самой похабной модели неплохо бы получить что-то не совсем ужасное. Ну а если моделлёр постарается, так вообще отлично будет.
Добавлено 17-01-2021 в 15:36:
В Максе наверняка QEM,а он чувствителен к топологии очень сильно.
Добавлено 17-01-2021 в 15:36:
Цитата:
ncuxonaT писал:
Официальная тенденция среди украинских разработчиков разве что
ты что-то имеешь против украинских разработчиков? 
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 17-01-2021 в 13:39:
Цитата:
ncuxonaT писал:
блендер родил вот такое
У блендера три упрощатора.
Добавлено 17-01-2021 в 16:39:
Цитата:
Дядя Миша писал:
все дециматоры худо-бедно дают неплохие результаты до 50%.
Я б сказал, что ниже этого порога тебе уже нужен не дециматор, а реконструктор. Неко кои дециматор ты не обучишь тому, что камаз должен в итоге выродиться в нечто вроде этого:
Отправлено Дядя Миша 17-01-2021 в 13:49:
Цитата:
nemyax писал:
Я б сказал, что ниже этого порога тебе уже нужен не дециматор, а реконструктор
Дай-ко угадаю, он сперва бьёт модель на группу конвексных хуллов а потом считает разницу между реальностью и финальной точкой?
Цитата:
nemyax писал:
камаз должен в итоге выродиться в нечто вроде этого:
финальная стадия это импостор 
Добавлено 17-01-2021 в 16:49:
Вообще, не забывайте, что у лодов, сконструированных автоматически, есть одно серъезное преимущество - они обсалютно не затрагивают исходную геометрию, меняют только индексы. Такой подход здорово экономит видеопамять. Причём если бы там были настоящие лоды, для них пришлось бы и лайтмапу считать, а для прогрессивных мешей лайтмапа сама "адаптируется". Хотя декали могут действительно утопать внутри модели на низших уровнях лодов. Кстати может в сталкере наблюдать этот эффект, чиркнуть ножом по дереву и отойти. Зарубка исчезнет. Я долгое время думал, что это какой-то глюк и только недавно до меня дошло что это такое.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено ncuxonaT 19-01-2021 в 11:00:
Цитата:
Дядя Миша писал:
ты что-то имеешь против украинских разработчиков?
Только то, что они не создают тенденций.Цитата:
nemyax писал:
У блендера три упрощатора.
Ты про три режима Decimate, или там еще что-то есть? Я показал то, что выдает Collapse. Unsubdivide, очевидно, не подходит, а Planar не дает выставить в процентах, сколько должно выйти треугольников.
Цитата:
Дядя Миша писал:
Причём если бы там были настоящие лоды, для них пришлось бы и лайтмапу считать
Необязательно, если делать у лодов развертку под лайтмапу более-менее совпадающей. И запекать можно было бы на лодах, а не на хайполи.
В любом случае, использовать для коллизий генерированную автоматом мешанину из треугольников вряд ли стоит.
Отправлено Дядя Миша 19-01-2021 в 11:45:
Цитата:
ncuxonaT писал:
Только то, что они не создают тенденций.
А кто создаёт? Крайтек?
Цитата:
ncuxonaT писал:
Необязательно, если делать у лодов развертку под лайтмапу более-менее совпадающей
Это неконтролируемый процесс. Для старших лодов наверное еще возможно, а вот для предельного варианта - очень навряд ли.
В любом случае придётся предусмотреть отдельные развертки для каждого лода, на случай, если что-то пойдет не так.
Цитата:
ncuxonaT писал:
В любом случае, использовать для коллизий генерированную автоматом мешанину из треугольников вряд ли стоит.
Сталкер именно такую мешанину и использует. Просто дециматору заданы особые параметры и дополнительные штрафы на несмежных рёбрах.
Но есть важное отличие - мы имеем дело с геометрией у которой нет материалов и все точки шареные. И дециматору работать на порядок легче. Вы же обратили внимание, что все демки симплификации намеренно не используют текстурирование. Ну вот в том числе и поэтому.
Добавлено 19-01-2021 в 14:45:
Совсем забыл. Есть такой хитрый режим децимации, я не вникал как это работает, но он упрощает модель не в процентном соотношении, заданном юзером, а до тех пор, пока не начнётся определённая деградация.
Причём степень этой деградации вычислятся индивидуально для каждой модели. Где-то можно и впятеро симплифицировать, а где-то всего на 30%.
В сталкере SWPM именно так и работает, он сам выбирает до каких пределов модель поддаётся упрощение. Из-за чего увидеть деградацию модели в принципе невозможно. Что в свою очередь привело к мнению, будто бы в сталкере нет никаких лодов. Причём это порой утверждают даже люди, которые делали под XRay уровни.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Дядя Миша 22-01-2021 в 11:00:
Имплементировал колоизацию из дуум3, в целом неплохо, мне нравится.
Но есть конечно и досадные моменты. Во первых, больше всего места в заняли сурфэджы - индексы ребёр. На лост-альфовском кордоне почти 17 мегабайт. И ведь ничего не сделаешь. Сами рёбра и вертексы весят достаточно скромно, дерево я ужал, плюс это всё происходит на оригинальной геометрии где порядка миллион двести тысяч полигонов (не треугольников, а именно полигонов). Думаю, если геометрию симплифицировать, будет не так жутко. К тому же у аксиального BSP есть один важный плюс - сурфейсы в него можно фильтровать на лету, это очень быстро, а значит не надо их хранить в карте. К тому же фильтровать их можно, читая контентсы из материала, если к примеру несолидный, то вообще не помещать в дерево. Ну то есть, для того чтобы поменять контентсы, вовсе необязательно перекомпиливать карту.
Минус в проверке на пересечение модель\полигон. Т.е. движение модели сквозь полигон работает отлично, а вот тест на застревание внутри полигона - не очень. Это не баг кода, это такой подход. Помните выражение "застрял в текстурах"? Вот это как раз оно. Т.е. проверка на пересечение делается в самом начале, когда плоскости модели и плоскость полигона рядом. Но чистой проверки на всю модель - не выполняется.
Иными словами полигоны односторонне проходимы, т.е. сзади сквозь него можно пройти, но назад он уже не пропустит.
Такой подход не позволяет конечно некоторые вещи, которые раньше решались легко и просто, ну например - проверка на вставание игрока внутри узкого тоннеля скорее всего сфейлит. Это не значит что подобные вещи нереализуемые теперь, логика немного поменяется. Но я вот думаю что классический тест на застревание тоже нужен. Потому что трассировочную модель можно представить в виде конвексного браша.
Добавлено 22-01-2021 в 14:00:
К слову, весь этот механизм колоизации предполагает любопытный выверт геометрии. Вся геометрия вывернута наизнанку, но плоскости смотрят правильно. При этом и модель для трассировки тоже вывернута, но уже в другую сторону, т.е. полигоны смотрят внутрь, а плоскости наружу.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Дядя Миша 23-01-2021 в 14:54:
Вообщем главная претензия к колоизации - это её размер.
Хрен его знает что с этим делать. Всего по чуть-чуть, а в сумме много.
Примерно половина от визуальной части. Ну скажем, если визуальная геометрия весит 100, то колоизация - 50. Многовато.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 23-01-2021 в 15:13:
А сколько ты хотел?
Отправлено Дядя Миша 23-01-2021 в 16:10:
Мегабайт 30 к примеру.
Кстати, ЧАЭС с коллизией собралась и коллизия там весит удивительно немного. Было 175 стало 214.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'