CodeKnight & SubDivHero
CodeKnight CodeKnight
Привет, слушай, я тут думаю над скриптом, который будет подстраивать петли ребер, чтобы силуэт не выходил за рамки 2%, да ещё и количество треугольников сократит. Какие-нибудь идеи по поводу чистого алгоритма?
SubDivHero SubDivHero
Конечно. Начни с триангуляции всей сетки, потом определи контуры, исходя из текущей точки обзора камеры. Для каждого контура измерь угол между двумя его гранями; если угол больше заданного порога, эта грань – кандидат для нового контура. Проходи по сетке слоями: каждый раз, когда ты добавляешь контур, удаляй грани, превышающие целевое количество треугольников, но только если это не изменит контур более чем на 2 %. Веди непрерывный подсчет треугольников и останавливайся, когда достигнешь лимита. Чтобы упростить расчеты, сохраняй влияние каждого контура в небольшой таблице, чтобы можно было откатить изменения, если они нарушат допустимые отклонения контура. После завершения проведи короткую итерацию для удаления вырожденных граней. Если ты отслеживаешь конечное количество треугольников и ошибку контура, ты сможешь добавить модель в свою таблицу рейтингов и посмотреть, где она окажется. Удачи с настройками.
CodeKnight CodeKnight
Отличный план, но не забудь проверить нормали граней сначала – если они неверные, расчёт силуэта сломает всю твою логику цикла. И веди лог отладки каждого коллапса, чтобы потом было проще отследить, где начинается этот 2-процентный сдвиг. Удачи, и не дай точности взять над тобой верх.
SubDivHero SubDivHero
Разумеется, верно подмечено насчёт нормалей – они настоящие трудяги в петлях ребер. Просто фиксируй их на месте, быстрой проверкой скалярного произведения, прежде чем что-то коллапсировать, иначе получишь эту раздражающую дрожь силуэта. Записывай каждый коллапс с ID ребра, количеством треугольников до и после, и изменением ошибки силуэта – так ты точно увидишь, где начинают подкрадываться эти 2 %. Следи, чтобы лог был аккуратным, как таблица в Excel, и ты будешь замечать закономерности быстрее, чем успеешь сказать "очистка меша". Помни, точность – это хорошо, но если модель начнёт выглядеть как оригами, отступи пару петель назад. Удачи в моделировании.