
Ошибки в моделировании: перекосы, наложения, пустоты
Моделирование — это как лепка из пластилина, только вместо рук у вас мышка, вместо пластилина — полигоны, а вместо стола — программа, которая в любой момент может зависнуть, просто потому что ей скучно. Когда вы моделируете здание, мебель, сцену или хоть космический корабль, вы будто создаёте свой маленький цифровой мир. И вроде бы всё хорошо, всё на своих местах, пока вы не поворачиваете камеру, не запускаете рендер, и вдруг — хлоп! — у здания перекошена крыша, окно плавает в воздухе, а в стене внезапно обнаружился туннель в другое измерение. Как так? А вот так. Ошибки в моделировании — тема, знакомая каждому, кто хоть раз пробовал построить что-то сложнее куба. Давайте разберёмся, почему эти ошибки возникают, как их не допустить, а главное — как не сойти с ума, исправляя всё это великолепие.
Почему они вообще происходят
Самый простой ответ — потому что вы человек. А не сверхразум или магистр 3D. Даже если у вас три высших образования и сертификат от автодеска, всё равно можно случайно потянуть не ту вершину. Особенно когда работаешь по 8 часов подряд, залипаешь в сцену и уже не отличаешь левый фасад от правой кнопки мышки. Но есть и более объективные причины. Во-первых, спешка. Часто бывает, что сроки поджимают, заказчик дышит в затылок, вы уже пьёте четвёртый кофе, и начинается «ну и так сойдёт». Потом при рендере всплывает, что «не сошлось». Во-вторых, неопытность. Тут вообще без претензий. Каждый из нас когда-то вставлял одну стену в другую и думал, что так и должно быть. Только потом понял, что модели не любят, когда у них кишки наружу. Ну и третья причина — невнимательность. Казалось бы, всё выровнено, но вот один маленький миллиметр ушёл в сторону, и уже дверь открывается в гиперпространство.Перекосы: лёгкий способ всё испортить
Начнём с перекосов. Это, наверное, самый частый гость среди косяков. Он может быть еле заметным, а может быть таким, что здание выглядит как после землетрясения. Главное — он подкрадывается незаметно. Как он появляется? Да просто. Один элемент двинули чуть-чуть. Потом привязали к нему второй. Потом ещё что-то поправили. И в итоге вся модель пошла «волной». Особенно часто это случается:- При работе без привязки. Когда вы лепите элементы на глаз, «примерно тут».
- При масштабировании без пропорций. Взяли объект, потянули только по одной оси — и вот у вас уже не здание, а жеваная бумага.
- При зеркалировании. Иногда отражённые элементы живут своей жизнью. И если не проверить трансформации — будет сюрприз.
Наложения: когда одно в другом, и всё плохо
Теперь поговорим о наложениях. Это такая штука, которая вроде бы и не видна сразу. Ну подумаешь, одна стена влезла в другую. Визуально — вроде нормально. Но вот при рендере начинаются пляски: засветы, тени с глюками, какие-то мерцания. И всё потому, что два объекта борются за право быть «главным». Наложения бывают:- Объёмные. Когда две геометрии занимают одно и то же пространство.
- Поверхностные. Когда, например, два полигона совпадают, и получается знаменитый эффект «мигающей» поверхности.
- Материальные. Когда у вас на одном объекте два разных шейдера пытаются прорваться наружу. И у вас бетон с налётом металла, хотя вы такого не хотели.
Пустоты: страшный враг внутри
Вот про них часто забывают. Вроде бы дом стоит, фасады красивые, свет льётся, трава растёт. А внутри — пустота. Никаких стен, никаких перекрытий, иногда даже потолка нет. Почему? Потому что никто туда камеру не ставил. Никто не посмотрит, значит, можно не делать? Ага, до первого клиента, который спросит: «А можно показать интерьер?» Пустоты — это не только про «не сделали». Это ещё и про ошибки при моделировании. Например:- Пол забыли вставить. Камера снаружи не видит, а тень от пола исчезла. И вы не понимаете, почему здание будто висит в воздухе.
- Объём не замкнут. Например, стена состоит из трёх кусков, между которыми миллиметровая дырка. На чертеже не видно, а при просчёте — видно.
- Прорези без рамок. Делаете окно — и просто вырезаете дырку. А откосов, перемычек, подоконников нет. И выглядит это как взрыв.
Проблемы масштаба
Это ещё один важный момент. Бывает, делаешь, например, стул. Красивый, со сгибами, с материалами. А потом ставишь его рядом с человеком, и он оказывается размером с двухэтажную кровать. Или наоборот — человек как великан из сказки. А всё потому, что размеры никто не проверял. Точно так же и в архитектурке: модель может быть на 10% больше или меньше, и вы этого не заметите, пока не начнёте вставлять её в окружение. Что помогает:- Всегда работать в реальном масштабе. Сантиметры, метры, миллиметры — выбирайте что-то одно и не прыгайте.
- Сравнивать объекты с чем-то знакомым. Если у вас есть дверь — это отличный ориентир. Она почти везде одинаковая.
- Не полагаться на глаз. Он в 3D вас подведёт. Особенно если сцена большая.
Когда всё работает через раз
Иногда модель вроде и собрана нормально, и не криво, и пустот нет. Но вот что-то с ней не так. Сцена тормозит, рендер идёт вечность, что-то мерцает, что-то исчезает. Это уже баги, технические проблемы. И они часто тоже из-за ошибок в моделировании. Например:- Слишком много полигонов. Да, детализация — это круто, но если у вас табуретка весит 5 миллионов полигонов — здравствуйте, тормоза.
- Нерациональная топология. Объекты сложной формы, сделанные из кучи мелких деталей, могут быть не оптимизированы.
- Неудачные булевые операции. Объекты, объединённые с ошибками, иногда ведут себя непредсказуемо. Вроде всё склеилось, а потом полетело всё.
Что делать, когда уже всё плохо
Если вы уже поймали модель в момент, когда ничего не работает, не рендерится и трещит по швам — не паникуйте. Сделайте кофе. Посмотрите сцену с нуля. Отдалите камеру. Спрячьте лишнее. Проверьте:- Есть ли объекты на огромном расстоянии от центра сцены?
- Нет ли случайных клонов (один объект вставлен сто раз)?
- Не торчит ли где-то сбойный полигон?
- Не поставили ли вы случайно источник света внутри стены?