Уровень детализации в 3D-приложениях

Уровень детализации — это метод снижения сложности ренденинга кадра, уменьшение полигонов, текстур и других ресурсов, проще говоря — общее снижение сложности картинки. За примером далеко ходить не надо: допустим, модель человека состоит из 15000 полигонов. В тот момент, когда объект находится близко к камере, используются все полигоны, а когда он находится на большом расстоянии от нее и занимает всего пару-тройку пикселей на сцене, то обработка всех 15000 полигонов не будет иметь смысла. Возможно, в этот момент будет достаточно и пары сотен полигонов, а может, всего и десяток. Соответственно, на средних расстояниях используется модель, которая состоит из большого количества полигонов, чем самая простенькая модель, и меньшего, чем у самой сложной.

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

При удалении модели от камеры все наоборот: объекты обладают меньшим количеством треугольников. Такое изменение сложности, количества треугольников модели может быть, как и на автоматической основе в 3D-модели, так и на основе заранее заготовленных моделей с разным уровнем детализации. При использовании модели с разной степенью детализации для разных расстояний, сложность ренденинга снижается и не ухудшает общую детализацию сцены. Такой метод особенно хорош для сцен с большим количеством объектов. расположенных на разном расстоянии от камеры. Например, спортивная игра, такая как симулятор футбола или баскетбола. Модели с низким содержанием полигонов будут расположены далеко от камеры, а при приближении старые модели заменяются другими, у которых количество полигонов больше. В этом примере показана вся суть этого метода, основанного на двух уровнях детализации модели. Но, при желании, можно создать гораздо больше уровней, чтобы эффект детализации не был так заметен при приближении или отдалении персонажей.

Помимо расстояния от камеры, для детализации имеют значения и иные факторы. Например, общее количество объектов в сцене, чем больше объектов, тем больше упрощается их детализация. Количество кадров в секунду тоже играет свою роль: чем ниже значение FPS, тем уровень сложности модели будет меньше. Свою роль играют и такие факторы как скорость передвижения модели на экране, важность персонажа в игре. Для персонажей второстепенных используется более простая детализация, недели для персонажа, которым управляете вы. Вообще, факторы могут быть совершенно разные и они зависят от желания разработчика. Главное в этом деле не перестараться.

Понравилась статья? Поделиться с друзьями: